Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ot::TreeNode Class Reference

A class to manage octants. More...

#include <TreeNode.h>

List of all members.

Overloaded Operators

bool operator!= (TreeNode const &other) const
 Two octants are equal if their respective anchors are equal and their levels are equal.
bool operator< (TreeNode const &other) const
 The comparisons are based on the Morton ordering of the octants.
bool operator<= (TreeNode const &other) const
 The comparisons are based on the Morton ordering of the octants.
TreeNodeoperator= (TreeNode const &other)
 Assignment operator. No checks for dim or maxD are performed. It's ok to change dim and maxD of the current octant using the assignment operator.
bool operator== (TreeNode const &other) const
 Two octants are equal if their respective anchors are equal and their levels are equal.
bool operator> (TreeNode const &other) const
 The comparisons are based on the Morton ordering of the octants.
bool operator>= (TreeNode const &other) const
 The comparisons are based on the Morton ordering of the octants.
std::ostream & operator<< (std::ostream &os, TreeNode const &node)
 Appends the anchor and level of the octant to the stream.

Public Types

enum  BoundaryType1 { NEGATIVE = 2, POSITIVE = 4 }
 The type of boundary. More...
enum  BoundaryType2 {
  X_NEG_BDY = 1, Y_NEG_BDY = 2, Z_NEG_BDY = 4, NEG_POS_DEMARCATION = 8,
  EXTERNAL_BDY = 16, X_POS_BDY = 32, Y_POS_BDY = 64, Z_POS_BDY = 128
}
 The type of boundary. More...
enum  BoundaryType3 { FACE_BDY = 1, EDGE_BDY = 2, CORNER_BDY = 3 }
 The type of boundary. More...
enum  OctantFlagType { MAX_LEVEL = 31, BOUNDARY = 64, NODE = 128 }

Public Member Functions

int addBalancingDescendants (TreeNode other, std::vector< TreeNode > &seeds, bool incCorners) const
 returns the list of decendants of this octant at the same level as other's parent and also touch 'other'.
int addBrothers (std::vector< TreeNode > &brothers) const
 appends the siblings (sorted) of this octant to 'brothers'
int addChildren (std::vector< TreeNode > &list) const
 appends the children (sorted) of this octant to 'list'
int balanceSubtree (std::vector< TreeNode > &in, std::vector< TreeNode > &out, bool incCorners, bool isSortedCompleteLinear) const
 balances the subtree formed with this octant as its root.
int completeSubtree (std::vector< TreeNode > &in, std::vector< TreeNode > &out) const
 generates the coarsest possible complete, linear subtree containing the octants in 'in'
TreeNode getAncestor (unsigned int ancLev) const
TreeNode getDFD () const
TreeNode getDLD () const
std::vector< bool > getMorton () const
TreeNode getParent () const
std::vector< TreeNodegetSearchKeys (bool incCorners)
bool isAncestor (const TreeNode &other) const
 Checks if this octant is an ancestor of the input.
bool isBoundaryOctant (const TreeNode &block, int type=POSITIVE, unsigned char *flags=NULL) const
 flags is a datastructure which will store which boundaries were touched. highest 3 bits are for +Z,+y, and +x axes ... and and smallest 3 are for -z,-y and -x axes.
bool isBoundaryOctant (int type=POSITIVE, unsigned char *flags=NULL) const
 flags is a datastructure which will store which boundaries were touched. highest 3 bits are for +Z,+y, and +x axes ... and and smallest 3 are for -z,-y and -x axes.
unsigned int maxX () const
unsigned int maxY () const
unsigned int maxZ () const
unsigned int minX () const
unsigned int minY () const
unsigned int minZ () const
int pickInternalBoundaryCells (std::vector< TreeNode > &in, std::vector< TreeNode > &out) const
 returns the subset of the input that touch this octant's boundary and are this octant's decendants.
int splitInternalAndBoundaryCells (std::vector< TreeNode > &allInternal, std::vector< TreeNode > &onlyInternal, std::vector< TreeNode > &boundary) const
 separates the input into two lists: one containing this octant's decendants that touch this octant's boundary and another containing the rest of the octants in the input
Getters and Setters
Author:
Rahul Sampath


int addWeight (unsigned int w)
Point getAnchor () const
int getAnchor (unsigned int &x, unsigned int &y, unsigned int &z) const
unsigned char getChildNumber () const
unsigned int getDim () const
unsigned int getFlag () const
unsigned int getLevel () const
unsigned int getMaxDepth () const
unsigned int getParentX () const
unsigned int getParentY () const
unsigned int getParentZ () const
unsigned int getWeight () const
unsigned int getX () const
unsigned int getY () const
unsigned int getZ () const
int orFlag (unsigned int w)
int setFlag (unsigned int w)
int setWeight (unsigned int w)
Get the list of potential neighbours that will satisfy the 2:1 balance constraint
Author:
Rahul Sampath


std::vector< std::vector<
TreeNode > > 
getAllB_Neighbours () const
std::vector< TreeNodegetB_Back () const
std::vector< TreeNodegetB_Bottom () const
std::vector< TreeNodegetB_BottomBack () const
std::vector< TreeNodegetB_BottomFront () const
std::vector< TreeNodegetB_BottomLeft () const
std::vector< TreeNodegetB_BottomLeftBack () const
std::vector< TreeNodegetB_BottomLeftFront () const
std::vector< TreeNodegetB_BottomRight () const
std::vector< TreeNodegetB_BottomRightBack () const
std::vector< TreeNodegetB_BottomRightFront () const
std::vector< TreeNodegetB_Front () const
std::vector< TreeNodegetB_Left () const
std::vector< TreeNodegetB_LeftBack () const
std::vector< TreeNodegetB_LeftFront () const
std::vector< TreeNodegetB_Right () const
std::vector< TreeNodegetB_RightBack () const
std::vector< TreeNodegetB_RightFront () const
std::vector< TreeNodegetB_Top () const
std::vector< TreeNodegetB_TopBack () const
std::vector< TreeNodegetB_TopFront () const
std::vector< TreeNodegetB_TopLeft () const
std::vector< TreeNodegetB_TopLeftBack () const
std::vector< TreeNodegetB_TopLeftFront () const
std::vector< TreeNodegetB_TopRight () const
std::vector< TreeNodegetB_TopRightBack () const
std::vector< TreeNodegetB_TopRightFront () const
Get Neighbours at the same level as the current octant
Author:
Rahul Sampath


std::vector< TreeNodegetAllNeighbours () const
TreeNode getBack () const
TreeNode getBottom () const
TreeNode getBottomBack () const
TreeNode getBottomFront () const
TreeNode getBottomLeft () const
TreeNode getBottomLeftBack () const
TreeNode getBottomLeftFront () const
TreeNode getBottomRight () const
TreeNode getBottomRightBack () const
TreeNode getBottomRightFront () const
TreeNode getFront () const
TreeNode getLeft () const
TreeNode getLeftBack () const
TreeNode getLeftFront () const
TreeNode getRight () const
TreeNode getRightBack () const
TreeNode getRightFront () const
TreeNode getTop () const
TreeNode getTopBack () const
TreeNode getTopFront () const
TreeNode getTopLeft () const
TreeNode getTopLeftBack () const
TreeNode getTopLeftFront () const
TreeNode getTopRight () const
TreeNode getTopRightBack () const
TreeNode getTopRightFront () const
Constructors
 TreeNode ()
 Default constructor. Constructs an invalid octant.
 TreeNode (const TreeNode &other)
 Copy constructor.
 TreeNode (const unsigned int x, const unsigned int y, const unsigned int z, const unsigned int level, const unsigned int dim, const unsigned int maxDepth)
 Constructs an octant.
 TreeNode (const unsigned int dim, const unsigned int maxDepth)
 Constructs a root octant.

Protected Member Functions

 TreeNode (const int dummy, const unsigned int x, const unsigned int y, const unsigned int z, const unsigned int level, const unsigned int dim, const unsigned int maxDepth)

Protected Attributes

unsigned int m_uiDim
unsigned int m_uiLevel
unsigned int m_uiMaxDepth
unsigned int m_uiWeight
unsigned int m_uiX
unsigned int m_uiY
unsigned int m_uiZ


Detailed Description

A class to manage octants.

Author:
Rahul Sampath

Definition at line 28 of file TreeNode.h.


Member Enumeration Documentation

enum ot::TreeNode::BoundaryType1
 

The type of boundary.

Enumeration values:
NEGATIVE 
POSITIVE 

Definition at line 42 of file TreeNode.h.

enum ot::TreeNode::BoundaryType2
 

The type of boundary.

Enumeration values:
X_NEG_BDY 
Y_NEG_BDY 
Z_NEG_BDY 
NEG_POS_DEMARCATION 
EXTERNAL_BDY 
X_POS_BDY 
Y_POS_BDY 
Z_POS_BDY 

Definition at line 47 of file TreeNode.h.

enum ot::TreeNode::BoundaryType3
 

The type of boundary.

Enumeration values:
FACE_BDY 
EDGE_BDY 
CORNER_BDY 

Definition at line 55 of file TreeNode.h.

enum ot::TreeNode::OctantFlagType
 

Enumeration values:
MAX_LEVEL 
BOUNDARY 
NODE 

Definition at line 59 of file TreeNode.h.


Constructor & Destructor Documentation

ot::TreeNode::TreeNode const int  dummy,
const unsigned int  x,
const unsigned int  y,
const unsigned int  z,
const unsigned int  level,
const unsigned int  dim,
const unsigned int  maxDepth
[protected]
 

Definition at line 503 of file TreeNode.C.

References m_uiDim, m_uiLevel, m_uiMaxDepth, m_uiWeight, m_uiX, m_uiY, and m_uiZ.

ot::TreeNode::TreeNode const unsigned int  dim,
const unsigned int  maxDepth
 

Constructs a root octant.

Author:
Rahul Sampath
Parameters:
dim the dimension of the tree
maxDepth The maximum depth of the tree. Must be <= MAX_LEVEL
See also:
MAX_LEVEL

Definition at line 515 of file TreeNode.C.

References m_uiDim, m_uiLevel, m_uiMaxDepth, m_uiWeight, m_uiX, m_uiY, and m_uiZ.

ot::TreeNode::TreeNode const unsigned int  x,
const unsigned int  y,
const unsigned int  z,
const unsigned int  level,
const unsigned int  dim,
const unsigned int  maxDepth
 

Constructs an octant.

Author:
Rahul Sampath
Parameters:
x,y,z The coordinates of the anchor of the octant
level The level of the octant
dim the dimension of the tree
maxDepth The maximum depth of the tree. Must be <= MAX_LEVEL
See also:
MAX_LEVEL

Definition at line 531 of file TreeNode.C.

References m_uiDim, m_uiLevel, m_uiMaxDepth, m_uiWeight, m_uiX, m_uiY, and m_uiZ.

ot::TreeNode::TreeNode const TreeNode other  ) 
 

Copy constructor.

Author:
Rahul Sampath

Definition at line 558 of file TreeNode.C.

References m_uiDim, m_uiLevel, m_uiMaxDepth, m_uiWeight, m_uiX, m_uiY, and m_uiZ.

ot::TreeNode::TreeNode  ) 
 

Default constructor. Constructs an invalid octant.

Author:
Rahul Sampath

Definition at line 498 of file TreeNode.C.

References m_uiDim, m_uiLevel, m_uiMaxDepth, m_uiWeight, m_uiX, m_uiY, and m_uiZ.

Referenced by getAncestor(), and getParent().


Member Function Documentation

int ot::TreeNode::addBalancingDescendants TreeNode  other,
std::vector< TreeNode > &  seeds,
bool  incCorners
const
 

returns the list of decendants of this octant at the same level as other's parent and also touch 'other'.

Author:
Rahul Sampath

Parameters:
other an octant at a level > this octant's level + 1
seeds the output
incCorners 'true' for balancing across corners as well and 'false' otherwise.
Returns:
error flag
other should not be a decendant of this octant.

Definition at line 132 of file TreeNode.C.

References ot::areComparable(), getAllNeighbours(), getLevel(), getParent(), isAncestor(), m_uiDim, and m_uiMaxDepth.

Referenced by ot::ripple().

int ot::TreeNode::addBrothers std::vector< TreeNode > &  brothers  )  const
 

appends the siblings (sorted) of this octant to 'brothers'

Author:
Rahul Sampath

Definition at line 315 of file TreeNode.C.

References addChildren(), getParent(), and m_uiLevel.

Referenced by balanceSubtree(), and completeSubtree().

int ot::TreeNode::addChildren std::vector< TreeNode > &  list  )  const
 

appends the children (sorted) of this octant to 'list'

Author:
Rahul Sampath

Definition at line 268 of file TreeNode.C.

References m_uiDim, m_uiLevel, m_uiMaxDepth, m_uiX, m_uiY, m_uiZ, and MAX_LEVEL.

Referenced by addBrothers(), ot::addOctantToTreeNodePointer(), ot::appendCompleteRegion(), ot::comboRipple(), ot::completeOctree(), ot::completeSubtree(), getB_Back(), getB_Bottom(), getB_BottomBack(), getB_BottomFront(), getB_BottomLeft(), getB_BottomLeftBack(), getB_BottomLeftFront(), getB_BottomRight(), getB_BottomRightBack(), getB_BottomRightFront(), getB_Front(), getB_Left(), getB_LeftBack(), getB_LeftFront(), getB_Right(), getB_RightBack(), getB_RightFront(), getB_Top(), getB_TopBack(), getB_TopFront(), getB_TopLeft(), getB_TopLeftBack(), getB_TopLeftFront(), getB_TopRight(), getB_TopRightBack(), getB_TopRightFront(), ot::includeSiblingsOfBoundary(), main(), ot::p2oLocal(), and ot::refineOctree().

int ot::TreeNode::addWeight unsigned int  w  )  [inline]
 

Definition at line 156 of file TreeNode.txx.

References m_uiWeight.

Referenced by ot::blockPartStage1(), ot::blockPartStage2(), ot::blockPartStage2_p2o(), ot::DA_blockPartStage2(), and ot::p2oLocal().

int ot::TreeNode::balanceSubtree std::vector< TreeNode > &  in,
std::vector< TreeNode > &  out,
bool  incCorners,
bool  isSortedCompleteLinear
const
 

balances the subtree formed with this octant as its root.

Author:
Rahul Sampath
Parameters:
in input vector containing the decendants of this octant
out output vector
incCorners 'true' for balancing across corners as well and 'false' otherwise.
isSortedCompleteLinear 'true' if the input is sorted, complete and linear

Definition at line 700 of file TreeNode.C.

References addBrothers(), ot::areComparable(), getBack(), getBottom(), getBottomBack(), getBottomFront(), getBottomLeft(), getBottomLeftBack(), getBottomLeftFront(), getBottomRight(), getBottomRightBack(), getBottomRightFront(), getDim(), getFront(), getLeft(), getLeftBack(), getLeftFront(), getLevel(), getMaxDepth(), getParent(), getRight(), getRightBack(), getRightFront(), getTop(), getTopBack(), getTopFront(), getTopLeft(), getTopLeftBack(), getTopLeftFront(), getTopRight(), getTopRightBack(), getTopRightFront(), isAncestor(), m_uiX, m_uiY, m_uiZ, seq::makeVectorUnique(), maxX(), maxY(), maxZ(), PROF_BAL_SUBTREE_BEGIN, and PROF_BAL_SUBTREE_END.

Referenced by ot::balanceBlocks().

int ot::TreeNode::completeSubtree std::vector< TreeNode > &  in,
std::vector< TreeNode > &  out
const
 

generates the coarsest possible complete, linear subtree containing the octants in 'in'

Author:
Rahul Sampath

Parameters:
in a set of decendants of this octant
out the complete subtree of this octant

Definition at line 1161 of file TreeNode.C.

References addBrothers(), ot::areComparable(), getLevel(), getParent(), isAncestor(), m_uiDim, m_uiMaxDepth, seq::makeVectorUnique(), PROF_COMPLETE_SUBTREE_BEGIN, and PROF_COMPLETE_SUBTREE_END.

Referenced by ot::parallelRippleType1(), ot::parallelRippleType2(), ot::parallelRippleType3(), and ot::ripple().

std::vector< std::vector< TreeNode > > ot::TreeNode::getAllB_Neighbours  )  const
 

Definition at line 75 of file TreeNode.C.

References getB_Back(), getB_Bottom(), getB_BottomBack(), getB_BottomFront(), getB_BottomLeft(), getB_BottomLeftBack(), getB_BottomLeftFront(), getB_BottomRight(), getB_BottomRightBack(), getB_BottomRightFront(), getB_Front(), getB_Left(), getB_LeftBack(), getB_LeftFront(), getB_Right(), getB_RightBack(), getB_RightFront(), getB_Top(), getB_TopBack(), getB_TopFront(), getB_TopLeft(), getB_TopLeftBack(), getB_TopLeftFront(), getB_TopRight(), getB_TopRightBack(), getB_TopRightFront(), and m_uiDim.

std::vector< TreeNode > ot::TreeNode::getAllNeighbours  )  const
 

Definition at line 20 of file TreeNode.C.

References getBack(), getBottom(), getBottomBack(), getBottomFront(), getBottomLeft(), getBottomLeftBack(), getBottomLeftFront(), getBottomRight(), getBottomRightBack(), getBottomRightFront(), getFront(), getLeft(), getLeftBack(), getLeftFront(), getRight(), getRightBack(), getRightFront(), getTop(), getTopBack(), getTopFront(), getTopLeft(), getTopLeftBack(), getTopLeftFront(), getTopRight(), getTopRightBack(), getTopRightFront(), and m_uiDim.

Referenced by addBalancingDescendants(), ot::pickGhostCandidates(), ot::prepareBalComm1MessagesType2(), and ot::prepareWlistInBal().

TreeNode ot::TreeNode::getAncestor unsigned int  ancLev  )  const [inline]
 

Author:
Rahul Sampath
Parameters:
The level of the ancestor
Returns:
the ancestor of this octant at level 'ancLev'

Definition at line 142 of file TreeNode.txx.

References m_uiDim, m_uiMaxDepth, m_uiX, m_uiY, m_uiZ, and TreeNode().

Point ot::TreeNode::getAnchor  )  const [inline]
 

Definition at line 225 of file TreeNode.h.

int ot::TreeNode::getAnchor unsigned int &  x,
unsigned int &  y,
unsigned int &  z
const [inline]
 

Definition at line 34 of file TreeNode.txx.

Referenced by ot::DA::buildNodeList(), and ot::test::isBalancedInternal().

std::vector< TreeNode > ot::TreeNode::getB_Back  )  const [inline]
 

Definition at line 626 of file TreeNode.txx.

References addChildren(), getBack(), getChildNumber(), getParent(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_Bottom  )  const [inline]
 

Definition at line 555 of file TreeNode.txx.

References addChildren(), getBottom(), getChildNumber(), getParent(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_BottomBack  )  const [inline]
 

Definition at line 1293 of file TreeNode.txx.

References addChildren(), getBack(), getBottom(), getBottomBack(), getChildNumber(), getParent(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_BottomFront  )  const [inline]
 

Definition at line 935 of file TreeNode.txx.

References addChildren(), getBottom(), getBottomFront(), getChildNumber(), getFront(), getParent(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_BottomLeft  )  const [inline]
 

Definition at line 740 of file TreeNode.txx.

References addChildren(), getBottom(), getBottomLeft(), getChildNumber(), getLeft(), getParent(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_BottomLeftBack  )  const [inline]
 

Definition at line 1431 of file TreeNode.txx.

References addChildren(), getBack(), getBottom(), getBottomBack(), getBottomLeft(), getBottomLeftBack(), getChildNumber(), getLeft(), getLeftBack(), getParent(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_BottomLeftFront  )  const [inline]
 

Definition at line 1074 of file TreeNode.txx.

References addChildren(), getBottom(), getBottomFront(), getBottomLeft(), getBottomLeftFront(), getChildNumber(), getFront(), getLeft(), getLeftFront(), getParent(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_BottomRight  )  const [inline]
 

Definition at line 779 of file TreeNode.txx.

References addChildren(), getBottom(), getBottomRight(), getChildNumber(), getParent(), getRight(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_BottomRightBack  )  const [inline]
 

Definition at line 1480 of file TreeNode.txx.

References addChildren(), getBack(), getBottom(), getBottomBack(), getBottomRight(), getBottomRightBack(), getChildNumber(), getParent(), getRight(), getRightBack(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_BottomRightFront  )  const [inline]
 

Definition at line 1124 of file TreeNode.txx.

References addChildren(), getBottom(), getBottomFront(), getBottomRight(), getBottomRightFront(), getChildNumber(), getFront(), getParent(), getRight(), getRightFront(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_Front  )  const [inline]
 

Definition at line 590 of file TreeNode.txx.

References addChildren(), getChildNumber(), getFront(), getParent(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_Left  )  const [inline]
 

Definition at line 443 of file TreeNode.txx.

References addChildren(), getChildNumber(), getLeft(), getParent(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_LeftBack  )  const [inline]
 

Definition at line 1174 of file TreeNode.txx.

References addChildren(), getBack(), getChildNumber(), getLeft(), getLeftBack(), getParent(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_LeftFront  )  const [inline]
 

Definition at line 818 of file TreeNode.txx.

References addChildren(), getChildNumber(), getFront(), getLeft(), getLeftFront(), getParent(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_Right  )  const [inline]
 

Definition at line 483 of file TreeNode.txx.

References addChildren(), getChildNumber(), getParent(), getRight(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_RightBack  )  const [inline]
 

Definition at line 1214 of file TreeNode.txx.

References addChildren(), getBack(), getChildNumber(), getParent(), getRight(), getRightBack(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_RightFront  )  const [inline]
 

Definition at line 857 of file TreeNode.txx.

References addChildren(), getChildNumber(), getFront(), getParent(), getRight(), getRightFront(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_Top  )  const [inline]
 

Definition at line 520 of file TreeNode.txx.

References addChildren(), getChildNumber(), getParent(), getTop(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_TopBack  )  const [inline]
 

Definition at line 1254 of file TreeNode.txx.

References addChildren(), getBack(), getChildNumber(), getParent(), getTop(), getTopBack(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_TopFront  )  const [inline]
 

Definition at line 896 of file TreeNode.txx.

References addChildren(), getChildNumber(), getFront(), getParent(), getTop(), getTopFront(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_TopLeft  )  const [inline]
 

Definition at line 662 of file TreeNode.txx.

References addChildren(), getChildNumber(), getLeft(), getParent(), getTop(), getTopLeft(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_TopLeftBack  )  const [inline]
 

Definition at line 1332 of file TreeNode.txx.

References addChildren(), getBack(), getChildNumber(), getLeft(), getLeftBack(), getParent(), getTop(), getTopBack(), getTopLeft(), getTopLeftBack(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_TopLeftFront  )  const [inline]
 

Definition at line 974 of file TreeNode.txx.

References addChildren(), getChildNumber(), getFront(), getLeft(), getLeftFront(), getParent(), getTop(), getTopFront(), getTopLeft(), getTopLeftFront(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_TopRight  )  const [inline]
 

Definition at line 701 of file TreeNode.txx.

References addChildren(), getChildNumber(), getParent(), getRight(), getTop(), getTopRight(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_TopRightBack  )  const [inline]
 

Definition at line 1381 of file TreeNode.txx.

References addChildren(), getBack(), getChildNumber(), getParent(), getRight(), getRightBack(), getTop(), getTopBack(), getTopRight(), getTopRightBack(), NRM, and RED.

Referenced by getAllB_Neighbours().

std::vector< TreeNode > ot::TreeNode::getB_TopRightFront  )  const [inline]
 

Definition at line 1024 of file TreeNode.txx.

References addChildren(), getChildNumber(), getFront(), getParent(), getRight(), getRightFront(), getTop(), getTopFront(), getTopRight(), getTopRightFront(), NRM, and RED.

Referenced by getAllB_Neighbours().

TreeNode ot::TreeNode::getBack  )  const [inline]
 

Definition at line 296 of file TreeNode.txx.

References getLevel(), m_uiDim, m_uiMaxDepth, maxY(), minX(), and minZ().

Referenced by balanceSubtree(), getAllNeighbours(), getB_Back(), getB_BottomBack(), getB_BottomLeftBack(), getB_BottomRightBack(), getB_LeftBack(), getB_RightBack(), getB_TopBack(), getB_TopLeftBack(), getB_TopRightBack(), getBottomBack(), getBottomLeftBack(), getBottomRightBack(), getLeftBack(), getRightBack(), getSearchKeys(), getTopBack(), getTopLeftBack(), and getTopRightBack().

TreeNode ot::TreeNode::getBottom  )  const [inline]
 

Definition at line 325 of file TreeNode.txx.

References getLevel(), m_uiDim, m_uiMaxDepth, minX(), minY(), and minZ().

Referenced by balanceSubtree(), getAllNeighbours(), getB_Bottom(), getB_BottomBack(), getB_BottomFront(), getB_BottomLeft(), getB_BottomLeftBack(), getB_BottomLeftFront(), getB_BottomRight(), getB_BottomRightBack(), getB_BottomRightFront(), getBottomBack(), getBottomFront(), getBottomLeft(), getBottomRight(), and getSearchKeys().

TreeNode ot::TreeNode::getBottomBack  )  const [inline]
 

Definition at line 378 of file TreeNode.txx.

References getBack(), and getBottom().

Referenced by balanceSubtree(), getAllNeighbours(), getB_BottomBack(), getB_BottomLeftBack(), getB_BottomRightBack(), and getSearchKeys().

TreeNode ot::TreeNode::getBottomFront  )  const [inline]
 

Definition at line 382 of file TreeNode.txx.

References getBottom(), and getFront().

Referenced by balanceSubtree(), getAllNeighbours(), getB_BottomFront(), getB_BottomLeftFront(), getB_BottomRightFront(), and getSearchKeys().

TreeNode ot::TreeNode::getBottomLeft  )  const [inline]
 

Definition at line 370 of file TreeNode.txx.

References getBottom(), and getLeft().

Referenced by balanceSubtree(), getAllNeighbours(), getB_BottomLeft(), getB_BottomLeftBack(), getB_BottomLeftFront(), getBottomLeftBack(), getBottomLeftFront(), and getSearchKeys().

TreeNode ot::TreeNode::getBottomLeftBack  )  const [inline]
 

Definition at line 386 of file TreeNode.txx.

References getBack(), and getBottomLeft().

Referenced by balanceSubtree(), getAllNeighbours(), getB_BottomLeftBack(), and getSearchKeys().

TreeNode ot::TreeNode::getBottomLeftFront  )  const [inline]
 

Definition at line 394 of file TreeNode.txx.

References getBottomLeft(), and getFront().

Referenced by balanceSubtree(), getAllNeighbours(), getB_BottomLeftFront(), and getSearchKeys().

TreeNode ot::TreeNode::getBottomRight  )  const [inline]
 

Definition at line 374 of file TreeNode.txx.

References getBottom(), and getRight().

Referenced by balanceSubtree(), getAllNeighbours(), getB_BottomRight(), getB_BottomRightBack(), getB_BottomRightFront(), getBottomRightBack(), getBottomRightFront(), and getSearchKeys().

TreeNode ot::TreeNode::getBottomRightBack  )  const [inline]
 

Definition at line 390 of file TreeNode.txx.

References getBack(), and getBottomRight().

Referenced by balanceSubtree(), getAllNeighbours(), getB_BottomRightBack(), and getSearchKeys().

TreeNode ot::TreeNode::getBottomRightFront  )  const [inline]
 

Definition at line 398 of file TreeNode.txx.

References getBottomRight(), and getFront().

Referenced by balanceSubtree(), getAllNeighbours(), getB_BottomRightFront(), and getSearchKeys().

unsigned char ot::TreeNode::getChildNumber  )  const [inline]
 

Definition at line 18 of file TreeNode.txx.

References getLevel(), m_uiMaxDepth, m_uiX, m_uiY, and m_uiZ.

Referenced by ot::flagNodesType1(), ot::flagNodesType2(), ot::flagNodesType3(), getB_Back(), getB_Bottom(), getB_BottomBack(), getB_BottomFront(), getB_BottomLeft(), getB_BottomLeftBack(), getB_BottomLeftFront(), getB_BottomRight(), getB_BottomRightBack(), getB_BottomRightFront(), getB_Front(), getB_Left(), getB_LeftBack(), getB_LeftFront(), getB_Right(), getB_RightBack(), getB_RightFront(), getB_Top(), getB_TopBack(), getB_TopFront(), getB_TopLeft(), getB_TopLeftBack(), getB_TopLeftFront(), getB_TopRight(), getB_TopRightBack(), getB_TopRightFront(), getSearchKeys(), ot::includeSiblingsOfBoundary(), main(), ot::prepareAprioriCommMessagesInDAtype2(), and ot::regularGrid2Octree().

TreeNode ot::TreeNode::getDFD  )  const [inline]
 

Author:
Rahul Sampath
Returns:
the Deepest first decendant of this octant

Definition at line 215 of file TreeNode.txx.

References m_uiDim, m_uiMaxDepth, m_uiX, m_uiY, and m_uiZ.

Referenced by ot::completeSubtree(), ot::DA_blockPartStage2(), and ot::test::isBalancedInternal().

unsigned int ot::TreeNode::getDim  )  const [inline]
 

Definition at line 161 of file TreeNode.txx.

Referenced by ot::appendCompleteRegion(), ot::areComparable(), balanceSubtree(), ot::flagNodesType1(), ot::flagNodesType2(), ot::flagNodesType3(), getMorton(), ot::getNCA(), pickInternalBoundaryCells(), ot::pointerBasedRipple(), ot::prepareAprioriCommMessagesInDAtype2(), ot::ripple(), splitInternalAndBoundaryCells(), and ot::writeNodesToFile().

TreeNode ot::TreeNode::getDLD  )  const [inline]
 

Author:
Rahul Sampath
Returns:
the deepest last decendant of this octant

Definition at line 220 of file TreeNode.txx.

References m_uiDim, m_uiMaxDepth, maxX(), maxY(), and maxZ().

Referenced by ot::balanceOctree(), ot::completeSubtree(), isAncestor(), and ot::prepareWlistInBal().

unsigned int ot::TreeNode::getFlag  )  const [inline]
 

Definition at line 173 of file TreeNode.txx.

TreeNode ot::TreeNode::getFront  )  const [inline]
 

Definition at line 310 of file TreeNode.txx.

References getLevel(), m_uiDim, m_uiMaxDepth, minX(), minY(), and minZ().

Referenced by balanceSubtree(), getAllNeighbours(), getB_BottomFront(), getB_BottomLeftFront(), getB_BottomRightFront(), getB_Front(), getB_LeftFront(), getB_RightFront(), getB_TopFront(), getB_TopLeftFront(), getB_TopRightFront(), getBottomFront(), getBottomLeftFront(), getBottomRightFront(), getLeftFront(), getRightFront(), getSearchKeys(), getTopFront(), getTopLeftFront(), and getTopRightFront().

TreeNode ot::TreeNode::getLeft  )  const [inline]
 

Definition at line 267 of file TreeNode.txx.

References getLevel(), m_uiDim, m_uiMaxDepth, minX(), minY(), and minZ().

Referenced by balanceSubtree(), getAllNeighbours(), getB_BottomLeft(), getB_BottomLeftBack(), getB_BottomLeftFront(), getB_Left(), getB_LeftBack(), getB_LeftFront(), getB_TopLeft(), getB_TopLeftBack(), getB_TopLeftFront(), getBottomLeft(), getLeftBack(), getLeftFront(), getSearchKeys(), and getTopLeft().

TreeNode ot::TreeNode::getLeftBack  )  const [inline]
 

Definition at line 354 of file TreeNode.txx.

References getBack(), and getLeft().

Referenced by balanceSubtree(), getAllNeighbours(), getB_BottomLeftBack(), getB_LeftBack(), getB_TopLeftBack(), and getSearchKeys().

TreeNode ot::TreeNode::getLeftFront  )  const [inline]
 

Definition at line 362 of file TreeNode.txx.

References getFront(), and getLeft().

Referenced by balanceSubtree(), getAllNeighbours(), getB_BottomLeftFront(), getB_LeftFront(), getB_TopLeftFront(), and getSearchKeys().

unsigned int ot::TreeNode::getLevel  )  const [inline]
 

Definition at line 169 of file TreeNode.txx.

References m_uiLevel.

Referenced by addBalancingDescendants(), ot::addBoundaryNodesType1(), ot::addBoundaryNodesType2(), ot::appendOctantsAtLevel(), balanceSubtree(), ot::bPartComparator(), ot::DA::buildNodeList(), completeSubtree(), ot::flagNodesType1(), ot::flagNodesType2(), ot::flagNodesType3(), getBack(), getBottom(), getChildNumber(), getFront(), getLeft(), getMorton(), getRight(), getTop(), ot::getTouchConfig(), isBoundaryOctant(), maxX(), maxY(), maxZ(), ot::operator<<(), ot::parallelRippleType1(), ot::parallelRippleType2(), ot::parallelRippleType3(), ot::pointerBasedRipple(), ot::prepareAprioriCommMessagesInDAtype2(), and ot::ripple().

unsigned int ot::TreeNode::getMaxDepth  )  const [inline]
 

Definition at line 165 of file TreeNode.txx.

Referenced by ot::appendCompleteRegion(), ot::areComparable(), ot::balanceBlocks(), balanceSubtree(), ot::flagNodesType1(), ot::flagNodesType2(), ot::flagNodesType3(), getMorton(), ot::getNCA(), ot::pointerBasedRipple(), ot::prepareAprioriCommMessagesInDAtype2(), ot::ripple(), and ot::writeNodesToFile().

std::vector< bool > ot::TreeNode::getMorton  )  const
 

Author:
Rahul Sampath
Returns:
the Morton encoding for this octant

Definition at line 451 of file TreeNode.C.

References binOp::binLength(), getDim(), getLevel(), getMaxDepth(), getX(), getY(), getZ(), and binOp::toBin().

TreeNode ot::TreeNode::getParent  )  const [inline]
 

Author:
Rahul Sampath
Returns:
the parent of this octant

Definition at line 130 of file TreeNode.txx.

References m_uiDim, m_uiLevel, m_uiMaxDepth, m_uiX, m_uiY, m_uiZ, and TreeNode().

Referenced by addBalancingDescendants(), addBrothers(), ot::appendCompleteRegion(), balanceSubtree(), ot::DA::buildNodeList(), completeSubtree(), ot::DA_blockPartStage2(), ot::flagNodesType1(), ot::flagNodesType3(), getB_Back(), getB_Bottom(), getB_BottomBack(), getB_BottomFront(), getB_BottomLeft(), getB_BottomLeftBack(), getB_BottomLeftFront(), getB_BottomRight(), getB_BottomRightBack(), getB_BottomRightFront(), getB_Front(), getB_Left(), getB_LeftBack(), getB_LeftFront(), getB_Right(), getB_RightBack(), getB_RightFront(), getB_Top(), getB_TopBack(), getB_TopFront(), getB_TopLeft(), getB_TopLeftBack(), getB_TopLeftFront(), getB_TopRight(), getB_TopRightBack(), getB_TopRightFront(), getParentX(), getParentY(), getParentZ(), ot::includeSiblingsOfBoundary(), main(), ot::prepareAprioriCommMessagesInDAtype1(), ot::prepareAprioriCommMessagesInDAtype2(), and ot::regularGrid2Octree().

unsigned int ot::TreeNode::getParentX  )  const [inline]
 

Definition at line 203 of file TreeNode.txx.

References getParent(), and getX().

unsigned int ot::TreeNode::getParentY  )  const [inline]
 

Definition at line 207 of file TreeNode.txx.

References getParent(), and getY().

unsigned int ot::TreeNode::getParentZ  )  const [inline]
 

Definition at line 211 of file TreeNode.txx.

References getParent(), and getZ().

TreeNode ot::TreeNode::getRight  )  const [inline]
 

Definition at line 282 of file TreeNode.txx.

References getLevel(), m_uiDim, m_uiMaxDepth, maxX(), minY(), and minZ().

Referenced by balanceSubtree(), getAllNeighbours(), getB_BottomRight(), getB_BottomRightBack(), getB_BottomRightFront(), getB_Right(), getB_RightBack(), getB_RightFront(), getB_TopRight(), getB_TopRightBack(), getB_TopRightFront(), getBottomRight(), getRightBack(), getRightFront(), getSearchKeys(), and getTopRight().

TreeNode ot::TreeNode::getRightBack  )  const [inline]
 

Definition at line 358 of file TreeNode.txx.

References getBack(), and getRight().

Referenced by balanceSubtree(), getAllNeighbours(), getB_BottomRightBack(), getB_RightBack(), getB_TopRightBack(), and getSearchKeys().

TreeNode ot::TreeNode::getRightFront  )  const [inline]
 

Definition at line 366 of file TreeNode.txx.

References getFront(), and getRight().

Referenced by balanceSubtree(), getAllNeighbours(), getB_BottomRightFront(), getB_RightFront(), getB_TopRightFront(), and getSearchKeys().

std::vector< TreeNode > ot::TreeNode::getSearchKeys bool  incCorners  ) 
 

Definition at line 339 of file TreeNode.C.

References getBack(), getBottom(), getBottomBack(), getBottomFront(), getBottomLeft(), getBottomLeftBack(), getBottomLeftFront(), getBottomRight(), getBottomRightBack(), getBottomRightFront(), getChildNumber(), getFront(), getLeft(), getLeftBack(), getLeftFront(), getRight(), getRightBack(), getRightFront(), getTop(), getTopBack(), getTopFront(), getTopLeft(), getTopLeftBack(), getTopLeftFront(), getTopRight(), getTopRightBack(), getTopRightFront(), m_uiDim, m_uiMaxDepth, maxX(), maxY(), maxZ(), minX(), minY(), and minZ().

Referenced by ot::parallelRippleType1(), ot::parallelRippleType2(), ot::parallelRippleType3(), ot::pointerBasedRipple(), and ot::ripple().

TreeNode ot::TreeNode::getTop  )  const [inline]
 

Definition at line 340 of file TreeNode.txx.

References getLevel(), m_uiDim, m_uiMaxDepth, maxZ(), minX(), and minY().

Referenced by balanceSubtree(), getAllNeighbours(), getB_Top(), getB_TopBack(), getB_TopFront(), getB_TopLeft(), getB_TopLeftBack(), getB_TopLeftFront(), getB_TopRight(), getB_TopRightBack(), getB_TopRightFront(), getSearchKeys(), getTopBack(), getTopFront(), getTopLeft(), and getTopRight().

TreeNode ot::TreeNode::getTopBack  )  const [inline]
 

Definition at line 410 of file TreeNode.txx.

References getBack(), and getTop().

Referenced by balanceSubtree(), getAllNeighbours(), getB_TopBack(), getB_TopLeftBack(), getB_TopRightBack(), and getSearchKeys().

TreeNode ot::TreeNode::getTopFront  )  const [inline]
 

Definition at line 414 of file TreeNode.txx.

References getFront(), and getTop().

Referenced by balanceSubtree(), getAllNeighbours(), getB_TopFront(), getB_TopLeftFront(), getB_TopRightFront(), and getSearchKeys().

TreeNode ot::TreeNode::getTopLeft  )  const [inline]
 

Definition at line 402 of file TreeNode.txx.

References getLeft(), and getTop().

Referenced by balanceSubtree(), getAllNeighbours(), getB_TopLeft(), getB_TopLeftBack(), getB_TopLeftFront(), getSearchKeys(), getTopLeftBack(), and getTopLeftFront().

TreeNode ot::TreeNode::getTopLeftBack  )  const [inline]
 

Definition at line 418 of file TreeNode.txx.

References getBack(), and getTopLeft().

Referenced by balanceSubtree(), getAllNeighbours(), getB_TopLeftBack(), and getSearchKeys().

TreeNode ot::TreeNode::getTopLeftFront  )  const [inline]
 

Definition at line 426 of file TreeNode.txx.

References getFront(), and getTopLeft().

Referenced by balanceSubtree(), getAllNeighbours(), getB_TopLeftFront(), and getSearchKeys().

TreeNode ot::TreeNode::getTopRight  )  const [inline]
 

Definition at line 406 of file TreeNode.txx.

References getRight(), and getTop().

Referenced by balanceSubtree(), getAllNeighbours(), getB_TopRight(), getB_TopRightBack(), getB_TopRightFront(), getSearchKeys(), getTopRightBack(), and getTopRightFront().

TreeNode ot::TreeNode::getTopRightBack  )  const [inline]
 

Definition at line 422 of file TreeNode.txx.

References getBack(), and getTopRight().

Referenced by balanceSubtree(), getAllNeighbours(), getB_TopRightBack(), and getSearchKeys().

TreeNode ot::TreeNode::getTopRightFront  )  const [inline]
 

Definition at line 430 of file TreeNode.txx.

References getFront(), and getTopRight().

Referenced by balanceSubtree(), getAllNeighbours(), getB_TopRightFront(), and getSearchKeys().

unsigned int ot::TreeNode::getWeight  )  const [inline]
 

Definition at line 187 of file TreeNode.txx.

Referenced by ot::bPartComparator(), ot::flagNodesType3(), ot::getNodeWeight(), ot::lessThanUsingWts(), and ot::prepareBalComm1MessagesType1().

unsigned int ot::TreeNode::getX  )  const [inline]
 

Definition at line 191 of file TreeNode.txx.

Referenced by ot::addBoundaryNodesType1(), ot::addBoundaryNodesType2(), ot::DA::buildNodeList(), ot::discardExtraBoundaryOctants(), ot::flagNodesType1(), ot::flagNodesType2(), ot::flagNodesType3(), getMorton(), ot::getNCA(), getParentX(), isBoundaryOctant(), ot::markBoundaryNodesAtAllLevels(), minX(), ot::operator<<(), and ot::prepareAprioriCommMessagesInDAtype2().

unsigned int ot::TreeNode::getY  )  const [inline]
 

Definition at line 195 of file TreeNode.txx.

Referenced by ot::addBoundaryNodesType1(), ot::addBoundaryNodesType2(), ot::DA::buildNodeList(), ot::discardExtraBoundaryOctants(), ot::flagNodesType1(), ot::flagNodesType2(), ot::flagNodesType3(), getMorton(), ot::getNCA(), getParentY(), isBoundaryOctant(), ot::markBoundaryNodesAtAllLevels(), minY(), ot::operator<<(), and ot::prepareAprioriCommMessagesInDAtype2().

unsigned int ot::TreeNode::getZ  )  const [inline]
 

Definition at line 199 of file TreeNode.txx.

Referenced by ot::addBoundaryNodesType1(), ot::addBoundaryNodesType2(), ot::DA::buildNodeList(), ot::discardExtraBoundaryOctants(), ot::flagNodesType1(), ot::flagNodesType2(), ot::flagNodesType3(), getMorton(), ot::getNCA(), getParentZ(), isBoundaryOctant(), ot::markBoundaryNodesAtAllLevels(), minZ(), ot::operator<<(), and ot::prepareAprioriCommMessagesInDAtype2().

bool ot::TreeNode::isAncestor const TreeNode other  )  const [inline]
 

Checks if this octant is an ancestor of the input.

Author:
Rahul Sampath
Returns:
'true' if this is an ancestor of 'other'

Definition at line 225 of file TreeNode.txx.

References getDLD(), m_uiDim, and m_uiMaxDepth.

Referenced by addBalancingDescendants(), ot::addOctantToTreeNodePointer(), ot::balanceOctree(), balanceSubtree(), ot::completeOctree(), completeSubtree(), ComputeFBM2_RHS_Part1(), ComputeFBM_RHS_Part2(), ComputeRHS9(), ot::findOctantOrFinestAncestor(), ot::test::isBalancedInternal(), pickInternalBoundaryCells(), and splitInternalAndBoundaryCells().

bool ot::TreeNode::isBoundaryOctant const TreeNode block,
int  type = POSITIVE,
unsigned char *  flags = NULL
const
 

flags is a datastructure which will store which boundaries were touched. highest 3 bits are for +Z,+y, and +x axes ... and and smallest 3 are for -z,-y and -x axes.

Author:
Hari Sundar

Definition at line 198 of file TreeNode.C.

References getLevel(), getX(), getY(), getZ(), m_uiMaxDepth, m_uiX, m_uiY, and m_uiZ.

bool ot::TreeNode::isBoundaryOctant int  type = POSITIVE,
unsigned char *  flags = NULL
const
 

flags is a datastructure which will store which boundaries were touched. highest 3 bits are for +Z,+y, and +x axes ... and and smallest 3 are for -z,-y and -x axes.

Author:
Hari Sundar

Definition at line 241 of file TreeNode.C.

References getLevel(), m_uiMaxDepth, m_uiX, m_uiY, and m_uiZ.

Referenced by ot::addSecondRing().

unsigned int ot::TreeNode::maxX  )  const [inline]
 

Definition at line 250 of file TreeNode.txx.

References getLevel(), m_uiMaxDepth, and minX().

Referenced by balanceSubtree(), getDLD(), getRight(), getSearchKeys(), main(), pickInternalBoundaryCells(), ot::prepareAprioriCommMessagesInDAtype1(), ot::prepareBalComm1MessagesType1(), ot::selectNeighboringBlocks(), and splitInternalAndBoundaryCells().

unsigned int ot::TreeNode::maxY  )  const [inline]
 

Definition at line 255 of file TreeNode.txx.

References getLevel(), m_uiDim, m_uiMaxDepth, and minY().

Referenced by balanceSubtree(), getBack(), getDLD(), getSearchKeys(), main(), pickInternalBoundaryCells(), ot::prepareAprioriCommMessagesInDAtype1(), ot::prepareBalComm1MessagesType1(), ot::selectNeighboringBlocks(), and splitInternalAndBoundaryCells().

unsigned int ot::TreeNode::maxZ  )  const [inline]
 

Definition at line 261 of file TreeNode.txx.

References getLevel(), m_uiDim, m_uiMaxDepth, and minZ().

Referenced by balanceSubtree(), getDLD(), getSearchKeys(), getTop(), main(), pickInternalBoundaryCells(), ot::prepareAprioriCommMessagesInDAtype1(), ot::prepareBalComm1MessagesType1(), ot::selectNeighboringBlocks(), and splitInternalAndBoundaryCells().

unsigned int ot::TreeNode::minX  )  const [inline]
 

Definition at line 236 of file TreeNode.txx.

References getX().

Referenced by getBack(), getBottom(), getFront(), getLeft(), getSearchKeys(), getTop(), ot::getTouchConfig(), main(), maxX(), pickInternalBoundaryCells(), ot::prepareAprioriCommMessagesInDAtype1(), ot::prepareBalComm1MessagesType1(), ot::selectNeighboringBlocks(), and splitInternalAndBoundaryCells().

unsigned int ot::TreeNode::minY  )  const [inline]
 

Definition at line 240 of file TreeNode.txx.

References getY(), and m_uiDim.

Referenced by getBottom(), getFront(), getLeft(), getRight(), getSearchKeys(), getTop(), ot::getTouchConfig(), main(), maxY(), pickInternalBoundaryCells(), ot::prepareAprioriCommMessagesInDAtype1(), ot::prepareBalComm1MessagesType1(), ot::selectNeighboringBlocks(), and splitInternalAndBoundaryCells().

unsigned int ot::TreeNode::minZ  )  const [inline]
 

Definition at line 245 of file TreeNode.txx.

References getZ(), and m_uiDim.

Referenced by getBack(), getBottom(), getFront(), getLeft(), getRight(), getSearchKeys(), ot::getTouchConfig(), main(), maxZ(), pickInternalBoundaryCells(), ot::prepareAprioriCommMessagesInDAtype1(), ot::prepareBalComm1MessagesType1(), ot::selectNeighboringBlocks(), and splitInternalAndBoundaryCells().

bool ot::TreeNode::operator!= TreeNode const &  other  )  const [inline]
 

Two octants are equal if their respective anchors are equal and their levels are equal.

Author:
Rahul Sampath

Definition at line 57 of file TreeNode.txx.

References m_uiDim, and m_uiMaxDepth.

bool ot::TreeNode::operator< TreeNode const &  other  )  const [inline]
 

The comparisons are based on the Morton ordering of the octants.

Author:
Rahul Sampath

Hari Sundar

Definition at line 68 of file TreeNode.txx.

References m_uiDim, m_uiLevel, m_uiMaxDepth, m_uiX, m_uiY, and m_uiZ.

bool ot::TreeNode::operator<= TreeNode const &  other  )  const [inline]
 

The comparisons are based on the Morton ordering of the octants.

Author:
Rahul Sampath

Definition at line 97 of file TreeNode.txx.

References m_uiDim, and m_uiMaxDepth.

TreeNode & ot::TreeNode::operator= TreeNode const &  other  ) 
 

Assignment operator. No checks for dim or maxD are performed. It's ok to change dim and maxD of the current octant using the assignment operator.

Author:
Rahul Sampath

Definition at line 577 of file TreeNode.C.

References m_uiDim, m_uiLevel, m_uiMaxDepth, m_uiWeight, m_uiX, m_uiY, and m_uiZ.

bool ot::TreeNode::operator== TreeNode const &  other  )  const [inline]
 

Two octants are equal if their respective anchors are equal and their levels are equal.

Author:
Rahul Sampath

Definition at line 41 of file TreeNode.txx.

References m_uiDim, m_uiLevel, m_uiMaxDepth, m_uiX, m_uiY, and m_uiZ.

bool ot::TreeNode::operator> TreeNode const &  other  )  const [inline]
 

The comparisons are based on the Morton ordering of the octants.

Author:
Rahul Sampath

Definition at line 108 of file TreeNode.txx.

References m_uiDim, and m_uiMaxDepth.

bool ot::TreeNode::operator>= TreeNode const &  other  )  const [inline]
 

The comparisons are based on the Morton ordering of the octants.

Author:
Rahul Sampath

Definition at line 119 of file TreeNode.txx.

References m_uiDim, and m_uiMaxDepth.

int ot::TreeNode::orFlag unsigned int  w  )  [inline]
 

Definition at line 177 of file TreeNode.txx.

References m_uiLevel.

Referenced by ot::DA::buildNodeList(), ot::flagNodesType1(), ot::flagNodesType2(), ot::flagNodesType3(), and ot::markBoundaryNodesAtAllLevels().

int ot::TreeNode::pickInternalBoundaryCells std::vector< TreeNode > &  in,
std::vector< TreeNode > &  out
const
 

returns the subset of the input that touch this octant's boundary and are this octant's decendants.

Author:
Rahul Sampath

Parameters:
in a set of decendants of this octant
out the output vector

Definition at line 589 of file TreeNode.C.

References ot::areComparable(), getDim(), isAncestor(), maxX(), maxY(), maxZ(), minX(), minY(), minZ(), NRM, and RED.

Referenced by ot::balanceBlocks(), and ot::comboRipple().

int ot::TreeNode::setFlag unsigned int  w  )  [inline]
 

Definition at line 182 of file TreeNode.txx.

References m_uiLevel.

int ot::TreeNode::setWeight unsigned int  w  )  [inline]
 

Definition at line 151 of file TreeNode.txx.

References m_uiWeight.

Referenced by ot::blockPartStage1(), ot::blockPartStage2(), ot::blockPartStage2_p2o(), ot::DA::buildNodeList(), ot::DA_blockPartStage2(), ot::flagNodesType3(), ot::p2oLocal(), ot::prepareAprioriCommMessagesInDAtype1(), and ot::prepareWlistInBal().

int ot::TreeNode::splitInternalAndBoundaryCells std::vector< TreeNode > &  allInternal,
std::vector< TreeNode > &  onlyInternal,
std::vector< TreeNode > &  boundary
const
 

separates the input into two lists: one containing this octant's decendants that touch this octant's boundary and another containing the rest of the octants in the input

Author:
Rahul Sampath

Parameters:
allInternal a set of this octant's decendants
onlyInternal decendants of this octant that lie in the interior of this octant
boundary decendants of this octant that lie on its boundary

Definition at line 639 of file TreeNode.C.

References ot::areComparable(), getDim(), isAncestor(), maxX(), maxY(), maxZ(), minX(), minY(), minZ(), NRM, and RED.


Friends And Related Function Documentation

std::ostream& operator<< std::ostream &  os,
TreeNode const &  node
[friend]
 

Appends the anchor and level of the octant to the stream.

Author:
Rahul Sampath

Definition at line 569 of file TreeNode.C.


Member Data Documentation

unsigned int ot::TreeNode::m_uiDim [protected]
 

Definition at line 31 of file TreeNode.h.

Referenced by addBalancingDescendants(), addChildren(), completeSubtree(), getAllB_Neighbours(), getAllNeighbours(), getAncestor(), getBack(), getBottom(), getDFD(), getDLD(), getFront(), getLeft(), getParent(), getRight(), getSearchKeys(), getTop(), isAncestor(), maxY(), maxZ(), minY(), minZ(), operator!=(), operator<(), operator<=(), operator=(), operator==(), operator>(), operator>=(), and TreeNode().

unsigned int ot::TreeNode::m_uiLevel [protected]
 

Definition at line 31 of file TreeNode.h.

Referenced by addBrothers(), addChildren(), getLevel(), getParent(), operator<(), operator=(), operator==(), orFlag(), setFlag(), and TreeNode().

unsigned int ot::TreeNode::m_uiMaxDepth [protected]
 

Definition at line 31 of file TreeNode.h.

Referenced by addBalancingDescendants(), addChildren(), completeSubtree(), getAncestor(), getBack(), getBottom(), getChildNumber(), getDFD(), getDLD(), getFront(), getLeft(), getParent(), getRight(), getSearchKeys(), getTop(), isAncestor(), isBoundaryOctant(), maxX(), maxY(), maxZ(), operator!=(), operator<(), operator<=(), operator=(), operator==(), operator>(), operator>=(), and TreeNode().

unsigned int ot::TreeNode::m_uiWeight [protected]
 

Definition at line 31 of file TreeNode.h.

Referenced by addWeight(), operator=(), setWeight(), and TreeNode().

unsigned int ot::TreeNode::m_uiX [protected]
 

Definition at line 31 of file TreeNode.h.

Referenced by addChildren(), balanceSubtree(), getAncestor(), getChildNumber(), getDFD(), getParent(), isBoundaryOctant(), operator<(), operator=(), operator==(), and TreeNode().

unsigned int ot::TreeNode::m_uiY [protected]
 

Definition at line 31 of file TreeNode.h.

Referenced by addChildren(), balanceSubtree(), getAncestor(), getChildNumber(), getDFD(), getParent(), isBoundaryOctant(), operator<(), operator=(), operator==(), and TreeNode().

unsigned int ot::TreeNode::m_uiZ [protected]
 

Definition at line 31 of file TreeNode.h.

Referenced by addChildren(), balanceSubtree(), getAncestor(), getChildNumber(), getDFD(), getParent(), isBoundaryOctant(), operator<(), operator=(), operator==(), and TreeNode().


The documentation for this class was generated from the following files:
Generated on Tue Mar 24 16:14:24 2009 for DENDRO by  doxygen 1.3.9.1