Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
W3DShadowGeometryMesh Class Reference

Public Member Functions

 W3DShadowGeometryMesh (void)
 
 ~W3DShadowGeometryMesh (void)
 
const Vector3GetPolygonNormal (long dwPolyNormId) const
 
int GetNumPolygon (void) const
 
void buildPolygonNeighbors (void)
 given loaded geometry this builds the polygon neighbor information
 
void buildPolygonNormals (void)
 

Protected Member Functions

Vector3buildPolygonNormal (long dwPolyNormId, Vector3 *pvNorm) const
 
Bool allocateNeighbors (Int numPolys)
 creating and deleting storage for the polygon neighbors
 
void deleteNeighbors (void)
 
PolyNeighborGetPolyNeighbor (Int polyIndex)
 
int GetNumVertex (void) const
 
void GetPolygonIndex (long dwPolyId, short *psIndexList) const
 Get indices to the 3 vertices of this face.
 
const Vector3GetVertex (int dwVertId) const
 

Protected Attributes

MeshClassm_mesh
 W3D mesh for this geometry.
 
Int m_meshRobjIndex
 index of this mesh within hlod robj
 
const Vector3m_verts
 array of vertices
 
Vector3m_polygonNormals
 array of face normals
 
Int m_numVerts
 number of actual vertices after duplicates are removed.
 
Int m_numPolygons
 number of polygons in source geometry
 
const TriIndexm_polygons
 array of 3 vertex indices per face
 
UnsignedShortm_parentVerts
 
PolyNeighborm_polyNeighbors
 the neighbor info indexed by polygon id
 
Int m_numPolyNeighbors
 
W3DShadowGeometrym_parentGeometry
 

Friends

class W3DShadowGeometry
 
class W3DVolumetricShadow
 

Detailed Description

This class holds original mesh specific data and geometry. The meshes stored in this class have been cleaned to remove replicated vertices and also cache mesh data needed for faster silhouette computation. A model can contain many meshes for which we need to store separate data so they can move relative to each other.

Definition at line 271 of file W3DVolumetricShadow.cpp.

Constructor & Destructor Documentation

◆ W3DShadowGeometryMesh()

W3DShadowGeometryMesh::W3DShadowGeometryMesh ( void )

Definition at line 897 of file W3DVolumetricShadow.cpp.

◆ ~W3DShadowGeometryMesh()

W3DShadowGeometryMesh::~W3DShadowGeometryMesh ( void )

Definition at line 908 of file W3DVolumetricShadow.cpp.

Member Function Documentation

◆ allocateNeighbors()

Bool W3DShadowGeometryMesh::allocateNeighbors ( Int numPolys)
protected

creating and deleting storage for the polygon neighbors

Definition at line 1134 of file W3DVolumetricShadow.cpp.

◆ buildPolygonNeighbors()

void W3DShadowGeometryMesh::buildPolygonNeighbors ( void )

given loaded geometry this builds the polygon neighbor information

Definition at line 948 of file W3DVolumetricShadow.cpp.

◆ buildPolygonNormal()

Vector3 * W3DShadowGeometryMesh::buildPolygonNormal ( long dwPolyNormId,
Vector3 * pvNorm ) const
inlineprotected

Definition at line 306 of file W3DVolumetricShadow.cpp.

◆ buildPolygonNormals()

void W3DShadowGeometryMesh::buildPolygonNormals ( void )
inline

Definition at line 293 of file W3DVolumetricShadow.cpp.

◆ deleteNeighbors()

void W3DShadowGeometryMesh::deleteNeighbors ( void )
protected

Definition at line 1162 of file W3DVolumetricShadow.cpp.

◆ GetNumPolygon()

int W3DShadowGeometryMesh::GetNumPolygon ( void ) const
inline

Definition at line 290 of file W3DVolumetricShadow.cpp.

◆ GetNumVertex()

int W3DShadowGeometryMesh::GetNumVertex ( void ) const
inlineprotected

Definition at line 340 of file W3DVolumetricShadow.cpp.

◆ GetPolygonIndex()

void W3DShadowGeometryMesh::GetPolygonIndex ( long dwPolyId,
short * psIndexList ) const
inlineprotected

Get indices to the 3 vertices of this face.

Definition at line 345 of file W3DVolumetricShadow.cpp.

◆ GetPolygonNormal()

const Vector3 & W3DShadowGeometryMesh::GetPolygonNormal ( long dwPolyNormId) const
inline
Todo
: Cache/Store face normals someplace so they are not recomputed when lights move.

Definition at line 285 of file W3DVolumetricShadow.cpp.

◆ GetPolyNeighbor()

PolyNeighbor * W3DShadowGeometryMesh::GetPolyNeighbor ( Int polyIndex)
protected

Definition at line 923 of file W3DVolumetricShadow.cpp.

◆ GetVertex()

const Vector3 & W3DShadowGeometryMesh::GetVertex ( int dwVertId) const
inlineprotected

Definition at line 354 of file W3DVolumetricShadow.cpp.

Friends And Related Symbol Documentation

◆ W3DShadowGeometry

friend class W3DShadowGeometry
friend

Definition at line 274 of file W3DVolumetricShadow.cpp.

◆ W3DVolumetricShadow

friend class W3DVolumetricShadow
friend

Definition at line 275 of file W3DVolumetricShadow.cpp.

Member Data Documentation

◆ m_mesh

MeshClass* W3DShadowGeometryMesh::m_mesh
protected

W3D mesh for this geometry.

Definition at line 359 of file W3DVolumetricShadow.cpp.

◆ m_meshRobjIndex

Int W3DShadowGeometryMesh::m_meshRobjIndex
protected

index of this mesh within hlod robj

Definition at line 360 of file W3DVolumetricShadow.cpp.

◆ m_numPolygons

Int W3DShadowGeometryMesh::m_numPolygons
protected

number of polygons in source geometry

Definition at line 364 of file W3DVolumetricShadow.cpp.

◆ m_numPolyNeighbors

Int W3DShadowGeometryMesh::m_numPolyNeighbors
protected

Definition at line 369 of file W3DVolumetricShadow.cpp.

◆ m_numVerts

Int W3DShadowGeometryMesh::m_numVerts
protected

number of actual vertices after duplicates are removed.

Definition at line 363 of file W3DVolumetricShadow.cpp.

◆ m_parentGeometry

W3DShadowGeometry* W3DShadowGeometryMesh::m_parentGeometry
protected

Definition at line 371 of file W3DVolumetricShadow.cpp.

◆ m_parentVerts

UnsignedShort* W3DShadowGeometryMesh::m_parentVerts
protected

array of parent vertex indices for each vertex.

Definition at line 366 of file W3DVolumetricShadow.cpp.

◆ m_polygonNormals

Vector3* W3DShadowGeometryMesh::m_polygonNormals
protected

array of face normals

Definition at line 362 of file W3DVolumetricShadow.cpp.

◆ m_polygons

const TriIndex* W3DShadowGeometryMesh::m_polygons
protected

array of 3 vertex indices per face

Definition at line 365 of file W3DVolumetricShadow.cpp.

◆ m_polyNeighbors

PolyNeighbor* W3DShadowGeometryMesh::m_polyNeighbors
protected

the neighbor info indexed by polygon id

Definition at line 368 of file W3DVolumetricShadow.cpp.

◆ m_verts

const Vector3* W3DShadowGeometryMesh::m_verts
protected

array of vertices

Definition at line 361 of file W3DVolumetricShadow.cpp.


The documentation for this class was generated from the following file: