VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
vtkHyperOctreeCursor Class Referenceabstract

Objects that can traverse hyperoctree nodes. More...

#include <vtkHyperOctreeCursor.h>

Inherits vtkObject.

Public Types

typedef vtkObject Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkHyperOctreeCursorNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual int GetLeafId ()=0
 
virtual int CurrentIsLeaf ()=0
 
virtual int CurrentIsRoot ()=0
 
virtual int GetCurrentLevel ()=0
 
virtual int GetChildIndex ()=0
 
virtual int CurrentIsTerminalNode ()=0
 
virtual void ToRoot ()=0
 
virtual void ToParent ()=0
 
virtual void ToChild (int child)=0
 
virtual void ToSameNode (vtkHyperOctreeCursor *other)=0
 
virtual int IsEqual (vtkHyperOctreeCursor *other)=0
 
virtual vtkHyperOctreeCursorClone ()=0
 
virtual int SameTree (vtkHyperOctreeCursor *other)=0
 
virtual int GetIndex (int d)=0
 
virtual int GetNumberOfChildren ()=0
 
virtual int GetDimension ()=0
 
virtual int Found ()=0
 
virtual void MoveToNode (int *indices, int level)=0
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkHyperOctreeCursorSafeDownCast (vtkObjectBase *o)
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkHyperOctreeCursor ()
 
virtual ~vtkHyperOctreeCursor ()
 

Detailed Description

Objects that can traverse hyperoctree nodes.

Objects that can traverse hyperoctree nodes. It is an abstract class. Cursors are created by the hyperoctree.

See Also
vtkDataObject vtkFieldData vtkHyperOctreeAlgorithm

Definition at line 50 of file vtkHyperOctreeCursor.h.

Member Typedef Documentation

Definition at line 53 of file vtkHyperOctreeCursor.h.

Constructor & Destructor Documentation

vtkHyperOctreeCursor::vtkHyperOctreeCursor ( )
protected
virtual vtkHyperOctreeCursor::~vtkHyperOctreeCursor ( )
protectedvirtual

Member Function Documentation

static int vtkHyperOctreeCursor::IsTypeOf ( const char *  type)
static
virtual int vtkHyperOctreeCursor::IsA ( const char *  type)
virtual
static vtkHyperOctreeCursor* vtkHyperOctreeCursor::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkHyperOctreeCursor::NewInstanceInternal ( ) const
protectedvirtual
vtkHyperOctreeCursor* vtkHyperOctreeCursor::NewInstance ( ) const
void vtkHyperOctreeCursor::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual int vtkHyperOctreeCursor::GetLeafId ( )
pure virtual

Return the index of the current leaf in the data arrays.

Precondition
is_leaf: CurrentIsLeaf()
virtual int vtkHyperOctreeCursor::CurrentIsLeaf ( )
pure virtual

Is the node pointed by the cursor a leaf?

virtual int vtkHyperOctreeCursor::CurrentIsRoot ( )
pure virtual

Is the node pointed by the cursor the root?

virtual int vtkHyperOctreeCursor::GetCurrentLevel ( )
pure virtual

Return the level of the node pointed by the cursor.

Postcondition
positive_result: result>=0
virtual int vtkHyperOctreeCursor::GetChildIndex ( )
pure virtual

Return the child number of the current node relative to its parent.

Precondition
not_root: !CurrentIsRoot().
Postcondition
valid_range: result>=0 && result<GetNumberOfChildren()
virtual int vtkHyperOctreeCursor::CurrentIsTerminalNode ( )
pure virtual
virtual void vtkHyperOctreeCursor::ToRoot ( )
pure virtual

Move the cursor the root node.

Precondition
can be root
Postcondition
is_root: CurrentIsRoot()
virtual void vtkHyperOctreeCursor::ToParent ( )
pure virtual

Move the cursor to the parent of the current node.

Precondition
not_root: !CurrentIsRoot()
virtual void vtkHyperOctreeCursor::ToChild ( int  child)
pure virtual

Move the cursor to child `child' of the current node.

Precondition
not_leaf: !CurrentIsLeaf()
valid_child: child>=0 && child<this->GetNumberOfChildren()
virtual void vtkHyperOctreeCursor::ToSameNode ( vtkHyperOctreeCursor other)
pure virtual

Move the cursor to the same node pointed by `other'.

Precondition
other_exists: other!=0
same_hyperoctree: this->SameTree(other);
Postcondition
equal: this->IsEqual(other)
virtual int vtkHyperOctreeCursor::IsEqual ( vtkHyperOctreeCursor other)
pure virtual

Is `this' equal to `other'?

Precondition
other_exists: other!=0
same_hyperoctree: this->SameTree(other);
virtual vtkHyperOctreeCursor* vtkHyperOctreeCursor::Clone ( )
pure virtual

Create a copy of `this'.

Postcondition
results_exists:result!=0
same_tree: result->SameTree(this)
virtual int vtkHyperOctreeCursor::SameTree ( vtkHyperOctreeCursor other)
pure virtual

Are `this' and `other' pointing on the same hyperoctree?

Precondition
other_exists: other!=0
virtual int vtkHyperOctreeCursor::GetIndex ( int  d)
pure virtual

Return the index in dimension `d', as if the node was a cell of a uniform grid of 1<<GetCurrentLevel() cells in each dimension.

Precondition
valid_range: d>=0 && d<GetDimension()
Postcondition
valid_result: result>=0 && result<(1<<GetCurrentLevel())
virtual int vtkHyperOctreeCursor::GetNumberOfChildren ( )
pure virtual

Return the number of children for each node of the tree.

Postcondition
positive_number: result>0
virtual int vtkHyperOctreeCursor::GetDimension ( )
pure virtual

Return the dimension of the tree.

Postcondition
positive_result: result>0
virtual void vtkHyperOctreeCursor::MoveToNode ( int *  indices,
int  level 
)
pure virtual

Move to the node described by its indices in each dimension and at a given level. If there is actually a node or a leaf at this location, Found() returns true. Otherwise, Found() returns false and the cursor moves to the closest parent of the query. It can be the root in the worst case.

Precondition
indices_exists: indices!=0
valid_size: sizeof(indices)==GetDimension()
valid_level: level>=0
virtual int vtkHyperOctreeCursor::Found ( )
pure virtual

Did the last call to MoveToNode succeed?


The documentation for this class was generated from the following file: