SOFA API  1a4bb3e7
Open source framework for multi-physics simuation
vrender::TopologicalSortUtils Class Reference

Static Public Member Functions

static void buildPrecedenceGraph (vector< PtrPrimitive > &primitive_tab, vector< vector< size_t > > &precedence_graph)
 
static void recursFindNeighbors (const vector< PtrPrimitive > &primitive_tab, const vector< size_t > &pindices, vector< vector< size_t > > &precedence_graph, const AxisAlignedBox_xy &, int)
 
static void checkAndAddEdgeToGraph (size_t a, size_t b, vector< vector< size_t > > &precedence_graph)
 
static void suppressPrecedence (size_t a, size_t b, vector< vector< size_t > > &precedence_graph)
 
static void recursTopologicalSort (vector< vector< size_t > > &precedence_graph, vector< PtrPrimitive > &primitive_tab, vector< bool > &alread_rendered, vector< bool > &alread_visited, vector< PtrPrimitive > &, size_t, size_t &, VRenderParams &vparams, size_t info_cnt, size_t &nbrendered)
 
static void recursTopologicalSort (vector< vector< size_t > > &precedence_graph, vector< PtrPrimitive > &primitive_tab, vector< bool > &alread_rendered, vector< bool > &alread_visited, vector< PtrPrimitive > &, size_t, vector< size_t > &ancestors, size_t &, size_t &, VRenderParams &vparams, size_t info_cnt, size_t &nbrendered)
 
static void topologicalSort (vector< vector< size_t > > &precedence_graph, vector< PtrPrimitive > &primitive_tab, VRenderParams &)
 
static void topologicalSortBreakCycles (vector< vector< size_t > > &precedence_graph, vector< PtrPrimitive > &primitive_tab, VRenderParams &)
 

Function details

◆ buildPrecedenceGraph()

void vrender::TopologicalSortUtils::buildPrecedenceGraph ( vector< PtrPrimitive > &  primitive_tab,
vector< vector< size_t > > &  precedence_graph 
)
static

◆ checkAndAddEdgeToGraph()

void vrender::TopologicalSortUtils::checkAndAddEdgeToGraph ( size_t  a,
size_t  b,
vector< vector< size_t > > &  precedence_graph 
)
static

◆ recursFindNeighbors()

void vrender::TopologicalSortUtils::recursFindNeighbors ( const vector< PtrPrimitive > &  primitive_tab,
const vector< size_t > &  pindices,
vector< vector< size_t > > &  precedence_graph,
const AxisAlignedBox_xy bbox,
int  depth 
)
static

◆ recursTopologicalSort() [1/2]

void vrender::TopologicalSortUtils::recursTopologicalSort ( vector< vector< size_t > > &  precedence_graph,
vector< PtrPrimitive > &  primitive_tab,
vector< bool > &  alread_rendered,
vector< bool > &  alread_visited,
vector< PtrPrimitive > &  new_pr_tab,
size_t  indx,
size_t &  nb_cycles,
VRenderParams vparams,
size_t  info_cnt,
size_t &  nbrendered 
)
static

◆ recursTopologicalSort() [2/2]

void vrender::TopologicalSortUtils::recursTopologicalSort ( vector< vector< size_t > > &  precedence_graph,
vector< PtrPrimitive > &  primitive_tab,
vector< bool > &  alread_rendered,
vector< bool > &  alread_visited,
vector< PtrPrimitive > &  new_pr_tab,
size_t  indx,
vector< size_t > &  ancestors,
size_t &  ancestors_backward_index,
size_t &  nb_cycles,
VRenderParams vparams,
size_t  info_cnt,
size_t &  nbrendered 
)
static

◆ suppressPrecedence()

void vrender::TopologicalSortUtils::suppressPrecedence ( size_t  a,
size_t  b,
vector< vector< size_t > > &  precedence_graph 
)
static

◆ topologicalSort()

void vrender::TopologicalSortUtils::topologicalSort ( vector< vector< size_t > > &  precedence_graph,
vector< PtrPrimitive > &  primitive_tab,
VRenderParams vparams 
)
static

◆ topologicalSortBreakCycles()

void vrender::TopologicalSortUtils::topologicalSortBreakCycles ( vector< vector< size_t > > &  precedence_graph,
vector< PtrPrimitive > &  primitive_tab,
VRenderParams vparams 
)
static