#include <llroam.h>
Collaboration diagram for LLRoam:

| Public Member Functions | |
| LLRoam () | |
| ~LLRoam () | |
| void | pushSplit (LLRoamTriNode *t) | 
| LLRoamTriNode * | popSplit () | 
| void | pushMerge (LLRoamTriNode *t) | 
| LLRoamTriNode * | popMerge () | 
| void | queueForSplit (LLRoamTriNode *t, BOOL process_base=TRUE) | 
| void | queueForMerge (LLRoamTriNode *t, BOOL process_base=TRUE) | 
| void | processSplit () | 
| void | processMerge () | 
| void | process () | 
| U32 | numOfProcessedTris () const | 
| void | numOfProcessedTrisInc () | 
| void | resetCount () | 
| void | flushSplit () | 
| void | flushMerge () | 
| void | checkTiming () | 
| BOOL | mergeQueueTooLong () const | 
| BOOL | splitQueueTooLong () const | 
| Protected Attributes | |
| LLDoubleLinkedList< LLRoamTriNode > | mSplitQ | 
| LLDoubleLinkedList< LLRoamTriNode > | mMergeQ | 
| U32 | mNum | 
Definition at line 233 of file llroam.h.
| LLRoam::~LLRoam | ( | ) |  [inline] | 
Definition at line 241 of file llroam.h.
References mMergeQ, mSplitQ, and LLDoubleLinkedList< DATA_TYPE >::removeAllNodes().
| void LLRoam::checkTiming | ( | ) |  [inline] | 
Definition at line 294 of file llroam.h.
References flushMerge(), flushSplit(), mNum, and resetCount().
| void LLRoam::flushMerge | ( | ) | 
Definition at line 294 of file llroam.cpp.
References LLDoubleLinkedList< DATA_TYPE >::isEmpty(), LLRoamTriNode::mergeSimple(), mMergeQ, and popMerge().
Referenced by checkTiming().
| void LLRoam::flushSplit | ( | ) | 
Definition at line 285 of file llroam.cpp.
References LLRoamTriNode::flushFromQueue(), LLDoubleLinkedList< DATA_TYPE >::isEmpty(), mSplitQ, and popSplit().
Referenced by checkTiming().
| BOOL LLRoam::mergeQueueTooLong | ( | ) | const  [inline] | 
Definition at line 304 of file llroam.h.
References LLDoubleLinkedList< DATA_TYPE >::getLength(), and mMergeQ.
| U32 LLRoam::numOfProcessedTris | ( | ) | const  [inline] | 
| void LLRoam::numOfProcessedTrisInc | ( | ) |  [inline] | 
Definition at line 282 of file llroam.h.
References mNum.
Referenced by LLRoamTriNode::mergeSimple(), and LLRoamTriNode::split().
| LLRoamTriNode* LLRoam::popMerge | ( | ) |  [inline] | 
Definition at line 266 of file llroam.h.
References LLDoubleLinkedList< DATA_TYPE >::getFirstData(), mMergeQ, LLDoubleLinkedList< DATA_TYPE >::removeCurrentData(), and t.
Referenced by flushMerge(), and processMerge().
| LLRoamTriNode* LLRoam::popSplit | ( | ) |  [inline] | 
Definition at line 251 of file llroam.h.
References LLDoubleLinkedList< DATA_TYPE >::getFirstData(), mSplitQ, LLDoubleLinkedList< DATA_TYPE >::removeCurrentData(), and t.
Referenced by flushSplit(), and processSplit().
| void LLRoam::process | ( | ) | 
Definition at line 275 of file llroam.cpp.
References LLDoubleLinkedList< DATA_TYPE >::isEmpty(), mMergeQ, mSplitQ, processMerge(), and processSplit().
| void LLRoam::processMerge | ( | ) | 
Definition at line 253 of file llroam.cpp.
References b, LLDoubleLinkedList< DATA_TYPE >::isEmpty(), LLRoamTriNode::mergeSimple(), mMergeQ, and popMerge().
Referenced by process().
| void LLRoam::processSplit | ( | ) | 
Definition at line 239 of file llroam.cpp.
References LLDoubleLinkedList< DATA_TYPE >::isEmpty(), LLRoamTriNode::Lchild(), mSplitQ, popSplit(), and LLRoamTriNode::update().
Referenced by process().
| void LLRoam::pushMerge | ( | LLRoamTriNode * | t | ) |  [inline] | 
Definition at line 258 of file llroam.h.
References LLDoubleLinkedList< DATA_TYPE >::addDataAtEnd(), mMergeQ, and t.
Referenced by queueForMerge().
| void LLRoam::pushSplit | ( | LLRoamTriNode * | t | ) |  [inline] | 
Definition at line 243 of file llroam.h.
References LLDoubleLinkedList< DATA_TYPE >::addDataAtEnd(), mSplitQ, and t.
Referenced by queueForSplit().
| void LLRoam::queueForMerge | ( | LLRoamTriNode * | t, | |
| BOOL | process_base = TRUE | |||
| ) | 
Definition at line 225 of file llroam.cpp.
References FALSE, pushMerge(), and t.
Referenced by LLRoamTriNode::update().
| void LLRoam::queueForSplit | ( | LLRoamTriNode * | t, | |
| BOOL | process_base = TRUE | |||
| ) | 
Definition at line 216 of file llroam.cpp.
References pushSplit(), and t.
Referenced by LLRoamTriNode::update().
| void LLRoam::resetCount | ( | ) |  [inline] | 
| BOOL LLRoam::splitQueueTooLong | ( | ) | const  [inline] | 
Definition at line 305 of file llroam.h.
References LLDoubleLinkedList< DATA_TYPE >::getLength(), and mSplitQ.
| LLDoubleLinkedList<LLRoamTriNode> LLRoam::mMergeQ  [protected] | 
Definition at line 237 of file llroam.h.
Referenced by flushMerge(), mergeQueueTooLong(), popMerge(), process(), processMerge(), pushMerge(), and ~LLRoam().
| U32 LLRoam::mNum  [protected] | 
Definition at line 238 of file llroam.h.
Referenced by checkTiming(), numOfProcessedTris(), numOfProcessedTrisInc(), and resetCount().
| LLDoubleLinkedList<LLRoamTriNode> LLRoam::mSplitQ  [protected] | 
Definition at line 236 of file llroam.h.
Referenced by flushSplit(), popSplit(), process(), processSplit(), pushSplit(), splitQueueTooLong(), and ~LLRoam().
 1.4.7
 1.4.7