Main Page   Class Hierarchy   Alphabetical List   Data Structures   File List   Data Fields   Globals   Related Pages  

model.h

Go to the documentation of this file.
00001 // OMICRON ENGINE HEADER FILE
00002 //
00003 // --------------------------------------------------------------------------
00004 // Copyright (C) 2001-2002 by Bjoern Paetzel <kolrabi@gmx.de>
00005 //
00006 // This file is part of the Omicron Engine.
00007 //
00008 // The Omicron Engine is free software; you can redistribute it and/or modify
00009 // it under the terms of the  GNU General Public License  as published by the
00010 // Free Software Foundation;  either version  2  of the License,  or (at your
00011 // option) any later version.
00012 //
00013 // The Omicron Engine  is distributed in the hope that it will be useful, but
00014 // WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
00015 // or  FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License
00016 // for more details.
00017 //
00018 // You should have  received a copy of the  GNU General Public License  along
00019 // with The Omicron Engine;  if not,  write to the  Free Software Foundation,
00020 // Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
00021 //
00022 // --------------------------------------------------------------------------
00023 // Last modified:       $Date: 2002/12/07 19:02:18 $
00024 // By           :       $Author: kolrabi $
00025 // $Id: model.h,v 1.1.1.1 2002/12/07 19:02:18 kolrabi Exp $ 
00026 
00027 /*
00028 
00029   $Log: model.h,v $
00030   Revision 1.1.1.1  2002/12/07 19:02:18  kolrabi
00031   initial release
00032 
00033 
00034 */
00035 
00043 /**************************************************************************** 
00044  **************************************************************************** 
00045  * TYPES ******************************************************************** 
00046  **************************************************************************** 
00047  ****************************************************************************/ 
00048 
00049 #ifndef             OMICRON_MODEL_TYPES_DEFINED 
00050 #define             OMICRON_MODEL_TYPES_DEFINED 
00051 
00052 class model_c
00054 {
00055 protected:
00056 
00057     vertex_t        *drawvertices;      
00058     int             drawvertcount;      
00059     struct shader_s *shader;            
00060 
00061 public:
00062 
00063     virtual bool                        
00064         load(const char *filename) = 0;
00065 
00066     virtual void                        
00067         unload() = 0;
00068 
00069     virtual void
00070         set_frame(float frame) = 0;     
00071 
00072     virtual void                        
00073         draw();
00074 
00075     void                                
00076         set_shader(struct shader_s *s);
00077 
00078     struct                              
00079         shader_s *get_shader();
00080 
00081     virtual ulong                       
00082         get_frame_count() = 0;
00083 
00084     virtual ~model_c() {};
00085 };
00086 
00087 #endif
00088 
00089 #include            "md2.h"
00090 #include            "kmf.h"

Generated on Wed Dec 18 15:48:47 2002 for omicron engine by doxygen1.2.18