29 #ifndef M_STATIC_MODEL_H
30 #define M_STATIC_MODEL_H
41 #define M_SNAP_RANGE (M_UNIT*0.05)
42 #define M_SNAP_RANGE_Z (M_UNIT*0.05)
47 M_BOOL _bLightweightInstance;
49 laPoint3 *_arFlatVertex;
50 laPoint3 *_arFlatNormal;
52 unsigned _nFlatVertex;
55 inline void _bend(laPoint3 *arv, laPoint3 *arn);
56 inline void _rotate(laPoint3 *arv, laPoint3 *arn);
57 inline void _offset(laPoint3 *arv, laPoint3 *arn);
59 void _cache_save(FILE* f);
60 void _cache_load(FILE* f);
74 _bLightweightInstance = M_TRUE;
76 _arFlatVertex = pInstanceOf->_arFlatVertex;
77 _arFlatNormal = pInstanceOf->_arFlatNormal;
78 _arFlatTex = pInstanceOf->_arFlatTex;
80 _nFlatVertex = pInstanceOf->_nFlatVertex;
82 _nTex = pInstanceOf->_nTex;
83 _bEmissive = pInstanceOf->_bEmissive;
84 _nShininess = pInstanceOf->_nShininess;
87 inline bool isLightweight() {
return _bLightweightInstance; }
89 virtual char* strTexture() {
return _strTex; };
90 virtual unsigned vertexCount() {
return _nFlatVertex; };
92 virtual laPoint3 boundaryMin();
93 virtual laPoint3 boundaryMax();
95 void create(
unsigned nFaceCnt);
96 virtual bool load(
char* strFile);
97 virtual void load(
class laFileParser *fp,
unsigned nf,
unsigned nv,
unsigned ntv);
98 virtual void discard();
105 virtual void edScale(laPoint3 sz);
106 virtual void edTranslate(laPoint3 pos);
107 virtual void edNormalize();
108 virtual void edMinaxis();
109 virtual void edMaxaxis();
110 virtual void edCentralize();
111 virtual void edSnap();
112 virtual void edSortZ();
Abstract Interface for 3D Models.
Multi-state Level Object.
Virtual interface for the Engine graphics renderer.