SMeshTexCoord

C++
struct SMeshTexCoord {
  float s, t;
  struct SMeshColor {
    uint8 r, g, b, a;
    struct SMeshFace {
      int v[3];
      unsigned char nSubset;
    };
    struct SMeshTangents {
      Vec4sf Tangent;
      Vec4sf Binormal;
      struct SMeshQTangents {
        Vec4sf TangentBinormal;
        struct SMeshBoneMapping_uint16 {
          BoneId boneIds[4];
          Weight weights[4];
          struct SMeshBoneMapping_uint8 {
            BoneId boneIds[4];
            Weight weights[4];
            struct SMeshSubset {
              Vec3 vCenter;
              float fRadius;
              float fTexelDensity;
              int nFirstIndexId;
              int nNumIndices;
              int nFirstVertId;
              int nNumVerts;
              int nMatID;
              int nMatFlags;
              int nPhysicalizeType;
            };
            class CMeshHelpers;
            class CMesh;
            struct IIndexedMesh {
              struct SMeshDescription {
                const SMeshFace* m_pFaces;
                const Vec3* m_pVerts;
                const Vec3f16* m_pVertsF16;
                const Vec3* m_pNorms;
                const SMeshColor* m_pColor;
                const SMeshTexCoord* m_pTexCoord;
                const vtx_idx* m_pIndices;
                int m_nFaceCount;
                int m_nVertCount;
                int m_nCoorCount;
                int m_nIndexCount;
              };
            };
          };
        };
      };
    };
  };
};
File

IIndexedMesh.h

Description

2D Texture coordinates used by CMesh.

SMeshTexCoord::SMeshColor Structure
C++
struct SMeshColor {
  uint8 r, g, b, a;
  struct SMeshFace {
    int v[3];
    unsigned char nSubset;
  };
  struct SMeshTangents {
    Vec4sf Tangent;
    Vec4sf Binormal;
    struct SMeshQTangents {
      Vec4sf TangentBinormal;
      struct SMeshBoneMapping_uint16 {
        BoneId boneIds[4];
        Weight weights[4];
        struct SMeshBoneMapping_uint8 {
          BoneId boneIds[4];
          Weight weights[4];
          struct SMeshSubset {
            Vec3 vCenter;
            float fRadius;
            float fTexelDensity;
            int nFirstIndexId;
            int nNumIndices;
            int nFirstVertId;
            int nNumVerts;
            int nMatID;
            int nMatFlags;
            int nPhysicalizeType;
          };
          class CMeshHelpers;
          class CMesh;
          struct IIndexedMesh {
            struct SMeshDescription {
              const SMeshFace* m_pFaces;
              const Vec3* m_pVerts;
              const Vec3f16* m_pVertsF16;
              const Vec3* m_pNorms;
              const SMeshColor* m_pColor;
              const SMeshTexCoord* m_pTexCoord;
              const vtx_idx* m_pIndices;
              int m_nFaceCount;
              int m_nVertCount;
              int m_nCoorCount;
              int m_nIndexCount;
            };
          };
        };
      };
    };
  };
};
File

IIndexedMesh.h

Description

RGBA Color description structure used by CMesh.

SMeshTexCoord::SMeshColor::SMeshFace Structure
C++
struct SMeshFace {
  int v[3];
  unsigned char nSubset;
};
File

IIndexedMesh.h

Members
Members
Description
int v[3];
indices to vertex, normals and optionally tangent basis arrays
unsigned char nSubset;
index to mesh subsets array.
Description

Defines a single triangle face in the CMesh topology.

SMeshTexCoord::SMeshColor::SMeshTangents Structure
C++
struct SMeshTangents {
  Vec4sf Tangent;
  Vec4sf Binormal;
  struct SMeshQTangents {
    Vec4sf TangentBinormal;
    struct SMeshBoneMapping_uint16 {
      BoneId boneIds[4];
      Weight weights[4];
      struct SMeshBoneMapping_uint8 {
        BoneId boneIds[4];
        Weight weights[4];
        struct SMeshSubset {
          Vec3 vCenter;
          float fRadius;
          float fTexelDensity;
          int nFirstIndexId;
          int nNumIndices;
          int nFirstVertId;
          int nNumVerts;
          int nMatID;
          int nMatFlags;
          int nPhysicalizeType;
        };
        class CMeshHelpers;
        class CMesh;
        struct IIndexedMesh {
          struct SMeshDescription {
            const SMeshFace* m_pFaces;
            const Vec3* m_pVerts;
            const Vec3f16* m_pVertsF16;
            const Vec3* m_pNorms;
            const SMeshColor* m_pColor;
            const SMeshTexCoord* m_pTexCoord;
            const vtx_idx* m_pIndices;
            int m_nFaceCount;
            int m_nVertCount;
            int m_nCoorCount;
            int m_nIndexCount;
          };
        };
      };
    };
  };
};
File

IIndexedMesh.h

Description

Mesh tangents (tangent space normals).

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents Structure
C++
struct SMeshQTangents {
  Vec4sf TangentBinormal;
  struct SMeshBoneMapping_uint16 {
    BoneId boneIds[4];
    Weight weights[4];
    struct SMeshBoneMapping_uint8 {
      BoneId boneIds[4];
      Weight weights[4];
      struct SMeshSubset {
        Vec3 vCenter;
        float fRadius;
        float fTexelDensity;
        int nFirstIndexId;
        int nNumIndices;
        int nFirstVertId;
        int nNumVerts;
        int nMatID;
        int nMatFlags;
        int nPhysicalizeType;
      };
      class CMeshHelpers;
      class CMesh;
      struct IIndexedMesh {
        struct SMeshDescription {
          const SMeshFace* m_pFaces;
          const Vec3* m_pVerts;
          const Vec3f16* m_pVertsF16;
          const Vec3* m_pNorms;
          const SMeshColor* m_pColor;
          const SMeshTexCoord* m_pTexCoord;
          const vtx_idx* m_pIndices;
          int m_nFaceCount;
          int m_nVertCount;
          int m_nCoorCount;
          int m_nIndexCount;
        };
      };
    };
  };
};
File

IIndexedMesh.h

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16 Structure
C++
struct SMeshBoneMapping_uint16 {
  BoneId boneIds[4];
  Weight weights[4];
  struct SMeshBoneMapping_uint8 {
    BoneId boneIds[4];
    Weight weights[4];
    struct SMeshSubset {
      Vec3 vCenter;
      float fRadius;
      float fTexelDensity;
      int nFirstIndexId;
      int nNumIndices;
      int nFirstVertId;
      int nNumVerts;
      int nMatID;
      int nMatFlags;
      int nPhysicalizeType;
    };
    class CMeshHelpers;
    class CMesh;
    struct IIndexedMesh {
      struct SMeshDescription {
        const SMeshFace* m_pFaces;
        const Vec3* m_pVerts;
        const Vec3f16* m_pVertsF16;
        const Vec3* m_pNorms;
        const SMeshColor* m_pColor;
        const SMeshTexCoord* m_pTexCoord;
        const vtx_idx* m_pIndices;
        int m_nFaceCount;
        int m_nVertCount;
        int m_nCoorCount;
        int m_nIndexCount;
      };
    };
  };
};
File

IIndexedMesh.h

Description

for skinning every vertex has 4 bones and 4 weights.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8 Structure
C++
struct SMeshBoneMapping_uint8 {
  BoneId boneIds[4];
  Weight weights[4];
  struct SMeshSubset {
    Vec3 vCenter;
    float fRadius;
    float fTexelDensity;
    int nFirstIndexId;
    int nNumIndices;
    int nFirstVertId;
    int nNumVerts;
    int nMatID;
    int nMatFlags;
    int nPhysicalizeType;
  };
  class CMeshHelpers;
  class CMesh;
  struct IIndexedMesh {
    struct SMeshDescription {
      const SMeshFace* m_pFaces;
      const Vec3* m_pVerts;
      const Vec3f16* m_pVertsF16;
      const Vec3* m_pNorms;
      const SMeshColor* m_pColor;
      const SMeshTexCoord* m_pTexCoord;
      const vtx_idx* m_pIndices;
      int m_nFaceCount;
      int m_nVertCount;
      int m_nCoorCount;
      int m_nIndexCount;
    };
  };
};
File

IIndexedMesh.h

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh Class
Class Hierarchy
C++
class CMesh;
File

IIndexedMesh.h

Description

General purpose mesh class.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::EStream Enumeration
C++
enum EStream {
  POSITIONS = 0,
  POSITIONSF16,
  NORMALS,
  FACES,
  TOPOLOGY_IDS,
  TEXCOORDS,
  COLORS_0,
  COLORS_1,
  INDICES,
  TANGENTS,
  BONEMAPPING,
  VERT_MATS,
  QTANGENTS,
  PS3EDGEDATA,
  P3S_C4B_T2S,
  EXTRABONEMAPPING,
  LAST_STREAM
};
File

IIndexedMesh.h

Members
Members
Description
EXTRABONEMAPPING
Extra stream. Does not have a stream ID in the CGF. Its data is saved at the end of the BONEMAPPING stream.
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_bbox Data Member
C++
AABB m_bbox;
Description

Bounding box.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_nCoorCount Data Member
C++
int m_nCoorCount;
Description

number of texture coordinates in m_pTexCoord array

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_nSharedStreamMask Data Member
C++
uint32 m_nSharedStreamMask;
Description

Mask that indicate if this stream is using not allocated in Mesh pointer; ex. if (m_nSharedStreamMask & (1

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_pBoneMapping Data Member
C++
SMeshBoneMapping_uint16* m_pBoneMapping;
Description

bone-mapping for the final render-mesh

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_pColor0 Data Member
C++
SMeshColor* m_pColor0;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_pColor1 Data Member
C++
SMeshColor* m_pColor1;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_pExtraBoneMapping Data Member
C++
SMeshBoneMapping_uint16* m_pExtraBoneMapping;
Description

bone indices and weights for bones 5 to 8.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_pFaces Data Member
C++
SMeshFace* m_pFaces;
Description

faces are used in mesh processing/compilation

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_pIndices Data Member
C++
vtx_idx* m_pIndices;
Description

indices are used for the final render-mesh

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_pNorms Data Member
C++
Vec3* m_pNorms;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_pP3S_C4B_T2S Data Member
C++
SVF_P3S_C4B_T2S* m_pP3S_C4B_T2S;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_pPositions Data Member
C++
Vec3* m_pPositions;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_pPositionsF16 Data Member
C++
Vec3f16* m_pPositionsF16;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_pQTangents Data Member
C++
SMeshQTangents* m_pQTangents;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_ps3EdgeData Data Member
C++
uint8 * m_ps3EdgeData;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_pTangents Data Member
C++
SMeshTangents* m_pTangents;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_pTexCoord Data Member
C++
SMeshTexCoord* m_pTexCoord;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_pTopologyIds Data Member
C++
int32* m_pTopologyIds;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_pVertMats Data Member
C++
int * m_pVertMats;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_streamSize Data Member
C++
int m_streamSize[LAST_STREAM];
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_subsets Data Member
C++
DynArray<SMeshSubset> m_subsets;
Description

Array of mesh subsets.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::m_texMappingDensity Data Member
C++
float m_texMappingDensity;
Description

Texture space area divided by geometry area. Zero if cannot compute.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::~CMesh Destructor
C++
virtual ~CMesh();
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::Append Method (CMesh&)
C++
const char* Append(const CMesh& mesh);
Description

Add streams from source mesh to the end of existing streams.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::Append Method (CMesh&, int, int, int, int)
C++
const char* Append(const CMesh& mesh, int fromVertex, int vertexCount, int fromFace, int faceCount);
Description

Add streams from source mesh to the end of existing streams.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::ApproximateRenderMeshMemoryUsage Method
C++
static uint32 ApproximateRenderMeshMemoryUsage(int nVertexCount, int nIndexCount);
Description

This function used when we do not have an actual mesh, but only vertex/index count of it.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::CMesh Constructor
C++
CMesh();
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::CompareStreams Method
C++
bool CompareStreams(const CMesh& mesh) const;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::ComputeSubsetTexMappingAreas Method
C++
bool ComputeSubsetTexMappingAreas(size_t subsetIndex, float& computedPosArea, float& computedTexArea, const char*& errorText);
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::Copy Method
C++
void Copy(const CMesh& mesh);
Description

Copy mesh from source mesh.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::EstimateRenderMeshMemoryUsage Method
C++
uint32 EstimateRenderMeshMemoryUsage() const;
Description

Estimates the size of the render mesh.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::FreeStreams Method
C++
void FreeStreams();
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::GetFaceCount Method
C++
int GetFaceCount() const;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::GetIndexCount Method
C++
int GetIndexCount() const;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::GetMemoryUsage Method
C++
void GetMemoryUsage(class ICrySizer * pSizer) const;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::GetStreamInfo Method
C++
void GetStreamInfo(int stream, void*& pStream, int& nElementSize) const;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::GetStreamPtr Method
C++
template <class T> T* GetStreamPtr(int stream, int* pElementCount = 0) const;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::GetSubSetCount Method
C++
int GetSubSetCount() const;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::GetTangentCount Method
C++
int GetTangentCount() const;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::GetTexCoordCount Method
C++
int GetTexCoordCount() const;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::GetVertexCount Method
C++
int GetVertexCount() const;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::ReallocStream Method
C++
virtual void ReallocStream(int stream, int nNewCount);
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::RecomputeTexMappingDensity Method
C++
bool RecomputeTexMappingDensity();
Notes

this function doesn't work for "old" uncompressed meshes (with faces instead of indices)

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::RemoveRangeFromStream Method
C++
void RemoveRangeFromStream(int stream, int nFirst, int nCount);
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::SetFaceCount Method
C++
void SetFaceCount(int nNewCount);
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::SetIndexCount Method
C++
void SetIndexCount(int nNewCount);
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::SetSharedStream Method
C++
void SetSharedStream(int stream, void * pStream, int nElementCount);
Description

Set specific stream as shared.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::SetTexCoordsAndTangentsCount Method
C++
void SetTexCoordsAndTangentsCount(int nNewCount);
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::SetTexCoordsCount Method
C++
void SetTexCoordsCount(int nNewCount);
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::SetVertexCount Method
C++
void SetVertexCount(int nNewCount);
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMesh::Validate Method
C++
bool Validate(const char** const ppErrorDescription) const;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMeshHelpers Class
Class Hierarchy
C++
class CMeshHelpers;
File

IIndexedMesh.h

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMeshHelpers::ComputeTexMappingAreas Method
C++
template <class TPosition, class TTexCoordinates, class TIndex> static bool ComputeTexMappingAreas(size_t indexCount, const TIndex* pIndices, size_t vertexCount, const TPosition* pPositions, size_t stridePositions, const TTexCoordinates* pTexCoords, size_t strideTexCoords, float& computedPosArea, float& computedTexArea, const char*& errorText);
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh Structure
C++
struct IIndexedMesh {
  struct SMeshDescription {
    const SMeshFace* m_pFaces;
    const Vec3* m_pVerts;
    const Vec3f16* m_pVertsF16;
    const Vec3* m_pNorms;
    const SMeshColor* m_pColor;
    const SMeshTexCoord* m_pTexCoord;
    const vtx_idx* m_pIndices;
    int m_nFaceCount;
    int m_nVertCount;
    int m_nCoorCount;
    int m_nIndexCount;
  };
};
File

IIndexedMesh.h

Description

Editable mesh interface. IndexedMesh can be created directly or loaded from CGF file, before rendering it is converted into IRenderMesh. IStatObj is used to host IIndexedMesh, and corresponding IRenderMesh.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::SMeshDescription Structure
C++
struct SMeshDescription {
  const SMeshFace* m_pFaces;
  const Vec3* m_pVerts;
  const Vec3f16* m_pVertsF16;
  const Vec3* m_pNorms;
  const SMeshColor* m_pColor;
  const SMeshTexCoord* m_pTexCoord;
  const vtx_idx* m_pIndices;
  int m_nFaceCount;
  int m_nVertCount;
  int m_nCoorCount;
  int m_nIndexCount;
};
File

IIndexedMesh.h

Members
Members
Description
const SMeshFace* m_pFaces;
pointer to array of faces
const Vec3* m_pVerts;
pointer to array of vertices in f32 format
const Vec3f16* m_pVertsF16;
pointer to array of vertices in f16 format
const Vec3* m_pNorms;
pointer to array of normals
const SMeshColor* m_pColor;
pointer to array of vertex colors
const SMeshTexCoord* m_pTexCoord;
pointer to array of texture coordinates
const vtx_idx* m_pIndices;
pointer to array of indices
int m_nFaceCount;
number of elements m_pFaces array
int m_nVertCount;
number of elements in m_pVerts, m_pNorms and m_pColor arrays
int m_nCoorCount;
number of elements in m_pTexCoord array
int m_nIndexCount;
number of elements in m_pIndices array
Description

! Structure used for read-only access to mesh data. Used by GetMesh() function

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::~IIndexedMesh Destructor
C++
virtual ~IIndexedMesh();
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::AllocateBoneMapping Method
C++
virtual void AllocateBoneMapping() = 0;
Description

Allocates m_pBoneMapping in CMesh

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::CalcBBox Method
C++
virtual void CalcBBox() = 0;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::FreeStreams Method
C++
virtual void FreeStreams() = 0;
Description

! Frees vertex and face streams. Calling this function invalidates SMeshDescription pointers

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::GetBBox Method
C++
virtual AABB GetBBox() const = 0;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::GetFaceCount Method
C++
virtual int GetFaceCount() const = 0;
Description

! Return number of allocated faces

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::GetIndexCount Method
C++
virtual int GetIndexCount() const = 0;
Description

Get number of indices in the mesh.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::GetMesh Method
C++
virtual CMesh* GetMesh() = 0;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::GetMeshDescription Method
C++
virtual void GetMeshDescription(SMeshDescription & meshDesc) const = 0;
Description

! Gives read-only access to mesh data

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::GetSubSet Method
C++
virtual const SMeshSubset& GetSubSet(int nIndex) const = 0;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::GetSubSetCount Method
C++
virtual int GetSubSetCount() const = 0;
Description

Subset access.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::GetTangentCount Method
C++
virtual int GetTangentCount() const = 0;
Description

! Return number of allocated tangents.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::GetTexCoordCount Method
C++
virtual int GetTexCoordCount() const = 0;
Description

! Return number of allocated texture coordinates

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::GetVertexCount Method
C++
virtual int GetVertexCount() const = 0;
Description

! Return number of allocated vertices, normals and colors

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::Release Method
C++
virtual void Release() = 0;
Description

Release indexed mesh.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::RestoreFacesFromIndices Method
C++
virtual void RestoreFacesFromIndices() = 0;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::SetBBox Method
C++
virtual void SetBBox(const AABB & box) = 0;
Description

Mesh bounding box.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::SetColorCount Method
C++
virtual void SetColorCount(int nNewCount) = 0;
Description

! Reallocates colors. Calling this function invalidates SMeshDescription pointers

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::SetFaceCount Method
C++
virtual void SetFaceCount(int nNewCount) = 0;
Description

! Reallocates faces. Calling this function invalidates SMeshDescription pointers

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::SetIndexCount Method
C++
virtual void SetIndexCount(int nNewCount) = 0;
Description

Set number of indices in the mesh.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::SetMesh Method
C++
virtual void SetMesh(CMesh & mesh) = 0;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::SetSubsetBounds Method
C++
virtual void SetSubsetBounds(int nIndex, const Vec3& vCenter, float fRadius) = 0;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::SetSubSetCount Method
C++
virtual void SetSubSetCount(int nSubsets) = 0;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::SetSubsetIndexVertexRanges Method
C++
virtual void SetSubsetIndexVertexRanges(int nIndex, int nFirstIndexId, int nNumIndices, int nFirstVertId, int nNumVerts) = 0;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::SetSubsetMaterialId Method
C++
virtual void SetSubsetMaterialId(int nIndex, int nMatID) = 0;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::SetSubsetMaterialProperties Method
C++
virtual void SetSubsetMaterialProperties(int nIndex, int nMatFlags, int nPhysicalizeType) = 0;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::SetTangentCount Method
C++
virtual void SetTangentCount(int nNewCount) = 0;
Description

! Reallocates tangents. Calling this function invalidates SMeshDescription pointers

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::SetTexCoordCount Method
C++
virtual void SetTexCoordCount(int nNewCount) = 0;
Description

! Reallocates texture coordinates. Calling this function invalidates SMeshDescription pointers

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::IIndexedMesh::SetVertexCount Method
C++
virtual void SetVertexCount(int nNewCount) = 0;
Description

! Reallocates vertices, normals and colors. Calling this function invalidates SMeshDescription pointers

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::SMeshSubset Structure
C++
struct SMeshSubset {
  Vec3 vCenter;
  float fRadius;
  float fTexelDensity;
  int nFirstIndexId;
  int nNumIndices;
  int nFirstVertId;
  int nNumVerts;
  int nMatID;
  int nMatFlags;
  int nPhysicalizeType;
};
File

IIndexedMesh.h

Description

Subset of mesh is a continuous range of vertices and indices that share same material.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::SMeshSubset::fRadius Data Member
C++
float fRadius;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::SMeshSubset::fTexelDensity Data Member
C++
float fTexelDensity;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::SMeshSubset::nFirstIndexId Data Member
C++
int nFirstIndexId;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::SMeshSubset::nFirstVertId Data Member
C++
int nFirstVertId;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::SMeshSubset::nMatFlags Data Member
C++
int nMatFlags;
Description

Special Material flags.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::SMeshSubset::nMatID Data Member
C++
int nMatID;
Description

Material Sub-object id.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::SMeshSubset::nNumIndices Data Member
C++
int nNumIndices;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::SMeshSubset::nNumVerts Data Member
C++
int nNumVerts;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::SMeshSubset::nPhysicalizeType Data Member
C++
int nPhysicalizeType;
Description

Type of physicalization for this subset.

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::SMeshSubset::vCenter Data Member
C++
Vec3 vCenter;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::SMeshSubset::FixRanges Method
C++
void FixRanges(vtx_idx* pIndices);
Description

fix numVerts

SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::SMeshSubset::GetMemoryUsage Method
C++
void GetMemoryUsage(class ICrySizer * pSizer) const;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::SMeshSubset::SMeshSubset Constructor
C++
SMeshSubset();
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::boneIds Data Member
C++
BoneId boneIds[4];
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::weights Data Member
C++
Weight weights[4];
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMeshHelpers::ToVec2 Method (SMeshTexCoord&)
C++
template <> inline  Vec2 CMeshHelpers::ToVec2<SMeshTexCoord>(const SMeshTexCoord& v);
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMeshHelpers::ToVec2 Method (Vec2&)
C++
template <> inline  Vec2 CMeshHelpers::ToVec2(const Vec2& v);
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::CMeshHelpers::ToVec3 Method
C++
template <> inline  Vec3 CMeshHelpers::ToVec3(const Vec3& v);
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::BoneId Nested Type
C++
typedef uint8 BoneId;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::SMeshBoneMapping_uint8::Weight Nested Type
C++
typedef uint8 Weight;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::boneIds Data Member
C++
BoneId boneIds[4];
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::weights Data Member
C++
Weight weights[4];
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::BoneId Nested Type
C++
typedef uint16 BoneId;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::SMeshBoneMapping_uint16::Weight Nested Type
C++
typedef uint8 Weight;
SMeshTexCoord::SMeshColor::SMeshTangents::SMeshQTangents::TangentBinormal Data Member
C++
Vec4sf TangentBinormal;
SMeshTexCoord::SMeshColor::SMeshTangents::Binormal Data Member
C++
Vec4sf Binormal;
SMeshTexCoord::SMeshColor::SMeshTangents::Tangent Data Member
C++
Vec4sf Tangent;
SMeshTexCoord::SMeshColor::a Data Member
C++
uint8 a;
SMeshTexCoord::SMeshColor::b Data Member
C++
uint8 b;
SMeshTexCoord::SMeshColor::g Data Member
C++
uint8 g;
SMeshTexCoord::SMeshColor::r Data Member
C++
uint8 r;
SMeshTexCoord::s Data Member
C++
float s;
SMeshTexCoord::t Data Member
C++
float t;
SMeshTexCoord::!= Operator
C++
bool operator !=(const SMeshTexCoord& other) const;
SMeshTexCoord::== Operator
C++
bool operator ==(const SMeshTexCoord& other) const;