MeshDataStructure::TMesh Class Reference

Inheritance diagram for MeshDataStructure::TMesh:
TMCObject

List of all members.

Public Member Functions

 TMesh ()
virtual ~TMesh ()
void BuildMesh (const FacetMesh *facetMesh)
void BuildMesh (const TFaceSet *faceSet)
void CreateFacetMesh (FacetMesh **outMesh, boolean needsUV, boolean needsFacetColors, boolean needsVertexColors)
void TriangulateMesh ()
void GenerateNormals ()
void HarmonizePolygonsUVs ()
void HarmonizeQuadsUVs ()
virtual void AllocateVertices (uint32 vertexCount, boolean allocateEdges, boolean allocatePolygons, boolean allocateUVs, boolean allocateNormals)
void AllocateVertexColors ()
virtual void CopyVertices (const TMesh &fromMesh)
void AllocateBarycentricCoordinates (boolean allocate)
 Adds barycentric coordinates for each vertex.
boolean HasBarycentricCoordinates () const
void AllocateEdges (int32 edgeCount)
virtual void AllocatePolygons (int32 polygonCount)
void AddPolygon (const TMCArray< TVertexUV > &vertices, const TMCArray< boolean > &edgeCrease, const int32 shadingDomainID, const boolean hidden)
void AddPolygon (const TMCArray< TVertexUV > &vertices, const int32 shadingDomainID, const boolean hidden)
void AddPolygon (const TMCArray< TVertexUV > &vertices, const TMCArray< int32 > &edges, const int32 shadingDomainID, const boolean hidden)
void AddQuad (const TMCArray< TVertexUV > &verticesUV, const TMCArray< boolean > &edgeCrease, const int32 shadingDomainID, const boolean hidden)
int32 AddEdgeLowLevel (TIndex2 &vertices, const boolean creased)
int32 AddEdge (const int32 vertexIndex0, const int32 vertexIndex1, boolean creased)
void RemovePolygon (const int32 polygonIndex)
void RemoveEdge (const int32 edgeIndex)
void CreaseEdges (const real smoothingAngle)
void InvalidateNormals ()
void SwapPolygonArray ()
void SetEdgeCount (int32 edgeCount)
int32 GetPolygonCount () const
TPolygonGetPolygon (uint32 polygonIndex)
TMCClassArray< TPolygon > & GetPolygons ()
const TPolygonGetPolygon (uint32 polygonIndex) const
int32 GetQuadCount () const
TQuadGetQuad (uint32 quadIndex)
TMCClassArray< TQuad > & GetQuads ()
const TQuadGetQuad (uint32 quadIndex) const
int32 GetEdgeCount () const
const TEdgeGetEdge (uint32 edgeIndex) const
TEdgeGetEdge (uint32 edgeIndex)
int32 GetVertexCount () const
TVertex GetVertex (uint32 vertexIndex)
TConstVertex GetVertex (uint32 vertexIndex) const
void SetWrapping (boolean wrapU, boolean wrapV)
void SetVertex (int32 index, const TVector3 &position, const TMCClassArray< TVector2 > &uv, int32 edgeCount)
TVertexArrayGetVertices ()
const TVertexArrayGetVertices () const
TMCClassArray< TEdge > & GetEdges ()
const TMCClassArray< TEdge > & GetEdges () const
TMCArray< boolean > & GetWrapping ()

Protected Member Functions

int32 AddPolygonLowLevel (const TMCArray< TVertexUV > &vertices, const int32 shadingDomainID, const boolean hidden)
virtual void AddOnePolygon ()

Protected Attributes

TVertexArray fVertices
TMCClassArray< TEdgefEdges
TMCClassArray< TPolygonfPolygons
TMCClassArray< TQuadfQuads
TMCArray< int32 > fDeletedEdges
TMCArray< int32 > fDeletedPolygons
TMCArray< booleanfWrapping
boolean fNormalsValid

Constructor & Destructor Documentation

MeshDataStructure::TMesh::TMesh (  ) 
virtual MeshDataStructure::TMesh::~TMesh (  )  [virtual]

Member Function Documentation

int32 MeshDataStructure::TMesh::AddEdge ( const int32  vertexIndex0,
const int32  vertexIndex1,
boolean  creased 
)
int32 MeshDataStructure::TMesh::AddEdgeLowLevel ( TIndex2 vertices,
const boolean  creased 
)
virtual void MeshDataStructure::TMesh::AddOnePolygon (  )  [protected, virtual]
void MeshDataStructure::TMesh::AddPolygon ( const TMCArray< TVertexUV > &  vertices,
const TMCArray< int32 > &  edges,
const int32  shadingDomainID,
const boolean  hidden 
)
void MeshDataStructure::TMesh::AddPolygon ( const TMCArray< TVertexUV > &  vertices,
const int32  shadingDomainID,
const boolean  hidden 
)
void MeshDataStructure::TMesh::AddPolygon ( const TMCArray< TVertexUV > &  vertices,
const TMCArray< boolean > &  edgeCrease,
const int32  shadingDomainID,
const boolean  hidden 
)
int32 MeshDataStructure::TMesh::AddPolygonLowLevel ( const TMCArray< TVertexUV > &  vertices,
const int32  shadingDomainID,
const boolean  hidden 
) [protected]
void MeshDataStructure::TMesh::AddQuad ( const TMCArray< TVertexUV > &  verticesUV,
const TMCArray< boolean > &  edgeCrease,
const int32  shadingDomainID,
const boolean  hidden 
)
void MeshDataStructure::TMesh::AllocateBarycentricCoordinates ( boolean  allocate  ) 

Adds barycentric coordinates for each vertex.

void MeshDataStructure::TMesh::AllocateEdges ( int32  edgeCount  ) 
virtual void MeshDataStructure::TMesh::AllocatePolygons ( int32  polygonCount  )  [virtual]
void MeshDataStructure::TMesh::AllocateVertexColors (  ) 
virtual void MeshDataStructure::TMesh::AllocateVertices ( uint32  vertexCount,
boolean  allocateEdges,
boolean  allocatePolygons,
boolean  allocateUVs,
boolean  allocateNormals 
) [virtual]
void MeshDataStructure::TMesh::BuildMesh ( const TFaceSet *  faceSet  ) 

Create a mesh object from a face set.

Parameters:
faceSet The face set
void MeshDataStructure::TMesh::BuildMesh ( const FacetMesh facetMesh  ) 

Create a mesh object from a facet mesh. Note that edges are not built

Parameters:
facetMesh The facet mesh
virtual void MeshDataStructure::TMesh::CopyVertices ( const TMesh fromMesh  )  [virtual]

Copy all the vertices of a mesh into the current mesh

Parameters:
fromMesh The mesh whose vertices are copied
void MeshDataStructure::TMesh::CreaseEdges ( const real  smoothingAngle  ) 
void MeshDataStructure::TMesh::CreateFacetMesh ( FacetMesh **  outMesh,
boolean  needsUV,
boolean  needsFacetColors,
boolean  needsVertexColors 
)

Creates a new facet mesh that corresponds to this mesh

Parameters:
outMesh The facet mesh that is created
needsUV true if the UV in the facet mesh need to be filled
needsFacetColors true if the face colors are used
needsVertexColors true if the vertex colors are used (only if it is available)
void MeshDataStructure::TMesh::GenerateNormals (  ) 

Calculates the normal of the mesh

TEdge& MeshDataStructure::TMesh::GetEdge ( uint32  edgeIndex  )  [inline]
const TEdge& MeshDataStructure::TMesh::GetEdge ( uint32  edgeIndex  )  const [inline]
int32 MeshDataStructure::TMesh::GetEdgeCount (  )  const [inline]
const TMCClassArray<TEdge>& MeshDataStructure::TMesh::GetEdges (  )  const [inline]
TMCClassArray<TEdge>& MeshDataStructure::TMesh::GetEdges (  )  [inline]
const TPolygon& MeshDataStructure::TMesh::GetPolygon ( uint32  polygonIndex  )  const [inline]
TPolygon& MeshDataStructure::TMesh::GetPolygon ( uint32  polygonIndex  )  [inline]
int32 MeshDataStructure::TMesh::GetPolygonCount (  )  const [inline]
TMCClassArray<TPolygon>& MeshDataStructure::TMesh::GetPolygons (  )  [inline]
const TQuad& MeshDataStructure::TMesh::GetQuad ( uint32  quadIndex  )  const [inline]
TQuad& MeshDataStructure::TMesh::GetQuad ( uint32  quadIndex  )  [inline]
int32 MeshDataStructure::TMesh::GetQuadCount (  )  const [inline]
TMCClassArray<TQuad>& MeshDataStructure::TMesh::GetQuads (  )  [inline]
TConstVertex MeshDataStructure::TMesh::GetVertex ( uint32  vertexIndex  )  const [inline]
TVertex MeshDataStructure::TMesh::GetVertex ( uint32  vertexIndex  )  [inline]
int32 MeshDataStructure::TMesh::GetVertexCount (  )  const [inline]
const TVertexArray& MeshDataStructure::TMesh::GetVertices (  )  const [inline]
TVertexArray& MeshDataStructure::TMesh::GetVertices (  )  [inline]
TMCArray<boolean>& MeshDataStructure::TMesh::GetWrapping (  )  [inline]
void MeshDataStructure::TMesh::HarmonizePolygonsUVs (  ) 

Make sure that the uv are coherent on all the polygons of the mesh

void MeshDataStructure::TMesh::HarmonizeQuadsUVs (  ) 
boolean MeshDataStructure::TMesh::HasBarycentricCoordinates (  )  const [inline]
void MeshDataStructure::TMesh::InvalidateNormals (  ) 
void MeshDataStructure::TMesh::RemoveEdge ( const int32  edgeIndex  ) 
void MeshDataStructure::TMesh::RemovePolygon ( const int32  polygonIndex  ) 
void MeshDataStructure::TMesh::SetEdgeCount ( int32  edgeCount  )  [inline]
void MeshDataStructure::TMesh::SetVertex ( int32  index,
const TVector3 position,
const TMCClassArray< TVector2 > &  uv,
int32  edgeCount 
)
void MeshDataStructure::TMesh::SetWrapping ( boolean  wrapU,
boolean  wrapV 
) [inline]
void MeshDataStructure::TMesh::SwapPolygonArray (  ) 
void MeshDataStructure::TMesh::TriangulateMesh (  ) 

Triangulates a mesh. Only implemented for quads right now.


Member Data Documentation


The documentation for this class was generated from the following file:
Generated on Mon Apr 26 22:48:12 2010 for Carrara SDK Doc by  doxygen 1.6.3