|
Developer Documentation
|
Public Member Functions | |
| VertexSplitter (int numAttribs, int numVerts, int numWorstCase=0, float estBufferIncrease=0.5f) | |
| int | split (int *vertex) |
| returns a unique index for a vertex-attribute combination | |
| bool | isIsolated (const int vertexPosID) |
| check if vertex is isolated with a complete splitting list | |
| int | getNext (const int id) |
| int * | getAttribs (const int id) |
| void | setNext (const int id, const int next) |
| void | setAttribs (const int id, int *attr) |
Public Attributes | |
| int | numAttribs |
| int | numVerts |
| number of vertex combinations currently in use | |
| const int | numBaseVerts |
| number of input vertex positions | |
| std::vector< int > | splits |
| int | dbg_numResizes |
| int | dbg_numSplits |
Definition at line 895 of file MeshCompiler.hh.
| std::vector<int> ACG::MeshCompiler::VertexSplitter::splits |
split list format: for each vertex: [next split, attribute ids] next split: -1 -> not split yet i -> index into split list for next combination with the same vertex position id (single linked list)
attribute ids: array of attribute indices into input buffers, that makes up the complete vertex -1 -> vertex not used yet (relevant for split() only)
Definition at line 932 of file MeshCompiler.hh.