#include <llroam.h>
Collaboration diagram for LLRoamTriNode:
Definition at line 45 of file llroam.h.
LLRoamTriNode::LLRoamTriNode | ( | U8 | level = 0 , |
|
S8 | type = 0 , |
|||
LLRoamTriNode * | par = 0 | |||
) | [inline] |
LLRoamTriNode::~LLRoamTriNode | ( | ) | [virtual] |
LLRoamTriNode* LLRoamTriNode::base | ( | ) | const [inline] |
Definition at line 85 of file llroam.h.
References mBase.
Referenced by checkConsistensy(), merge(), mergeSimple(), setBase(), and split().
BOOL LLRoamTriNode::checkConsistensy | ( | ) | const [inline] |
void LLRoamTriNode::dequeue | ( | ) | [inline] |
void LLRoamTriNode::enqueue | ( | ) | [inline] |
virtual void LLRoamTriNode::flushFromQueue | ( | ) | [inline, virtual] |
const LLRoamTriNode * LLRoamTriNode::getFirstLeaf | ( | ) | const |
Definition at line 196 of file llroam.cpp.
References Lchild(), and leaf().
Referenced by getNextLeaf().
const LLRoamTriNode * LLRoamTriNode::getNextLeaf | ( | ) | const |
Definition at line 203 of file llroam.cpp.
References getFirstLeaf(), Lchild(), NULL, parent(), and Rchild().
virtual void LLRoamTriNode::initForcefulRefine | ( | ) | [inline, virtual] |
BOOL LLRoamTriNode::inQueue | ( | ) | const [inline] |
LLRoamTriNode* LLRoamTriNode::Lchild | ( | ) | const [inline] |
Definition at line 81 of file llroam.h.
References mLchild.
Referenced by checkConsistensy(), getFirstLeaf(), getNextLeaf(), LLRoam::processSplit(), and split().
BOOL LLRoamTriNode::leaf | ( | ) | const [inline] |
Definition at line 92 of file llroam.h.
References mLeaf.
Referenced by checkConsistensy(), getFirstLeaf(), merge(), split(), and update().
LLRoamTriNode* LLRoamTriNode::left | ( | ) | const [inline] |
U8 LLRoamTriNode::level | ( | ) | const [inline] |
BOOL LLRoamTriNode::merge | ( | ) |
Definition at line 103 of file llroam.cpp.
References base(), FALSE, leaf(), mBase, merge(), mLchild, mLeaf, mLeft, mRchild, mRight, NULL, LLRoamPatch::numTrisDec(), LLRoamPatch::numTrisInc(), patch(), refine(), TRUE, and updateLink().
Referenced by merge().
void LLRoamTriNode::mergeSimple | ( | ) |
Definition at line 144 of file llroam.cpp.
References base(), mLchild, mLeaf, mLeft, mRchild, mRight, LLRoam::numOfProcessedTrisInc(), LLRoamPatch::numTrisDec(), patch(), sQueues, TRUE, and updateLink().
Referenced by LLRoam::flushMerge(), and LLRoam::processMerge().
virtual LLRoamTriNode* LLRoamTriNode::newLChild | ( | ) | [inline, virtual] |
Definition at line 71 of file llroam.h.
References LLRoamTriNode(), and mLevel.
Referenced by split().
virtual LLRoamTriNode* LLRoamTriNode::newRChild | ( | ) | [inline, virtual] |
Definition at line 75 of file llroam.h.
References LLRoamTriNode(), and mLevel.
Referenced by split().
LLRoamTriNode* LLRoamTriNode::parent | ( | ) | const [inline] |
Definition at line 86 of file llroam.h.
References mParent.
Referenced by getNextLeaf(), and setParent().
LLRoamPatch* LLRoamTriNode::patch | ( | ) | const [inline] |
LLRoamTriNode* LLRoamTriNode::Rchild | ( | ) | const [inline] |
Definition at line 82 of file llroam.h.
References mRchild.
Referenced by checkConsistensy(), getNextLeaf(), and split().
BOOL LLRoamTriNode::refine | ( | ) | [inline, virtual] |
LLRoamTriNode* LLRoamTriNode::right | ( | ) | const [inline] |
void LLRoamTriNode::setBase | ( | LLRoamTriNode * | base | ) | [inline] |
void LLRoamTriNode::setLeft | ( | LLRoamTriNode * | left | ) | [inline] |
void LLRoamTriNode::setParent | ( | LLRoamTriNode * | parent | ) | [inline] |
void LLRoamTriNode::setPatch | ( | LLRoamPatch * | p | ) | [inline] |
void LLRoamTriNode::setRight | ( | LLRoamTriNode * | right | ) | [inline] |
Definition at line 48 of file llroam.cpp.
References base(), FALSE, initForcefulRefine(), Lchild(), leaf(), mBase, mLchild, mLeaf, mLeft, mRchild, mRight, newLChild(), newRChild(), NULL, LLRoam::numOfProcessedTrisInc(), LLRoamPatch::numTrisInc(), patch(), Rchild(), setBase(), setLeft(), setRight(), split(), sQueues, TRUE, and updateLink().
Referenced by split().
void LLRoamTriNode::update | ( | ) |
Definition at line 159 of file llroam.cpp.
References leaf(), LLRoam::queueForMerge(), LLRoam::queueForSplit(), refine(), and sQueues.
Referenced by LLRoam::processSplit(), and LLRoamPatch::update().
void LLRoamTriNode::updateLink | ( | LLRoamTriNode * | old_link, | |
LLRoamTriNode * | new_link | |||
) |
Definition at line 38 of file llroam.cpp.
References mBase, mLeft, and mRight.
Referenced by merge(), mergeSimple(), and split().
virtual void LLRoamTriNode::updatePassive | ( | ) | [inline, virtual] |
LLRoamTriNode* LLRoamTriNode::mBase [protected] |
BOOL LLRoamTriNode::mInQueue [protected] |
LLRoamTriNode* LLRoamTriNode::mLchild [protected] |
Definition at line 51 of file llroam.h.
Referenced by Lchild(), merge(), mergeSimple(), split(), and ~LLRoamTriNode().
BOOL LLRoamTriNode::mLeaf [protected] |
LLRoamTriNode* LLRoamTriNode::mLeft [protected] |
Definition at line 53 of file llroam.h.
Referenced by left(), merge(), mergeSimple(), setLeft(), split(), and updateLink().
U8 LLRoamTriNode::mLevel [protected] |
LLRoamTriNode* LLRoamTriNode::mParent [protected] |
LLRoamPatch* LLRoamTriNode::mPatch [protected] |
LLRoamTriNode* LLRoamTriNode::mRchild [protected] |
Definition at line 52 of file llroam.h.
Referenced by merge(), mergeSimple(), Rchild(), split(), and ~LLRoamTriNode().
LLRoamTriNode* LLRoamTriNode::mRight [protected] |
Definition at line 54 of file llroam.h.
Referenced by merge(), mergeSimple(), right(), setRight(), split(), and updateLink().
S8 LLRoamTriNode::mType [protected] |
LLRoam * LLRoamTriNode::sQueues [static] |