#include <OgreEdgeListBuilder.h>
Public Methods | |
EdgeListBuilder () | |
virtual | ~EdgeListBuilder () |
void | addVertexData (const VertexData *vertexData) |
Add a set of vertex geometry data to the edge builder. | |
void | addIndexData (const IndexData *indexData, size_t vertexSet=0, RenderOperation::OperationType opType=RenderOperation::OT_TRIANGLE_LIST) |
Add a set of index geometry data to the edge builder. | |
EdgeData * | build (void) |
Builds the edge information based on the information built up so far. | |
void | log (Log *l) |
Debugging method. | |
Protected Types | |
typedef std::vector< const VertexData * > | VertexDataList |
typedef std::vector< const IndexData * > | IndexDataList |
typedef std::vector< CommonVertex > | CommonVertexList |
typedef std::vector< RenderOperation::OperationType > | OperationTypeList |
typedef std::set< std::pair< size_t, size_t > > | UniqueEdgeSet |
Unique edges, used to detect whether there are too many triangles on an edge. | |
Protected Methods | |
void | buildTrianglesEdges (size_t indexSet, size_t vertexSet) |
void | connectEdges (void) |
EdgeData::Edge * | findEdge (size_t sharedIndex1, size_t sharedIndex2) |
size_t | findOrCreateCommonVertex (const Vector3 &vec, size_t vertexSet, size_t indexSet, size_t originalIndex) |
Finds an existing common vertex, or inserts a new one. | |
void | createEdge (size_t vertexSet, size_t triangleIndex, size_t vertIndex0, size_t vertIndex1, size_t sharedVertIndex0, size_t sharedVertIndex1) |
Create a new edge - utility method during building. | |
void | attemptBuild (void) |
Internal method to attempt to build the edge list. | |
Protected Attributes | |
IndexDataList | mIndexDataList |
OperationTypeList | mOperationTypeList |
std::vector< size_t > | mIndexDataVertexDataSetList |
VertexDataList | mVertexDataList |
CommonVertexList | mVertices |
EdgeData * | mEdgeData |
UniqueEdgeSet | mUniqueEdges |
bool | mWeldVertices |
bool | mWeldVerticesAcrossVertexSets |
bool | mWeldVerticesAcrossIndexSets |
Definition at line 127 of file OgreEdgeListBuilder.h.
|
Definition at line 177 of file OgreEdgeListBuilder.h. |
|
Definition at line 176 of file OgreEdgeListBuilder.h. |
|
Definition at line 178 of file OgreEdgeListBuilder.h. |
|
Unique edges, used to detect whether there are too many triangles on an edge.
Definition at line 187 of file OgreEdgeListBuilder.h. |
|
Definition at line 175 of file OgreEdgeListBuilder.h. |
|
Definition at line 74 of file OgreEdgeListBuilder.cpp. |
|
Definition at line 80 of file OgreEdgeListBuilder.cpp. |
|
Add a set of index geometry data to the edge builder.
Definition at line 89 of file OgreEdgeListBuilder.cpp. References mIndexDataList, mIndexDataVertexDataSetList, and mOperationTypeList. Referenced by Ogre::Mesh::buildEdgeList(). |
|
Add a set of vertex geometry data to the edge builder.
Definition at line 84 of file OgreEdgeListBuilder.cpp. References mVertexDataList. Referenced by Ogre::Mesh::buildEdgeList(). |
|
Internal method to attempt to build the edge list.
Definition at line 255 of file OgreEdgeListBuilder.cpp. References buildTrianglesEdges(), connectEdges(), Ogre::EdgeData::edgeGroups, mEdgeData, mIndexDataList, mIndexDataVertexDataSetList, mUniqueEdges, mVertexDataList, mVertices, and Ogre::EdgeData::triangles. Referenced by build(). |
|
Builds the edge information based on the information built up so far.
Definition at line 97 of file OgreEdgeListBuilder.cpp. References attemptBuild(), mEdgeData, mWeldVertices, mWeldVerticesAcrossIndexSets, mWeldVerticesAcrossVertexSets, and Ogre::ushort. Referenced by Ogre::Mesh::buildEdgeList(). |
|
|
Definition at line 526 of file OgreEdgeListBuilder.cpp. References Ogre::EdgeData::Edge::degenerate, findEdge(), mEdgeData, Ogre::EdgeData::Triangle::sharedVertIndex, Ogre::EdgeData::triangles, and Ogre::EdgeData::Edge::triIndex. Referenced by attemptBuild(). |
|
Create a new edge - utility method during building.
Definition at line 462 of file OgreEdgeListBuilder.cpp. References Ogre::EdgeData::Edge::degenerate, Ogre::EdgeData::edgeGroups, Except, mEdgeData, mUniqueEdges, Ogre::EdgeData::Edge::sharedVertIndex, Ogre::EdgeData::Edge::triIndex, and Ogre::EdgeData::Edge::vertIndex. Referenced by buildTrianglesEdges(). |
|
Definition at line 570 of file OgreEdgeListBuilder.cpp. References Ogre::EdgeData::edgeGroups, mEdgeData, and Ogre::EdgeData::Edge::sharedVertIndex. Referenced by connectEdges(). |
|
Finds an existing common vertex, or inserts a new one.
Definition at line 492 of file OgreEdgeListBuilder.cpp. References Ogre::EdgeListBuilder::CommonVertex::index, Ogre::EdgeListBuilder::CommonVertex::indexSet, mVertices, mWeldVertices, mWeldVerticesAcrossIndexSets, mWeldVerticesAcrossVertexSets, Ogre::EdgeListBuilder::CommonVertex::originalIndex, Ogre::EdgeListBuilder::CommonVertex::position, Ogre::EdgeListBuilder::CommonVertex::vertexSet, Ogre::Vector3::x, Ogre::Vector3::y, and Ogre::Vector3::z. Referenced by buildTrianglesEdges(). |
|
|
Definition at line 185 of file OgreEdgeListBuilder.h. Referenced by attemptBuild(), build(), buildTrianglesEdges(), connectEdges(), createEdge(), and findEdge(). |
|
Definition at line 180 of file OgreEdgeListBuilder.h. Referenced by addIndexData(), attemptBuild(), buildTrianglesEdges(), and log(). |
|
Definition at line 182 of file OgreEdgeListBuilder.h. Referenced by addIndexData(), attemptBuild(), and log(). |
|
Definition at line 181 of file OgreEdgeListBuilder.h. Referenced by addIndexData(), buildTrianglesEdges(), and log(). |
|
Definition at line 188 of file OgreEdgeListBuilder.h. Referenced by attemptBuild(), and createEdge(). |
|
Definition at line 183 of file OgreEdgeListBuilder.h. Referenced by addVertexData(), attemptBuild(), buildTrianglesEdges(), and log(). |
|
Definition at line 184 of file OgreEdgeListBuilder.h. Referenced by attemptBuild(), findOrCreateCommonVertex(), and log(). |
|
Definition at line 190 of file OgreEdgeListBuilder.h. Referenced by build(), and findOrCreateCommonVertex(). |
|
Definition at line 194 of file OgreEdgeListBuilder.h. Referenced by build(), and findOrCreateCommonVertex(). |
|
Definition at line 192 of file OgreEdgeListBuilder.h. Referenced by build(), and findOrCreateCommonVertex(). |
Copyright © 2002-2003 by The OGRE Team
Last modified Sun Nov 28 19:50:53 2004