Developer Documentation
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 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
 

Detailed Description

Definition at line 889 of file MeshCompiler.hh.

Constructor & Destructor Documentation

◆ VertexSplitter()

ACG::MeshCompiler::VertexSplitter::VertexSplitter ( int  numAttribs,
int  numVerts,
int  numWorstCase = 0,
float  estBufferIncrease = 0.5f 
)

Definition at line 1239 of file MeshCompiler.cc.

◆ ~VertexSplitter()

ACG::MeshCompiler::VertexSplitter::~VertexSplitter ( )

Definition at line 1259 of file MeshCompiler.cc.

Member Function Documentation

◆ getAttribs()

int * ACG::MeshCompiler::VertexSplitter::getAttribs ( const int  id)

Definition at line 1354 of file MeshCompiler.cc.

◆ getNext()

int ACG::MeshCompiler::VertexSplitter::getNext ( const int  id)

Definition at line 1322 of file MeshCompiler.cc.

◆ isIsolated()

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.

◆ setAttribs()

void ACG::MeshCompiler::VertexSplitter::setAttribs ( const int  id,
int *  attr 
)

Definition at line 1370 of file MeshCompiler.cc.

◆ setNext()

void ACG::MeshCompiler::VertexSplitter::setNext ( const int  id,
const int  next 
)

Definition at line 1338 of file MeshCompiler.cc.

◆ split()

int ACG::MeshCompiler::VertexSplitter::split ( int *  vertex)

returns a unique index for a vertex-attribute combination

Definition at line 1264 of file MeshCompiler.cc.

Member Data Documentation

◆ dbg_numResizes

int ACG::MeshCompiler::VertexSplitter::dbg_numResizes

Definition at line 935 of file MeshCompiler.hh.

◆ dbg_numSplits

int ACG::MeshCompiler::VertexSplitter::dbg_numSplits

Definition at line 936 of file MeshCompiler.hh.

◆ numAttribs

int ACG::MeshCompiler::VertexSplitter::numAttribs

Definition at line 906 of file MeshCompiler.hh.

◆ numBaseVerts

const int ACG::MeshCompiler::VertexSplitter::numBaseVerts

number of input vertex positions

Definition at line 912 of file MeshCompiler.hh.

◆ numVerts

int ACG::MeshCompiler::VertexSplitter::numVerts

number of vertex combinations currently in use

Definition at line 909 of file MeshCompiler.hh.

◆ splits

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.


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