65 #ifndef AI_MAX_FACE_INDICES 66 # define AI_MAX_FACE_INDICES 0x7fff 72 #ifndef AI_MAX_BONE_WEIGHTS 73 # define AI_MAX_BONE_WEIGHTS 0x7fffffff 79 #ifndef AI_MAX_VERTICES 80 # define AI_MAX_VERTICES 0x7fffffff 87 # define AI_MAX_FACES 0x7fffffff 93 #ifndef AI_MAX_NUMBER_OF_COLOR_SETS 94 # define AI_MAX_NUMBER_OF_COLOR_SETS 0x8 95 #endif // !! AI_MAX_NUMBER_OF_COLOR_SETS 100 #ifndef AI_MAX_NUMBER_OF_TEXTURECOORDS 101 # define AI_MAX_NUMBER_OF_TEXTURECOORDS 0x8 102 #endif // !! AI_MAX_NUMBER_OF_TEXTURECOORDS 167 ::memcpy( mIndices, o.
mIndices, mNumIndices *
sizeof(
unsigned int));
177 bool operator== (
const aiFace& o)
const 179 if (mIndices == o.
mIndices)
return true;
183 if (mIndices[i] != o.
mIndices[i])
return false;
191 bool operator != (
const aiFace& o)
const 193 return !(*
this == o);
195 #endif // __cplusplus 220 : mVertexId( pID), mWeight( pWeight)
223 #endif // __cplusplus 261 : mName( other.
mName )
277 #endif // __cplusplus 330 #define AI_PRIMITIVE_TYPE_FOR_N_INDICES(n) \ 331 ((n) > 3 ? aiPrimitiveType_POLYGON : (aiPrimitiveType)(1u << ((n)-1))) 392 , mBitangents( NULL )
398 mTextureCoords[a] = NULL;
410 delete [] mBitangents;
412 delete [] mTextureCoords[a];
415 delete [] mColors[a];
421 bool HasPositions()
const {
422 return mVertices != NULL;
427 bool HasNormals()
const {
428 return mNormals != NULL;
434 bool HasTangentsAndBitangents()
const {
435 return mTangents != NULL;
441 bool HasVertexColors(
unsigned int pIndex)
const {
448 bool HasTextureCoords(
unsigned int pIndex)
const {
648 : mPrimitiveTypes( 0 )
654 , mBitangents( NULL )
658 , mMaterialIndex( 0 )
659 , mNumAnimMeshes( 0 )
660 , mAnimMeshes( NULL )
665 mNumUVComponents[a] = 0;
666 mTextureCoords[a] = NULL;
679 delete [] mBitangents;
681 delete [] mTextureCoords[a];
684 delete [] mColors[a];
688 if (mNumBones && mBones) {
689 for(
unsigned int a = 0; a < mNumBones; a++) {
695 if (mNumAnimMeshes && mAnimMeshes) {
696 for(
unsigned int a = 0; a < mNumAnimMeshes; a++) {
697 delete mAnimMeshes[a];
699 delete [] mAnimMeshes;
707 bool HasPositions()
const 708 {
return mVertices != NULL && mNumVertices > 0; }
712 bool HasFaces()
const 713 {
return mFaces != NULL && mNumFaces > 0; }
716 bool HasNormals()
const 717 {
return mNormals != NULL && mNumVertices > 0; }
723 bool HasTangentsAndBitangents()
const 724 {
return mTangents != NULL && mBitangents != NULL && mNumVertices > 0; }
728 bool HasVertexColors(
unsigned int pIndex)
const 733 return mColors[pIndex] != NULL && mNumVertices > 0;
738 bool HasTextureCoords(
unsigned int pIndex)
const 743 return mTextureCoords[pIndex] != NULL && mNumVertices > 0;
747 unsigned int GetNumUVChannels()
const 755 unsigned int GetNumColorChannels()
const 763 inline bool HasBones()
const 764 {
return mBones != NULL && mNumBones > 0; }
766 #endif // __cplusplus 772 #endif // AI_MESH_H_INC Interpolation between morph targets.
Definition: mesh.h:461
unsigned int mPrimitiveTypes
Bitwise combination of the members of the aiPrimitiveType enum.
Definition: mesh.h:503
float mWeight
The strength of the influence in the range (0...1).
Definition: mesh.h:209
A triangular primitive.
Definition: mesh.h:309
C_STRUCT aiString mName
The name of the bone.
Definition: mesh.h:237
Basic data types and primitives, such as vectors or colors.
Normalized morphing between morph targets.
Definition: mesh.h:464
Definition: matrix4x4.h:269
#define AI_MAX_NUMBER_OF_COLOR_SETS
Supported number of vertex color sets per mesh.
Definition: mesh.h:94
enum aiMorphingMethod
Definition: mesh.h:496
float mWeight
Weight of the AnimMesh.
Definition: mesh.h:384
unsigned int mNumVertices
The number of vertices in the aiAnimMesh, and thus the length of all the member arrays.
Definition: mesh.h:379
NOT CURRENTLY IN USE.
Definition: mesh.h:346
#define AI_MAX_NUMBER_OF_TEXTURECOORDS
Supported number of texture coord sets (UV(W) channels) per mesh.
Definition: mesh.h:101
A single bone of a mesh.
Definition: mesh.h:234
unsigned int mMaterialIndex
The material used by this mesh.
Definition: mesh.h:614
aiMorphingMethod
Enumerates the methods of mesh morphing supported by Assimp.
Definition: mesh.h:458
unsigned int mNumBones
The number of bones this mesh contains.
Definition: mesh.h:601
Relative morphing between morph targets.
Definition: mesh.h:467
This value is not used.
Definition: mesh.h:325
A higher-level polygon with more than 3 edges.
Definition: mesh.h:318
unsigned int * mIndices
Pointer to the indices array. Size of the array is given in numIndices.
Definition: mesh.h:133
A single face in a mesh, referring to multiple vertices.
Definition: mesh.h:126
Represents an UTF-8 string, zero byte terminated.
Definition: types.h:252
unsigned int mMethod
Method of morphing when animeshes are specified.
Definition: mesh.h:642
unsigned int mNumAnimMeshes
The number of attachment meshes.
Definition: mesh.h:631
A line primitive.
Definition: mesh.h:303
Definition: vector3.h:135
C_STRUCT aiVertexWeight * mWeights
The vertices affected by this bone.
Definition: mesh.h:244
aiPrimitiveType
Enumerates the types of geometric primitives supported by Assimp.
Definition: mesh.h:289
unsigned int mNumIndices
Number of indices defining this face.
Definition: mesh.h:130
A single influence of a bone on a vertex.
Definition: mesh.h:202
unsigned int mNumVertices
The number of vertices in this mesh.
Definition: mesh.h:509
unsigned int mNumWeights
The number of vertices affected by this bone The maximum value for this member is AI_MAX_BONE_WEIGHTS...
Definition: mesh.h:241
unsigned int mNumFaces
The number of primitives (triangles, polygons, lines) in this mesh.
Definition: mesh.h:515
unsigned int mVertexId
Index of the vertex which is influenced by the bone.
Definition: mesh.h:205
C_STRUCT aiMatrix4x4 mOffsetMatrix
Matrix that transforms from mesh space to bone space in bind pose.
Definition: mesh.h:247
A point primitive.
Definition: mesh.h:296
This value is not used.
Definition: mesh.h:473