itk::PowerOfTwoPointTreeNode
#include <itkPowerOfTwoPointTree.h>
Inherits from LightObject
Public Types
| Name | |
|---|---|
| typedef PowerOfTwoPointTreeNode | Self |
| typedef SmartPointer< Self > | Pointer |
| typedef SmartPointer< const Self > | ConstPointer |
| typedef LightObject | Superclass |
| typedef Point< double, VDimension > | PointType |
| typedef std::list< ParticlePointIndexPair< VDimension > > | PointListType |
Public Functions
| Name | |
|---|---|
| itkTypeMacro(PowerOfTwoPointTreeNode , LightObject ) | |
| itkNewMacro(Self ) | |
| itkStaticConstMacro(BranchesPerNode , int , (powstruct< 2, VDimension >::c) ) | |
| bool | operator==(const PowerOfTwoPointTreeNode & o) const |
| bool | IsLeaf() const |
| PointListType::iterator | InsertElement(const ParticlePointIndexPair< VDimension > & elem) |
| bool | Contains(const PointType & p) const |
| void | SetLowerBound(const PointType & p) |
| const PointType & | GetLowerBound() const |
| void | SetUpperBound(const PointType & p) |
| const PointType & | GetUpperBound() const |
| Self::Pointer * | GetBranches() |
| const Self::Pointer * | GetBranches() const |
| Self::Pointer & | GetBranch(unsigned int i) |
| const Self::Pointer & | GetBranch(unsigned int i) const |
| void | SetBranch(unsigned int b, typename Self::Pointer n) |
| void | PrintSelf(std::ostream & os, Indent indent) const |
| const PointListType & | GetList() const |
| PointListType & | GetList() |
Protected Functions
| Name | |
|---|---|
| PowerOfTwoPointTreeNode() | |
| ~PowerOfTwoPointTreeNode() | |
| PowerOfTwoPointTreeNode(const PowerOfTwoPointTreeNode & o) | |
| const PowerOfTwoPointTreeNode & | operator=(const PowerOfTwoPointTreeNode & o) |
Detailed Description
template <unsigned int VDimension>
class itk::PowerOfTwoPointTreeNode;
A node object for use in the PowerOfTwoPointTree. This class contains a bounding box, a set of child (branch) node pointers, and a linked list that may be filled with Points and Indices (unsigned ints). The single template parameter is the dimensionality of the Points. This class was designed for use as a binning structure for itkParticleNeighborhood classes.
Public Types Documentation
typedef Self
typedef PowerOfTwoPointTreeNode itk::PowerOfTwoPointTreeNode< VDimension >::Self;
Standard class typedefs.
typedef Pointer
typedef SmartPointer<Self> itk::PowerOfTwoPointTreeNode< VDimension >::Pointer;
typedef ConstPointer
typedef SmartPointer<const Self> itk::PowerOfTwoPointTreeNode< VDimension >::ConstPointer;
typedef Superclass
typedef LightObject itk::PowerOfTwoPointTreeNode< VDimension >::Superclass;
typedef PointType
typedef Point<double, VDimension> itk::PowerOfTwoPointTreeNode< VDimension >::PointType;
Point type stored in the leaf nodes.
typedef PointListType
typedef std::list<ParticlePointIndexPair<VDimension> > itk::PowerOfTwoPointTreeNode< VDimension >::PointListType;
List type for storing lists of points+indices.
Public Functions Documentation
function itkTypeMacro
itkTypeMacro(
PowerOfTwoPointTreeNode ,
LightObject
)
function itkNewMacro
itkNewMacro(
Self
)
Method for creation through the object factory.
function itkStaticConstMacro
itkStaticConstMacro(
BranchesPerNode ,
int ,
(powstruct< 2, VDimension >::c)
)
The number of branches at each node of the tree, which is 2^VDimension, e.g. 4 in 2D, 8 in 3D, etc.
function operator==
inline bool operator==(
const PowerOfTwoPointTreeNode & o
) const
Equivalence operator, ignores value type.
function IsLeaf
inline bool IsLeaf() const
Returns true if this is a leaf node (has no branches) and false otherwise. The assumption is that a non-leaf node cannot have any empty branches. Each level of the tree must contain BranchesPerNode divisions. This assumption speeds up certain types of processing.
function InsertElement
inline PointListType::iterator InsertElement(
const ParticlePointIndexPair< VDimension > & elem
)
Insert a PointIndexPair into the list associated with this node.
function Contains
inline bool Contains(
const PointType & p
) const
Returns true if the bounding box in this node contains the given point and false otherwise.
function SetLowerBound
inline void SetLowerBound(
const PointType & p
)
Set/Get the lower and upper bounds of the region described by this node.
function GetLowerBound
inline const PointType & GetLowerBound() const
function SetUpperBound
inline void SetUpperBound(
const PointType & p
)
function GetUpperBound
inline const PointType & GetUpperBound() const
function GetBranches
inline Self::Pointer * GetBranches()
Return the data structure holding branch (child) nodes.
function GetBranches
inline const Self::Pointer * GetBranches() const
function GetBranch
inline Self::Pointer & GetBranch(
unsigned int i
)
Return a specific branch
function GetBranch
inline const Self::Pointer & GetBranch(
unsigned int i
) const
function SetBranch
inline void SetBranch(
unsigned int b,
typename Self::Pointer n
)
Set the node for a specific branch of this node.
function PrintSelf
void PrintSelf(
std::ostream & os,
Indent indent
) const
Standard ITK PrintSelf method.
function GetList
inline const PointListType & GetList() const
Get the list of elements which contain points and associated indices.
function GetList
inline PointListType & GetList()
Protected Functions Documentation
function PowerOfTwoPointTreeNode
inline PowerOfTwoPointTreeNode()
function ~PowerOfTwoPointTreeNode
inline ~PowerOfTwoPointTreeNode()
function PowerOfTwoPointTreeNode
PowerOfTwoPointTreeNode(
const PowerOfTwoPointTreeNode & o
)
function operator=
const PowerOfTwoPointTreeNode & operator=(
const PowerOfTwoPointTreeNode & o
)
Updated on 2022-07-23 at 17:50:03 -0600