Developer Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
ACG::MeshCompiler::VertexSplitter Struct Reference

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
 

Detailed Description

Definition at line 895 of file MeshCompiler.hh.

Member Data Documentation

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.


The documentation for this struct was generated from the following files: