LLRoam Class Reference

#include <llroam.h>

Collaboration diagram for LLRoam:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LLRoam ()
 ~LLRoam ()
void pushSplit (LLRoamTriNode *t)
LLRoamTriNodepopSplit ()
void pushMerge (LLRoamTriNode *t)
LLRoamTriNodepopMerge ()
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< LLRoamTriNodemSplitQ
LLDoubleLinkedList< LLRoamTriNodemMergeQ
U32 mNum

Detailed Description

Definition at line 233 of file llroam.h.


Constructor & Destructor Documentation

LLRoam::LLRoam (  )  [inline]

Definition at line 240 of file llroam.h.

LLRoam::~LLRoam (  )  [inline]

Definition at line 241 of file llroam.h.

References mMergeQ, mSplitQ, and LLDoubleLinkedList< DATA_TYPE >::removeAllNodes().


Member Function Documentation

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]

Definition at line 281 of file llroam.h.

References mNum.

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]

Definition at line 283 of file llroam.h.

References mNum.

Referenced by checkTiming().

BOOL LLRoam::splitQueueTooLong (  )  const [inline]

Definition at line 305 of file llroam.h.

References LLDoubleLinkedList< DATA_TYPE >::getLength(), and mSplitQ.


Member Data Documentation

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


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:11:42 2010 for Second Life Viewer by  doxygen 1.4.7