#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().