FacetMesh Struct Reference
[Data Structures]

Inheritance diagram for FacetMesh:

TMCSMPCountedObject IMCUnknown List of all members.

Public Member Functions

void Clone (FacetMesh **clone)
void Append (const FacetMesh &mesh)
boolean IsEdgeListInvalid () const
void MarkEdgeListInvalid ()
boolean IsPolygonEqnListInvalid () const
void MarkPolygonEqnListInvalid ()
void CalcPolygonEqnList ()
 calculate the list of plane equations
uint32 VerticesNbr () const
uint32 FacetsNbr () const
void SetVerticesCount (const uint32 numVertices)
void SetFacetsCount (const uint32 numFacets)
void CalcBBox (TBBox3D &bBox)
 computes the bounding box of the mesh
void BuildEdgeList ()
void ReorderFacetsByUVSpaceID (uint32 uvSpaceCount)
TFacetMeshRenderFlags GetRenderFlags ()
void SetRenderFlags (TFacetMeshRenderFlags renderFlags)

Static Public Member Functions

void Create (FacetMesh **outMesh)

Public Attributes

TMCArray< Triangle > fFacets
 facets containing 3 indexes to the points in fVertices
TMCArray< uint32 > fUVSpaceID
 UVspace ID at each facet.
TMCArray< TVector3 > fVertices
 positions of points
TMCArray< TVector3 > fNormals
 normals at the vertices
TMCArray< TVector2 > fuv
 uv space coordinates at each vertices
TMCArray< TVector3 > fTextureUVW
 solid texture coordinates to clamp procedurals/projections (unsupported)
TMCArray< TMCColorRGBA8 > fPolygonColors
TMCArray< TMCColorRGBA8 > fPolygonBackColors
TMCArray< TVector4 > fPolygonEqns
TEdgeList fEdgeList
TFacetMeshRenderFlags fRenderFlags
TMCCountedPtrArray< TFacetCache > fRenderCaches

Protected Member Functions

 FacetMesh ()
 ~FacetMesh ()

Detailed Description

structure representing a facet mesh, a representation for triangular polygon data using corresponding arrays of data. Note the several more routines in PublicUtilities.h for managing facet meshes. Be careful about maintaining the polygon equation and edge lists.


Constructor & Destructor Documentation

FacetMesh::FacetMesh (   )  [inline, protected]
 

FacetMesh::~FacetMesh (   )  [inline, protected]
 


Member Function Documentation

void FacetMesh::Append (  const FacetMesh &  mesh  ) 
 

void FacetMesh::BuildEdgeList (   ) 
 

builds the list of edges for the mesh if the list is already up to date, nothing is done.

void FacetMesh::CalcBBox (  TBBox3D &  bBox  )  [inline]
 

computes the bounding box of the mesh

void FacetMesh::CalcPolygonEqnList (   )  [inline]
 

calculate the list of plane equations

void FacetMesh::Create (  FacetMesh **  outMesh  )  [inline, static]
 

uint32 FacetMesh::FacetsNbr (   )  const [inline]
 

TFacetMeshRenderFlags FacetMesh::GetRenderFlags (   )  [inline]
 

boolean FacetMesh::IsEdgeListInvalid (   )  const [inline]
 

you must call this routine any time the facets change, the edge generators rely on this to generate the edge lists

boolean FacetMesh::IsPolygonEqnListInvalid (   )  const [inline]
 

you must call this routine any time the facets change, the plane generators rely on this to generate the polygon equations

void FacetMesh::MarkEdgeListInvalid (   )  [inline]
 

void FacetMesh::MarkPolygonEqnListInvalid (   )  [inline]
 

void FacetMesh::ReorderFacetsByUVSpaceID (  uint32  uvSpaceCount  ) 
 

void FacetMesh::SetFacetsCount (  const uint32  numFacets  )  [inline]
 

void FacetMesh::SetRenderFlags (  TFacetMeshRenderFlags  renderFlags  )  [inline]
 

void FacetMesh::SetVerticesCount (  const uint32  numVertices  )  [inline]
 

uint32 FacetMesh::VerticesNbr (   )  const [inline]
 


Member Data Documentation

TEdgeList FacetMesh::fEdgeList
 

TMCArray<Triangle> FacetMesh::fFacets
 

facets containing 3 indexes to the points in fVertices

TMCArray<TVector3> FacetMesh::fNormals
 

normals at the vertices

TMCArray<TMCColorRGBA8> FacetMesh::fPolygonBackColors
 

TMCArray<TMCColorRGBA8> FacetMesh::fPolygonColors
 

TMCArray<TVector4> FacetMesh::fPolygonEqns
 

these are the plane equations for the polygons (a combo of unit normal and plane coeff) we use the plane eqn of the form for compute the plane coeff A x + B y + C z + D = 0

TMCCountedPtrArray<TFacetCache> FacetMesh::fRenderCaches
 

TFacetMeshRenderFlags FacetMesh::fRenderFlags
 

TMCArray<TVector3> FacetMesh::fTextureUVW
 

solid texture coordinates to clamp procedurals/projections (unsupported)

TMCArray<TVector2> FacetMesh::fuv
 

uv space coordinates at each vertices

TMCArray<uint32> FacetMesh::fUVSpaceID
 

UVspace ID at each facet.

TMCArray<TVector3> FacetMesh::fVertices
 

positions of points


The documentation for this struct was generated from the following file:
Generated on Mon Mar 14 12:29:00 2005 for Carrara SDK Doc by  doxygen 1.3.9.1