Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

indexVertex Class Reference

#include <meshBase.h>

Collaboration diagram for indexVertex:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 indexVertex ()
U32 getVertexIndex ()
U32 getNormalIndex ()
U32 getTangentIndex ()
U32 getTexCoordIndex (U32 texCoordIndex)
void setNormalIndex (U32 normalIndex)
void setTangentIndex (U32 tangentIndex)
void setTexCoordIndex (U32 texCoordIndex, U32 w)
U32 getValence ()
U32 getNumberOfAdjacentFaces ()
void addFaceAdjacency (U32 faceIndex)
void addVertexAdjacency (U32 vertexIndex)
gmVector3 & getAdjVertex (U32 vertexIndex)
U32 getAdjVertexIndex (U32 vertexIndex)
gmVector3 & getAdjVertexNormal (U32 normalIndex)
indexFacegetAdjacentFace (U32 faceIndex)
U32 getAdjacentFaceIndex (U32 faceIndex)
indexEdgegetEdge (U32 edgeIndex)
bool hasArbitraryIndex ()
void setArbitraryIndex (U32 index)
U32 getArbitraryIndex ()

Private Member Functions

void sortVertexAdjacencies ()

Private Attributes

Meshm_pMesh
U32 m_tangentIndex
U32 m_normalIndex
U32 m_texCoordIndex0
U32 m_texCoordIndex1
U32 m_texCoordIndex2
U32 m_texCoordIndex3
bool m_vertexAdjSorted
Narray< U32m_adjVertexList
Narray< U32m_adjFaceList
bool m_hasArbitraryIndex
U32 m_arbitraryIndex

Friends

class Mesh

Constructor & Destructor Documentation

indexVertex::indexVertex  ) 
 

Definition at line 15 of file indexVertex.h.

References m_hasArbitraryIndex, m_pMesh, and m_vertexAdjSorted.


Member Function Documentation

void indexVertex::addFaceAdjacency U32  faceIndex  )  [inline]
 

Definition at line 36 of file indexVertex.h.

References m_adjFaceList, m_vertexAdjSorted, and U32.

void indexVertex::addVertexAdjacency U32  vertexIndex  )  [inline]
 

Definition at line 45 of file indexVertex.h.

References m_adjVertexList, m_hasArbitraryIndex, and U32.

indexFace & indexVertex::getAdjacentFace U32  faceIndex  )  [inline]
 

Definition at line 78 of file indexVertex.h.

References m_adjFaceList, Mesh::m_faceList, m_pMesh, m_vertexAdjSorted, sortVertexAdjacencies(), and U32.

U32 indexVertex::getAdjacentFaceIndex U32  faceIndex  )  [inline]
 

Definition at line 89 of file indexVertex.h.

References getEdge(), indexEdge::getFaceIndex(), m_adjFaceList, m_vertexAdjSorted, sortVertexAdjacencies(), and U32.

gmVector3 & indexVertex::getAdjVertex U32  vertexIndex  )  [inline]
 

Definition at line 56 of file indexVertex.h.

References Mesh::getVertex(), m_adjVertexList, m_pMesh, m_vertexAdjSorted, sortVertexAdjacencies(), and U32.

Referenced by loopSubdivision::subdivide().

U32 indexVertex::getAdjVertexIndex U32  vertexIndex  )  [inline]
 

Definition at line 67 of file indexVertex.h.

References m_adjVertexList, m_vertexAdjSorted, sortVertexAdjacencies(), and U32.

gmVector3 & indexVertex::getAdjVertexNormal U32  normalIndex  )  [inline]
 

Definition at line 123 of file indexVertex.h.

References Mesh::getIndexVertex(), Mesh::getNormal(), getNormalIndex(), m_adjVertexList, m_pMesh, m_vertexAdjSorted, sortVertexAdjacencies(), and U32.

Referenced by loopSubdivision::subdivide().

U32 indexVertex::getArbitraryIndex  )  [inline]
 

Definition at line 230 of file indexVertex.h.

References m_arbitraryIndex, m_hasArbitraryIndex, and U32.

Referenced by loopSubdivision::subdivide(), and CatmullClarkSubdivision::subdivide().

indexEdge & indexVertex::getEdge U32  edgeIndex  )  [inline]
 

Definition at line 110 of file indexVertex.h.

References edge, getVertexIndex(), m_adjVertexList, Mesh::m_edgeList, m_pMesh, m_vertexAdjSorted, sortVertexAdjacencies(), and U32.

Referenced by getAdjacentFaceIndex().

U32 indexVertex::getNormalIndex  )  [inline]
 

Definition at line 173 of file indexVertex.h.

References m_normalIndex, and U32.

Referenced by getAdjVertexNormal(), indexEdge::getNormalA(), indexEdge::getNormalB(), indexEdge::getNormalIndexA(), indexEdge::getNormalIndexB(), midedgeSubdivision::subdivide(), loopSubdivision::subdivide(), Kobelt::subdivide(), and ButterflySubdivision::subdivide().

U32 indexVertex::getNumberOfAdjacentFaces  )  [inline]
 

Definition at line 29 of file indexVertex.h.

References m_adjFaceList, and U32.

U32 indexVertex::getTangentIndex  )  [inline]
 

Definition at line 179 of file indexVertex.h.

References m_tangentIndex, and U32.

U32 indexVertex::getTexCoordIndex U32  texCoordIndex  )  [inline]
 

Definition at line 185 of file indexVertex.h.

References m_texCoordIndex0, m_texCoordIndex1, m_texCoordIndex2, m_texCoordIndex3, and U32.

U32 indexVertex::getValence  )  [inline]
 

Definition at line 23 of file indexVertex.h.

References m_adjVertexList, and U32.

Referenced by loopSubdivision::subdivide(), and Kobelt::subdivide().

U32 indexVertex::getVertexIndex  )  [inline]
 

Definition at line 167 of file indexVertex.h.

References Mesh::m_indexVertexList, m_pMesh, and U32.

Referenced by getEdge(), and sortVertexAdjacencies().

bool indexVertex::hasArbitraryIndex  )  [inline]
 

Definition at line 223 of file indexVertex.h.

References m_hasArbitraryIndex.

Referenced by loopSubdivision::subdivide(), and CatmullClarkSubdivision::subdivide().

void indexVertex::setArbitraryIndex U32  index  )  [inline]
 

Definition at line 226 of file indexVertex.h.

References m_arbitraryIndex, m_hasArbitraryIndex, and U32.

Referenced by loopSubdivision::subdivide(), and DooSabin::subdivide().

void indexVertex::setNormalIndex U32  normalIndex  )  [inline]
 

Definition at line 198 of file indexVertex.h.

References m_normalIndex, and U32.

Referenced by ButterflySubdivision::divideFace(), midedgeSubdivision::subdivide(), loopSubdivision::subdivide(), and Kobelt::subdivide().

void indexVertex::setTangentIndex U32  tangentIndex  )  [inline]
 

Definition at line 204 of file indexVertex.h.

References m_tangentIndex, and U32.

void indexVertex::setTexCoordIndex U32  texCoordIndex,
U32  w
[inline]
 

Definition at line 210 of file indexVertex.h.

References m_texCoordIndex0, m_texCoordIndex1, m_texCoordIndex2, m_texCoordIndex3, and U32.

void indexVertex::sortVertexAdjacencies  )  [inline, private]
 

Definition at line 136 of file indexVertex.h.

References edge, indexEdge::getFaceIndex(), getVertexIndex(), m_adjVertexList, Mesh::m_edgeList, m_pMesh, m_vertexAdjSorted, indexEdge::setVertices(), and U32.

Referenced by getAdjacentFace(), getAdjacentFaceIndex(), getAdjVertex(), getAdjVertexIndex(), getAdjVertexNormal(), and getEdge().


Friends And Related Function Documentation

friend class Mesh [friend]
 

Definition at line 28 of file meshBase.h.


Member Data Documentation

Narray< U32 > indexVertex::m_adjFaceList [private]
 

Definition at line 78 of file meshBase.h.

Referenced by addFaceAdjacency(), Mesh::deleteFace(), getAdjacentFace(), getAdjacentFaceIndex(), and getNumberOfAdjacentFaces().

Narray< U32 > indexVertex::m_adjVertexList [private]
 

Definition at line 77 of file meshBase.h.

Referenced by addVertexAdjacency(), Mesh::deleteVertex(), getAdjVertex(), getAdjVertexIndex(), getAdjVertexNormal(), getEdge(), getValence(), and sortVertexAdjacencies().

U32 indexVertex::m_arbitraryIndex [private]
 

Definition at line 84 of file meshBase.h.

Referenced by getArbitraryIndex(), and setArbitraryIndex().

bool indexVertex::m_hasArbitraryIndex [private]
 

Definition at line 83 of file meshBase.h.

Referenced by addVertexAdjacency(), getArbitraryIndex(), hasArbitraryIndex(), indexVertex(), and setArbitraryIndex().

U32 indexVertex::m_normalIndex [private]
 

Definition at line 67 of file meshBase.h.

Referenced by getNormalIndex(), and setNormalIndex().

Mesh* indexVertex::m_pMesh [private]
 

Definition at line 64 of file meshBase.h.

Referenced by Mesh::addVertex(), getAdjacentFace(), getAdjVertex(), getAdjVertexNormal(), getEdge(), getVertexIndex(), indexVertex(), and sortVertexAdjacencies().

U32 indexVertex::m_tangentIndex [private]
 

Definition at line 66 of file meshBase.h.

Referenced by getTangentIndex(), and setTangentIndex().

U32 indexVertex::m_texCoordIndex0 [private]
 

Definition at line 68 of file meshBase.h.

Referenced by getTexCoordIndex(), and setTexCoordIndex().

U32 indexVertex::m_texCoordIndex1 [private]
 

Definition at line 69 of file meshBase.h.

Referenced by getTexCoordIndex(), and setTexCoordIndex().

U32 indexVertex::m_texCoordIndex2 [private]
 

Definition at line 70 of file meshBase.h.

Referenced by getTexCoordIndex(), and setTexCoordIndex().

U32 indexVertex::m_texCoordIndex3 [private]
 

Definition at line 71 of file meshBase.h.

Referenced by getTexCoordIndex(), and setTexCoordIndex().

bool indexVertex::m_vertexAdjSorted [private]
 

Definition at line 75 of file meshBase.h.

Referenced by addFaceAdjacency(), Mesh::deleteFace(), Mesh::deleteVertex(), getAdjacentFace(), getAdjacentFaceIndex(), getAdjVertex(), getAdjVertexIndex(), getAdjVertexNormal(), getEdge(), indexVertex(), and sortVertexAdjacencies().


The documentation for this class was generated from the following files:
Generated on Mon Jun 28 15:02:23 2004 for Advanced Surface Library by doxygen 1.3.4