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 More... | |
bool | isIsolated (const int vertexPosID) |
check if vertex is isolated with a complete splitting list More... | |
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 More... | |
const int | numBaseVerts |
number of input vertex positions More... | |
std::vector< int > | splits |
int | dbg_numResizes |
int | dbg_numSplits |
Definition at line 889 of file MeshCompiler.hh.
ACG::MeshCompiler::VertexSplitter::VertexSplitter | ( | int | numAttribs, |
int | numVerts, | ||
int | numWorstCase = 0 , |
||
float | estBufferIncrease = 0.5f |
||
) |
Definition at line 1239 of file MeshCompiler.cc.
ACG::MeshCompiler::VertexSplitter::~VertexSplitter | ( | ) |
Definition at line 1259 of file MeshCompiler.cc.
int * ACG::MeshCompiler::VertexSplitter::getAttribs | ( | const int | id | ) |
Definition at line 1354 of file MeshCompiler.cc.
int ACG::MeshCompiler::VertexSplitter::getNext | ( | const int | id | ) |
Definition at line 1322 of file MeshCompiler.cc.
bool ACG::MeshCompiler::VertexSplitter::isIsolated | ( | const int | vertexPosID | ) |
check if vertex is isolated with a complete splitting list
Definition at line 1375 of file MeshCompiler.cc.
void ACG::MeshCompiler::VertexSplitter::setAttribs | ( | const int | id, |
int * | attr | ||
) |
Definition at line 1370 of file MeshCompiler.cc.
void ACG::MeshCompiler::VertexSplitter::setNext | ( | const int | id, |
const int | next | ||
) |
Definition at line 1338 of file MeshCompiler.cc.
int ACG::MeshCompiler::VertexSplitter::split | ( | int * | vertex | ) |
returns a unique index for a vertex-attribute combination
Definition at line 1264 of file MeshCompiler.cc.
int ACG::MeshCompiler::VertexSplitter::dbg_numResizes |
Definition at line 935 of file MeshCompiler.hh.
int ACG::MeshCompiler::VertexSplitter::dbg_numSplits |
Definition at line 936 of file MeshCompiler.hh.
int ACG::MeshCompiler::VertexSplitter::numAttribs |
Definition at line 906 of file MeshCompiler.hh.
const int ACG::MeshCompiler::VertexSplitter::numBaseVerts |
number of input vertex positions
Definition at line 912 of file MeshCompiler.hh.
int ACG::MeshCompiler::VertexSplitter::numVerts |
number of vertex combinations currently in use
Definition at line 909 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 926 of file MeshCompiler.hh.