55 unsigned int m_materialId;
65 inline unsigned int getBegin(
void) {
return m_begin; }
66 inline unsigned int getSize(
void) {
return m_size; }
77 inline void setVisibility(
bool visibility) { m_visibility = visibility; }
78 inline bool isVisible(
void) {
return m_visibility; }
80 inline unsigned int*
getVAO() {
return &m_vao; }
101 unsigned int m_indicesSize;
102 unsigned int m_verticesSize;
103 unsigned int m_normalsSize;
104 unsigned int m_tangentsSize;
105 unsigned int m_texCoordsSize;
106 unsigned int m_colorsSize;
122 unsigned int m_vboId1;
123 unsigned int m_vboId2;
127 map<unsigned int, unsigned int> m_mapChannelsOffset;
130 unsigned int m_displaysNumber;
138 void clearMorphingData(
void);
143 void clearSkinData(
void);
148 void clearIndices(
void);
149 void clearVertices(
void);
150 void clearNormals(
void);
151 void clearTangents(
void);
152 void clearTexCoords(
void);
153 void clearColors(
void);
155 void *allocIndices(
unsigned int size,
VAR_TYPES type);
156 Color *allocColors(
unsigned int size);
157 Vector3 *allocVertices(
unsigned int size);
158 Vector3 *allocNormals(
unsigned int size);
159 Vector3 *allocTangents(
unsigned int size);
160 Vector2 *allocTexCoords(
unsigned int size);
184 *(((
unsigned int*) m_indices) + idx)
185 : *(((
unsigned short*) m_indices) + idx); }
193 void clearMapChannelOffset(
void);
194 void setMapChannelOffset(
unsigned int channel,
unsigned int offset);
195 bool isMapChannelExist(
unsigned int channel);
196 unsigned int getMapChannelOffset(
unsigned int channel);
200 return &m_mapChannelsOffset;
204 void allocDisplays(
unsigned int size);
205 void clearDisplays(
void);
207 unsigned int begin,
unsigned int size);
213 return m_displays[id];
220 bool hasTransparency(
void);
255 static Mesh * getNew(
void);
265 unsigned int m_animsRangesNumber;
281 unsigned int m_texturesNumber;
285 unsigned int m_materialsNumber;
289 unsigned int m_subMeshsNumber;
301 void clearAnimsRanges(
void);
302 AnimRange *allocAnimsRanges(
unsigned int size);
310 return m_animsRangesNumber;
327 m_armatureAnimRef = armatureAnimRef;
337 return m_armatureAnimRef;
345 m_texturesAnimRef = texturesAnimRef;
349 return m_texturesAnimRef;
362 m_materialsAnimRef = materialsAnimRef;
372 return m_materialsAnimRef;
378 void clearArmature(
void);
383 void allocTextures(
unsigned int size);
384 void clearTextures(
void);
393 void allocMaterials(
unsigned int size);
398 void clearMaterials(
void);
420 void clearSubMeshs(
void);
421 SubMesh *allocSubMeshs(
unsigned int size);
431 void updateBoundingBox(
void);
map< unsigned int, unsigned int > * getMapChannelOffsets(void)
Definition: Mesh.h:198
Definition: SkinData.h:66
PRIMITIVE_TYPES
Definition: RenderingContext.h:64
Vector3 * getVertices(void)
Definition: Mesh.h:173
VAR_TYPES getIndicesType(void)
Definition: Mesh.h:169
void * getIndices(void)
Definition: Mesh.h:170
unsigned int getTangentsSize(void)
Definition: Mesh.h:165
unsigned int * getVAO()
Definition: Mesh.h:80
bool isVisible(void)
Definition: Mesh.h:78
Vector2 * getTexCoords(void)
Definition: Mesh.h:176
MaterialDisplay * getDisplay(unsigned int id)
Definition: Mesh.h:211
Definition: MaterialsAnim.h:31
unsigned int * getVBOid2(void)
Definition: Mesh.h:190
Definition: MorphingData.h:82
Color * getColors(void)
Definition: Mesh.h:172
CULL_MODES
Definition: RenderingContext.h:131
Definition: Armature.h:32
Definition: TexturesAnim.h:31
Definition: MaterialsAnimRef.h:32
unsigned int getIndex(size_t idx)
Definition: Mesh.h:183
The Material class contains the implementation of a material used by 3D meshes for rendering differen...
Definition: Material.h:118
Definition: ArmatureAnimRef.h:32
unsigned int getColorsSize(void)
Definition: Mesh.h:167
Implements a range data structure.
Definition: Maths.h:76
int loops
How should the animation loop.
Definition: Mesh.h:233
Vector3 * getSkinNormals(void)
Definition: Mesh.h:179
void setVisibility(bool visibility)
Definition: Mesh.h:77
unsigned int getAnimsRangesNumber(void)
Returns the number of animation ranges.
Definition: Mesh.h:308
unsigned int getBegin(void)
Definition: Mesh.h:65
Definition: RenderingContext.h:148
void setCullMode(CULL_MODES cullMode)
Definition: Mesh.h:69
Vector3 * getNormals(void)
Definition: Mesh.h:174
ArmatureAnimRef * getArmatureAnimRef(void)
Returns the current armature animation reference.
Definition: Mesh.h:335
Vector3 * getVertex(size_t idx)
Definition: Mesh.h:182
void setMaterial(Material *material)
Definition: Mesh.h:73
unsigned int getMaterialsNumber(void)
Returns the number of currently active materials.
Definition: Mesh.h:411
unsigned int getTexCoordsSize(void)
Definition: Mesh.h:166
Box3d * getBoundingBox(void)
Definition: Mesh.h:217
AnimRange * getAnimsRanges(void)
Returns the array of animation ranges.
Definition: Mesh.h:317
SubMesh * getSubMesh(size_t idx)
Definition: Mesh.h:425
TexturesAnimRef * getTexturesAnimRef(void)
Definition: Mesh.h:347
MaterialsAnimRef * getMaterialsAnimRef(void)
Returns the current material animation reference.
Definition: Mesh.h:370
void setArmatureAnimRef(ArmatureAnimRef *armatureAnimRef)
Sets the armature reference.
Definition: Mesh.h:325
AnimRange(void)
Definition: Mesh.h:230
SkinData * getSkinData(void)
Definition: Mesh.h:145
void setMaterialId(unsigned int id)
Definition: Mesh.h:82
Texture * getTexture(unsigned int id)
Definition: Mesh.h:387
Material * getMaterial(void)
Definition: Mesh.h:74
void setTexturesAnimRef(TexturesAnimRef *texturesAnimRef)
Definition: Mesh.h:343
unsigned int getDisplaysNumber(void)
Definition: Mesh.h:209
PRIMITIVE_TYPES getPrimitiveType(void)
Definition: Mesh.h:64
unsigned int getSize(void)
Definition: Mesh.h:66
unsigned int getSubMeshsNumber(void)
Definition: Mesh.h:422
Armature * getArmature(void)
Definition: Mesh.h:380
unsigned int getTexturesNumber(void)
Definition: Mesh.h:386
Definition: TextureRef.h:32
Vector3 * getSkinVertices(void)
Definition: Mesh.h:178
Vector3 * getSkinTangents(void)
Definition: Mesh.h:180
unsigned int getIndicesSize(void)
Definition: Mesh.h:162
unsigned int getVerticesSize(void)
Definition: Mesh.h:163
unsigned int getMaterialId()
Definition: Mesh.h:83
The Mesh class contains the implementation of a generic (i.e. file format agnostic) 3D mesh with supp...
Definition: Mesh.h:241
unsigned int * getVBOid1(void)
Definition: Mesh.h:189
void setMaterialsAnimRef(MaterialsAnimRef *materialsAnimRef)
Sets the material animation reference.
Definition: Mesh.h:360
unsigned int getNormalsSize(void)
Definition: Mesh.h:164
CULL_MODES getCullMode(void)
Definition: Mesh.h:70
VAR_TYPES
Definition: RenderingContext.h:140
Definition: TexturesAnimRef.h:32
Vector3 * getTangents(void)
Definition: Mesh.h:175
SubMesh * getSubMeshs(void)
Definition: Mesh.h:423
Material * getMaterial(unsigned int id)
Retrieves a specific material from the internal array.
Definition: Mesh.h:418
Definition: ArmatureAnim.h:31
Describes a Range in an animation starting at a certain frame and ending at another certain frame...
Definition: Mesh.h:227
MorphingData * getMorphingData(void)
Definition: Mesh.h:140
Box3d * getBoundingBox(void)
Returns the current bounding box.
Definition: Mesh.h:438