ActiViz .NET  5.8.0
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Private Member Functions | Static Private Member Functions
Kitware.VTK.vtkIncrementalOctreeNode Class Reference

vtkIncrementalOctreeNode - Octree node constituting incremental octree (in support of both point location and point insertion) More...

Inheritance diagram for Kitware.VTK.vtkIncrementalOctreeNode:
[legend]
Collaboration diagram for Kitware.VTK.vtkIncrementalOctreeNode:
[legend]

List of all members.

Public Member Functions

 vtkIncrementalOctreeNode (IntPtr rawCppThis, bool callDisposalMethod, bool strong)
 Automatically generated constructor - called from generated code. DO NOT call directly.
 vtkIncrementalOctreeNode ()
 Undocumented Block.
int ContainsPoint (IntPtr pnt)
 In-lined for performance.
int ContainsPointByData (IntPtr pnt)
 In-lined for performance.
void DeleteChildNodes ()
 Delete the eight child nodes.
void ExportAllPointIdsByDirectSet (IntPtr pntIdx, vtkIdList idList)
 Export all the indices of the points (contained in or under this node) by directly setting them in an allocated vtkIdList object. pntIdx indicates the starting location (in terms of vtkIdList) from which new point indices are added to vtkIdList by vtkIdList::SetId().
void ExportAllPointIdsByInsertion (vtkIdList idList)
 Export all the indices of the points (contained in or under this node) by inserting them to an allocated vtkIdList via vtkIdList::InsertNextId().
void GetBounds (IntPtr bounds)
 Get the spatial bounding box of the node. The values are returned via an array in order of: x_min, x_max, y_min, y_max, z_min, z_max.
vtkIncrementalOctreeNode GetChild (int i)
 Get quick access to a child of this node. Note that this node is assumed to be a non-leaf one and no checking is performed on the node type.
int GetChildIndex (IntPtr point)
 In-lined for performance.
double GetDistance2ToBoundary (IntPtr point, vtkIncrementalOctreeNode rootNode, int checkData)
 Compute the minimum squared distance from a point to this node, with all six boundaries considered. The data bounding box is checked if checkData is non-zero.
double GetDistance2ToBoundary (IntPtr point, IntPtr closest, vtkIncrementalOctreeNode rootNode, int checkData)
 Compute the minimum squared distance from a point to this node, with all six boundaries considered. The data bounding box is checked if checkData is non-zero. The closest on-boundary point is returned via closest.
double GetDistance2ToInnerBoundary (IntPtr point, vtkIncrementalOctreeNode rootNode)
 Given a point inside this node, get the minimum squared distance to all inner boundaries. An inner boundary is a node's face that is shared by another non-root node.
virtual double[] GetMaxBounds ()
 Get access to MaxBounds. Do not free this pointer.
virtual void GetMaxBounds (ref double _arg1, ref double _arg2, ref double _arg3)
 Get access to MaxBounds. Do not free this pointer.
virtual void GetMaxBounds (IntPtr _arg)
 Get access to MaxBounds. Do not free this pointer.
IntPtr GetMaxDataBounds ()
 Get access to MaxDataBounds. Note that MaxDataBounds is not valid until point insertion.
virtual double[] GetMinBounds ()
 Get access to MinBounds. Do not free this pointer.
virtual void GetMinBounds (ref double _arg1, ref double _arg2, ref double _arg3)
 Get access to MinBounds. Do not free this pointer.
virtual void GetMinBounds (IntPtr _arg)
 Get access to MinBounds. Do not free this pointer.
IntPtr GetMinDataBounds ()
 Get access to MinDataBounds. Note that MinDataBounds is not valid until point insertion.
virtual int GetNumberOfPoints ()
 Get the number of points inside or under this node.
virtual vtkIdList GetPointIdSet ()
 Get the list of point indices, NULL for a non-leaf node.
int InsertPoint (vtkPoints points, IntPtr newPnt, int maxPts, IntPtr pntId, int ptMode)
 This function is called after a successful point-insertion check and only applies to a leaf node. Prior to a call to this function, the octree should have been retrieved top-down to find the specific leaf node in which this new point (newPt) will be inserted. The actual index of the new point (to be inserted to points) is stored in pntId. Argument ptMode specifies whether the point is not inserted at all but instead only the point index is provided upon 0, the point is inserted via vtkPoints:: InsertPoint() upon 1, or it is inserted via vtkPoints::InsertNextPoint() upon 2. For case 0, pntId needs to be specified. For cases 1 and 2, the actual point index is returned via pntId. Note that this function always returns 1 to indicate the success of point insertion.
override int IsA (string type)
 Undocumented Block.
int IsLeaf ()
 Determine whether or not this node is a leaf.
new vtkIncrementalOctreeNode NewInstance ()
 Undocumented Block.
void SetBounds (double x1, double x2, double y1, double y2, double z1, double z2)
 Set the spatial bounding box of the node. This function sets a default data bounding box.

Static Public Member Functions

static new vtkIncrementalOctreeNode New ()
 Undocumented Block.
static new int IsTypeOf (string type)
 Undocumented Block.
static new vtkIncrementalOctreeNode SafeDownCast (vtkObjectBase o)
 Undocumented Block.

Public Attributes

new const string MRFullTypeName = "Kitware.VTK.vtkIncrementalOctreeNode"
 Automatically generated type registration mechanics.

Static Public Attributes

static new readonly string MRClassNameKey = "24vtkIncrementalOctreeNode"
 Automatically generated type registration mechanics.

Protected Member Functions

override void Dispose (bool disposing)
 Automatically generated protected Dispose method - called from public Dispose or the C# destructor. DO NOT call directly.

Private Member Functions

static internal IntPtr vtkIncrementalOctreeNode_New (ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal int vtkIncrementalOctreeNode_ContainsPoint_01 (HandleRef pThis, IntPtr pnt)
static internal int vtkIncrementalOctreeNode_ContainsPointByData_02 (HandleRef pThis, IntPtr pnt)
static internal void vtkIncrementalOctreeNode_DeleteChildNodes_03 (HandleRef pThis)
static internal void vtkIncrementalOctreeNode_ExportAllPointIdsByDirectSet_04 (HandleRef pThis, IntPtr pntIdx, HandleRef idList)
static internal void vtkIncrementalOctreeNode_ExportAllPointIdsByInsertion_05 (HandleRef pThis, HandleRef idList)
static internal void vtkIncrementalOctreeNode_GetBounds_06 (HandleRef pThis, IntPtr bounds)
static internal IntPtr vtkIncrementalOctreeNode_GetChild_07 (HandleRef pThis, int i, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal int vtkIncrementalOctreeNode_GetChildIndex_08 (HandleRef pThis, IntPtr point)
static internal double vtkIncrementalOctreeNode_GetDistance2ToBoundary_09 (HandleRef pThis, IntPtr point, HandleRef rootNode, int checkData)
static internal double vtkIncrementalOctreeNode_GetDistance2ToBoundary_10 (HandleRef pThis, IntPtr point, IntPtr closest, HandleRef rootNode, int checkData)
static internal double vtkIncrementalOctreeNode_GetDistance2ToInnerBoundary_11 (HandleRef pThis, IntPtr point, HandleRef rootNode)
static internal IntPtr vtkIncrementalOctreeNode_GetMaxBounds_12 (HandleRef pThis)
static internal void vtkIncrementalOctreeNode_GetMaxBounds_13 (HandleRef pThis, ref double _arg1, ref double _arg2, ref double _arg3)
static internal void vtkIncrementalOctreeNode_GetMaxBounds_14 (HandleRef pThis, IntPtr _arg)
static internal IntPtr vtkIncrementalOctreeNode_GetMaxDataBounds_15 (HandleRef pThis)
static internal IntPtr vtkIncrementalOctreeNode_GetMinBounds_16 (HandleRef pThis)
static internal void vtkIncrementalOctreeNode_GetMinBounds_17 (HandleRef pThis, ref double _arg1, ref double _arg2, ref double _arg3)
static internal void vtkIncrementalOctreeNode_GetMinBounds_18 (HandleRef pThis, IntPtr _arg)
static internal IntPtr vtkIncrementalOctreeNode_GetMinDataBounds_19 (HandleRef pThis)
static internal int vtkIncrementalOctreeNode_GetNumberOfPoints_20 (HandleRef pThis)
static internal IntPtr vtkIncrementalOctreeNode_GetPointIdSet_21 (HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal int vtkIncrementalOctreeNode_InsertPoint_22 (HandleRef pThis, HandleRef points, IntPtr newPnt, int maxPts, IntPtr pntId, int ptMode)
static internal int vtkIncrementalOctreeNode_IsA_23 (HandleRef pThis, string type)
static internal int vtkIncrementalOctreeNode_IsLeaf_24 (HandleRef pThis)
static internal int vtkIncrementalOctreeNode_IsTypeOf_25 (string type)
static internal IntPtr vtkIncrementalOctreeNode_NewInstance_27 (HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal IntPtr vtkIncrementalOctreeNode_SafeDownCast_28 (HandleRef o, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal void vtkIncrementalOctreeNode_SetBounds_29 (HandleRef pThis, double x1, double x2, double y1, double y2, double z1, double z2)

Static Private Member Functions

static vtkIncrementalOctreeNode ()
 Automatically generated type registration mechanics.

Detailed Description

vtkIncrementalOctreeNode - Octree node constituting incremental octree (in support of both point location and point insertion)

Description Octree nodes serve as spatial sub-division primitives to build the search structure of an incremental octree in a recursive top-down manner. The hierarchy takes the form of a tree-like representation by which a parent node contains eight mutually non-overlapping child nodes. Each child is assigned with an axis-aligned rectangular volume (Spatial Bounding Box) and the eight children together cover exactly the same region as governed by their parent. The eight child nodes / octants are ordered as

{ (xBBoxMin, xBBoxMid] & (yBBoxMin, yBBoxMid] & (zBBoxMin, zBBoxMid] }, { (xBBoxMid, xBBoxMax] & (yBBoxMin, yBBoxMid] & (zBBoxMin, zBBoxMid] }, { (xBBoxMin, xBBoxMid] & (yBBoxMid, yBBoxMax] & (zBBoxMin, zBBoxMid] }, { (xBBoxMid, xBBoxMax] & (yBBoxMid, yBBoxMax] & (zBBoxMin, zBBoxMid] }, { (xBBoxMin, xBBoxMid] & (yBBoxMin, yBBoxMid] & (zBBoxMid, zBBoxMax] }, { (xBBoxMid, xBBoxMax] & (yBBoxMin, yBBoxMid] & (zBBoxMid, zBBoxMax] }, { (xBBoxMin, xBBoxMid] & (yBBoxMid, yBBoxMax] & (zBBoxMid, zBBoxMax] }, { (xBBoxMid, xBBoxMax] & (yBBoxMid, yBBoxMax] & (zBBoxMid, zBBoxMax] },

where { xrange & yRange & zRange } defines the region of each 3D octant. In addition, the points falling within and registered, by means of point indices, in the parent node are distributed to the child nodes for delegated maintenance. In fact, only leaf nodes, i.e., those without any descendants, actually store point indices while each node, regardless of a leaf or non- leaf node, keeps a dynamically updated Data Bounding Box of the inhabitant points, if any. Given a maximum number of points per leaf node, an octree is initialized with an empty leaf node that is then recursively sub-divided, but only on demand as points are incrementally inserted, to construct a populated tree.

Please note that this octree node class is able to handle a large number of EXACTLY duplicate points that is greater than the specified maximum number of points per leaf node. In other words, as an exception, a leaf node may maintain an arbitrary number of exactly duplicate points to deal with possible extreme cases.

vtkIncrementalOctreePointLocator


Constructor & Destructor Documentation

Automatically generated type registration mechanics.

Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode ( IntPtr  rawCppThis,
bool  callDisposalMethod,
bool  strong 
)

Automatically generated constructor - called from generated code. DO NOT call directly.

Undocumented Block.


Member Function Documentation

In-lined for performance.

In-lined for performance.

Delete the eight child nodes.

override void Kitware.VTK.vtkIncrementalOctreeNode.Dispose ( bool  disposing) [protected]

Automatically generated protected Dispose method - called from public Dispose or the C# destructor. DO NOT call directly.

Reimplemented from Kitware.VTK.vtkObject.

Export all the indices of the points (contained in or under this node) by directly setting them in an allocated vtkIdList object. pntIdx indicates the starting location (in terms of vtkIdList) from which new point indices are added to vtkIdList by vtkIdList::SetId().

Export all the indices of the points (contained in or under this node) by inserting them to an allocated vtkIdList via vtkIdList::InsertNextId().

Get the spatial bounding box of the node. The values are returned via an array in order of: x_min, x_max, y_min, y_max, z_min, z_max.

Get quick access to a child of this node. Note that this node is assumed to be a non-leaf one and no checking is performed on the node type.

Here is the call graph for this function:

In-lined for performance.

double Kitware.VTK.vtkIncrementalOctreeNode.GetDistance2ToBoundary ( IntPtr  point,
vtkIncrementalOctreeNode  rootNode,
int  checkData 
)

Compute the minimum squared distance from a point to this node, with all six boundaries considered. The data bounding box is checked if checkData is non-zero.

double Kitware.VTK.vtkIncrementalOctreeNode.GetDistance2ToBoundary ( IntPtr  point,
IntPtr  closest,
vtkIncrementalOctreeNode  rootNode,
int  checkData 
)

Compute the minimum squared distance from a point to this node, with all six boundaries considered. The data bounding box is checked if checkData is non-zero. The closest on-boundary point is returned via closest.

Given a point inside this node, get the minimum squared distance to all inner boundaries. An inner boundary is a node's face that is shared by another non-root node.

virtual double [] Kitware.VTK.vtkIncrementalOctreeNode.GetMaxBounds ( ) [virtual]

Get access to MaxBounds. Do not free this pointer.

virtual void Kitware.VTK.vtkIncrementalOctreeNode.GetMaxBounds ( ref double  _arg1,
ref double  _arg2,
ref double  _arg3 
) [virtual]

Get access to MaxBounds. Do not free this pointer.

virtual void Kitware.VTK.vtkIncrementalOctreeNode.GetMaxBounds ( IntPtr  _arg) [virtual]

Get access to MaxBounds. Do not free this pointer.

Get access to MaxDataBounds. Note that MaxDataBounds is not valid until point insertion.

virtual double [] Kitware.VTK.vtkIncrementalOctreeNode.GetMinBounds ( ) [virtual]

Get access to MinBounds. Do not free this pointer.

virtual void Kitware.VTK.vtkIncrementalOctreeNode.GetMinBounds ( ref double  _arg1,
ref double  _arg2,
ref double  _arg3 
) [virtual]

Get access to MinBounds. Do not free this pointer.

virtual void Kitware.VTK.vtkIncrementalOctreeNode.GetMinBounds ( IntPtr  _arg) [virtual]

Get access to MinBounds. Do not free this pointer.

Get access to MinDataBounds. Note that MinDataBounds is not valid until point insertion.

Get the number of points inside or under this node.

Get the list of point indices, NULL for a non-leaf node.

Here is the call graph for this function:

int Kitware.VTK.vtkIncrementalOctreeNode.InsertPoint ( vtkPoints  points,
IntPtr  newPnt,
int  maxPts,
IntPtr  pntId,
int  ptMode 
)

This function is called after a successful point-insertion check and only applies to a leaf node. Prior to a call to this function, the octree should have been retrieved top-down to find the specific leaf node in which this new point (newPt) will be inserted. The actual index of the new point (to be inserted to points) is stored in pntId. Argument ptMode specifies whether the point is not inserted at all but instead only the point index is provided upon 0, the point is inserted via vtkPoints:: InsertPoint() upon 1, or it is inserted via vtkPoints::InsertNextPoint() upon 2. For case 0, pntId needs to be specified. For cases 1 and 2, the actual point index is returned via pntId. Note that this function always returns 1 to indicate the success of point insertion.

override int Kitware.VTK.vtkIncrementalOctreeNode.IsA ( string  type) [virtual]

Undocumented Block.

Reimplemented from Kitware.VTK.vtkObject.

Determine whether or not this node is a leaf.

static new int Kitware.VTK.vtkIncrementalOctreeNode.IsTypeOf ( string  type) [static]

Undocumented Block.

Reimplemented from Kitware.VTK.vtkObject.

Undocumented Block.

Reimplemented from Kitware.VTK.vtkObject.

Undocumented Block.

Reimplemented from Kitware.VTK.vtkObject.

Undocumented Block.

Reimplemented from Kitware.VTK.vtkObject.

Here is the call graph for this function:

void Kitware.VTK.vtkIncrementalOctreeNode.SetBounds ( double  x1,
double  x2,
double  y1,
double  y2,
double  z1,
double  z2 
)

Set the spatial bounding box of the node. This function sets a default data bounding box.

static internal int Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_ContainsPoint_01 ( HandleRef  pThis,
IntPtr  pnt 
) [private]
static internal int Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_ContainsPointByData_02 ( HandleRef  pThis,
IntPtr  pnt 
) [private]
static internal void Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_DeleteChildNodes_03 ( HandleRef  pThis) [private]
static internal void Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_ExportAllPointIdsByDirectSet_04 ( HandleRef  pThis,
IntPtr  pntIdx,
HandleRef  idList 
) [private]
static internal void Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_ExportAllPointIdsByInsertion_05 ( HandleRef  pThis,
HandleRef  idList 
) [private]
static internal void Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_GetBounds_06 ( HandleRef  pThis,
IntPtr  bounds 
) [private]
static internal IntPtr Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_GetChild_07 ( HandleRef  pThis,
int  i,
ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal int Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_GetChildIndex_08 ( HandleRef  pThis,
IntPtr  point 
) [private]
static internal double Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_GetDistance2ToBoundary_09 ( HandleRef  pThis,
IntPtr  point,
HandleRef  rootNode,
int  checkData 
) [private]
static internal double Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_GetDistance2ToBoundary_10 ( HandleRef  pThis,
IntPtr  point,
IntPtr  closest,
HandleRef  rootNode,
int  checkData 
) [private]
static internal double Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_GetDistance2ToInnerBoundary_11 ( HandleRef  pThis,
IntPtr  point,
HandleRef  rootNode 
) [private]
static internal IntPtr Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_GetMaxBounds_12 ( HandleRef  pThis) [private]
static internal void Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_GetMaxBounds_13 ( HandleRef  pThis,
ref double  _arg1,
ref double  _arg2,
ref double  _arg3 
) [private]
static internal void Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_GetMaxBounds_14 ( HandleRef  pThis,
IntPtr  _arg 
) [private]
static internal IntPtr Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_GetMaxDataBounds_15 ( HandleRef  pThis) [private]
static internal IntPtr Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_GetMinBounds_16 ( HandleRef  pThis) [private]
static internal void Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_GetMinBounds_17 ( HandleRef  pThis,
ref double  _arg1,
ref double  _arg2,
ref double  _arg3 
) [private]
static internal void Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_GetMinBounds_18 ( HandleRef  pThis,
IntPtr  _arg 
) [private]
static internal IntPtr Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_GetMinDataBounds_19 ( HandleRef  pThis) [private]
static internal IntPtr Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_GetPointIdSet_21 ( HandleRef  pThis,
ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal int Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_InsertPoint_22 ( HandleRef  pThis,
HandleRef  points,
IntPtr  newPnt,
int  maxPts,
IntPtr  pntId,
int  ptMode 
) [private]
static internal int Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_IsA_23 ( HandleRef  pThis,
string  type 
) [private]
static internal int Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_IsLeaf_24 ( HandleRef  pThis) [private]
static internal int Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_IsTypeOf_25 ( string  type) [private]
static internal IntPtr Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_New ( ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal IntPtr Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_NewInstance_27 ( HandleRef  pThis,
ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal IntPtr Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_SafeDownCast_28 ( HandleRef  o,
ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal void Kitware.VTK.vtkIncrementalOctreeNode.vtkIncrementalOctreeNode_SetBounds_29 ( HandleRef  pThis,
double  x1,
double  x2,
double  y1,
double  y2,
double  z1,
double  z2 
) [private]

Member Data Documentation

new readonly string Kitware.VTK.vtkIncrementalOctreeNode.MRClassNameKey = "24vtkIncrementalOctreeNode" [static]

Automatically generated type registration mechanics.

Reimplemented from Kitware.VTK.vtkObject.

new const string Kitware.VTK.vtkIncrementalOctreeNode.MRFullTypeName = "Kitware.VTK.vtkIncrementalOctreeNode"

Automatically generated type registration mechanics.

Reimplemented from Kitware.VTK.vtkObject.


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