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

vtkOBBTree - generate oriented bounding box (OBB) tree More...

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

List of all members.

Public Member Functions

 vtkOBBTree (IntPtr rawCppThis, bool callDisposalMethod, bool strong)
 Automatically generated constructor - called from generated code. DO NOT call directly.
 vtkOBBTree ()
 Construct with automatic computation of divisions, averaging 25 cells per octant.
override void BuildLocator ()
 Satisfy locator's abstract interface, see vtkLocator.
void ComputeOBB (vtkDataSet input, IntPtr corner, IntPtr max, IntPtr mid, IntPtr min, IntPtr size)
 Compute an OBB for the input dataset using the cells in the data. Return the corner point and the three axes defining the orientation of the OBB. Also return a sorted list of relative "sizes" of axes for comparison purposes.
override void FindClosestPoint (IntPtr x, IntPtr closestPoint, ref int cellId, ref int subId, ref double dist2)
 Return the closest point and the cell which is closest to the point x. The closest point is somewhere on a cell, it need not be one of the vertices of the cell. This version takes in a vtkGenericCell to avoid allocating and deallocating the cell. This is much faster than the version which does not take a *cell, especially when this function is called many times in a row such as by a for loop, where the allocation and deallocation can be done only once outside the for loop. If a cell is found, "cell" contains the points and ptIds for the cell "cellId" upon exit.
override void FindClosestPoint (IntPtr x, IntPtr closestPoint, vtkGenericCell cell, ref int cellId, ref int subId, ref double dist2)
 reimplemented from vtkAbstractCellLocator to support bad compilers
override int FindClosestPointWithinRadius (IntPtr x, double radius, IntPtr closestPoint, ref int cellId, ref int subId, ref double dist2)
 reimplemented from vtkAbstractCellLocator to support bad compilers
override int FindClosestPointWithinRadius (IntPtr x, double radius, IntPtr closestPoint, vtkGenericCell cell, ref int cellId, ref int subId, ref double dist2)
 reimplemented from vtkAbstractCellLocator to support bad compilers
override int FindClosestPointWithinRadius (IntPtr x, double radius, IntPtr closestPoint, vtkGenericCell cell, ref int cellId, ref int subId, ref double dist2, ref int inside)
 reimplemented from vtkAbstractCellLocator to support bad compilers
override void FreeSearchStructure ()
 Satisfy locator's abstract interface, see vtkLocator.
override void GenerateRepresentation (int level, vtkPolyData pd)
 Create polygonal representation for OBB tree at specified level. If level < 0, then the leaf OBB nodes will be gathered. The aspect ratio (ar) and line diameter (d) are used to control the building of the representation. If a OBB node edge ratio's are greater than ar, then the dimension of the OBB is collapsed (OBB->plane->line). A "line" OBB will be represented either as two crossed polygons, or as a line, depending on the relative diameter of the OBB compared to the diameter (d).
int InsideOrOutside (IntPtr point)
 Determine whether a point is inside or outside the data used to build this OBB tree. The data must be a closed surface vtkPolyData data set. The return value is +1 if outside, -1 if inside, and 0 if undecided.
override int IntersectWithLine (IntPtr a0, IntPtr a1, double tol, ref double t, IntPtr x, IntPtr pcoords, ref int subId)
 reimplemented from vtkAbstractCellLocator to support bad compilers
override int IntersectWithLine (IntPtr a0, IntPtr a1, double tol, ref double t, IntPtr x, IntPtr pcoords, ref int subId, ref int cellId)
 reimplemented from vtkAbstractCellLocator to support bad compilers
override int IntersectWithLine (IntPtr a0, IntPtr a1, vtkPoints points, vtkIdList cellIds)
 Take the passed line segment and intersect it with the data set. This method assumes that the data set is a vtkPolyData that describes a closed surface, and the intersection points that are returned in 'points' alternate between entrance points and exit points. The return value of the function is 0 if no intersections were found, -1 if point 'a0' lies inside the closed surface, or +1 if point 'a0' lies outside the closed surface. Either 'points' or 'cellIds' can be set to NULL if you don't want to receive that information.
override int IntersectWithLine (IntPtr a0, IntPtr a1, double tol, ref double t, IntPtr x, IntPtr pcoords, ref int subId, ref int cellId, vtkGenericCell cell)
 Return the first intersection of the specified line segment with the OBB tree, as well as information about the cell which the line segment intersected.
override int IsA (string type)
 *Undocumented Block
new vtkOBBTree NewInstance ()
 *Undocumented Block
- Public Member Functions inherited from Kitware.VTK.vtkAbstractCellLocator
 vtkAbstractCellLocator (IntPtr rawCppThis, bool callDisposalMethod, bool strong)
 Automatically generated constructor - called from generated code. DO NOT call directly.
virtual void CacheCellBoundsOff ()
 Boolean controls whether the bounds of each cell are computed only once and then saved. Should be 10 to 20% faster if repeatedly calling any of the Intersect/Find routines and the extra memory won't cause disk caching (24 extra bytes per cell are required to save the bounds).
virtual void CacheCellBoundsOn ()
 Boolean controls whether the bounds of each cell are computed only once and then saved. Should be 10 to 20% faster if repeatedly calling any of the Intersect/Find routines and the extra memory won't cause disk caching (24 extra bytes per cell are required to save the bounds).
virtual int FindCell (IntPtr x)
 Returns the Id of the cell containing the point, returns -1 if no cell found. This interface uses a tolerance of zero.
virtual int FindCell (IntPtr x, double tol2, vtkGenericCell GenCell, IntPtr pcoords, IntPtr weights)
 Find the cell containing a given point. returns -1 if no cell found the cell parameters are copied into the supplied variables, a cell must be provided to store the information.
virtual void FindCellsAlongLine (IntPtr p1, IntPtr p2, double tolerance, vtkIdList cells)
 Given a finite line defined by the two points (p1,p2), return the list of unique cell ids in the buckets containing the line. It is possible that an empty cell list is returned. The user must provide the vtkIdList to populate. This method returns data only after the locator has been built.
virtual void FindCellsWithinBounds (IntPtr bbox, vtkIdList cells)
 Return a list of unique cell ids inside of a given bounding box. The user must provide the vtkIdList to populate. This method returns data only after the locator has been built.
virtual int GetCacheCellBounds ()
 Boolean controls whether the bounds of each cell are computed only once and then saved. Should be 10 to 20% faster if repeatedly calling any of the Intersect/Find routines and the extra memory won't cause disk caching (24 extra bytes per cell are required to save the bounds).
virtual int GetLazyEvaluation ()
 Most Locators build their search structures during BuildLocator but some may delay construction until it is actually needed. If LazyEvaluation is supported, this turns on/off the feature. if not supported, it is ignored.
virtual int GetNumberOfCellsPerNode ()
 Specify the preferred/maximum number of cells in each node/bucket. Default 32. Locators generally operate by subdividing space into smaller regions until the number of cells in each region (or node) reaches the desired level.
virtual int GetNumberOfCellsPerNodeMaxValue ()
 Specify the preferred/maximum number of cells in each node/bucket. Default 32. Locators generally operate by subdividing space into smaller regions until the number of cells in each region (or node) reaches the desired level.
virtual int GetNumberOfCellsPerNodeMinValue ()
 Specify the preferred/maximum number of cells in each node/bucket. Default 32. Locators generally operate by subdividing space into smaller regions until the number of cells in each region (or node) reaches the desired level.
virtual int GetRetainCellLists ()
 Boolean controls whether to maintain list of cells in each node. not applicable to all implementations, but if the locator is being used as a geometry simplification technique, there is no need to keep them.
virtual int GetUseExistingSearchStructure ()
 Some locators support querying a new dataset without rebuilding the search structure (typically this may occur when a dataset changes due to a time update, but is actually the same topology) Turning on this flag enables some locators to skip the rebuilding phase.
virtual bool InsideCellBounds (IntPtr x, int cell_ID)
 Quickly test if a point is inside the bounds of a particular cell. Some locators cache cell bounds and this function can make use of fast access to the data.
virtual void LazyEvaluationOff ()
 Most Locators build their search structures during BuildLocator but some may delay construction until it is actually needed. If LazyEvaluation is supported, this turns on/off the feature. if not supported, it is ignored.
virtual void LazyEvaluationOn ()
 Most Locators build their search structures during BuildLocator but some may delay construction until it is actually needed. If LazyEvaluation is supported, this turns on/off the feature. if not supported, it is ignored.
virtual void RetainCellListsOff ()
 Boolean controls whether to maintain list of cells in each node. not applicable to all implementations, but if the locator is being used as a geometry simplification technique, there is no need to keep them.
virtual void RetainCellListsOn ()
 Boolean controls whether to maintain list of cells in each node. not applicable to all implementations, but if the locator is being used as a geometry simplification technique, there is no need to keep them.
virtual void SetCacheCellBounds (int _arg)
 Boolean controls whether the bounds of each cell are computed only once and then saved. Should be 10 to 20% faster if repeatedly calling any of the Intersect/Find routines and the extra memory won't cause disk caching (24 extra bytes per cell are required to save the bounds).
virtual void SetLazyEvaluation (int _arg)
 Most Locators build their search structures during BuildLocator but some may delay construction until it is actually needed. If LazyEvaluation is supported, this turns on/off the feature. if not supported, it is ignored.
virtual void SetNumberOfCellsPerNode (int _arg)
 Specify the preferred/maximum number of cells in each node/bucket. Default 32. Locators generally operate by subdividing space into smaller regions until the number of cells in each region (or node) reaches the desired level.
virtual void SetRetainCellLists (int _arg)
 Boolean controls whether to maintain list of cells in each node. not applicable to all implementations, but if the locator is being used as a geometry simplification technique, there is no need to keep them.
virtual void SetUseExistingSearchStructure (int _arg)
 Some locators support querying a new dataset without rebuilding the search structure (typically this may occur when a dataset changes due to a time update, but is actually the same topology) Turning on this flag enables some locators to skip the rebuilding phase.
virtual void UseExistingSearchStructureOff ()
 Some locators support querying a new dataset without rebuilding the search structure (typically this may occur when a dataset changes due to a time update, but is actually the same topology) Turning on this flag enables some locators to skip the rebuilding phase.
virtual void UseExistingSearchStructureOn ()
 Some locators support querying a new dataset without rebuilding the search structure (typically this may occur when a dataset changes due to a time update, but is actually the same topology) Turning on this flag enables some locators to skip the rebuilding phase.
- Public Member Functions inherited from Kitware.VTK.vtkLocator
 vtkLocator (IntPtr rawCppThis, bool callDisposalMethod, bool strong)
 Automatically generated constructor - called from generated code. DO NOT call directly.
override void Register (vtkObjectBase o)
 Handle the PointSet <-> Locator loop.
virtual void AutomaticOff ()
 Boolean controls whether locator depth/resolution of locator is computed automatically from average number of entities in bucket. If not set, there will be an explicit method to control the construction of the locator (found in the subclass).
virtual void AutomaticOn ()
 Boolean controls whether locator depth/resolution of locator is computed automatically from average number of entities in bucket. If not set, there will be an explicit method to control the construction of the locator (found in the subclass).
virtual int GetAutomatic ()
 Boolean controls whether locator depth/resolution of locator is computed automatically from average number of entities in bucket. If not set, there will be an explicit method to control the construction of the locator (found in the subclass).
virtual uint GetBuildTime ()
 Return the time of the last data structure build.
virtual vtkDataSet GetDataSet ()
 Build the locator from the points/cells defining this dataset.
virtual int GetLevel ()
 Get the level of the locator (determined automatically if Automatic is true). The value of this ivar may change each time the locator is built. Initial value is 8.
virtual int GetMaxLevel ()
 Set the maximum allowable level for the tree. If the Automatic ivar is off, this will be the target depth of the locator. Initial value is 8.
virtual int GetMaxLevelMaxValue ()
 Set the maximum allowable level for the tree. If the Automatic ivar is off, this will be the target depth of the locator. Initial value is 8.
virtual int GetMaxLevelMinValue ()
 Set the maximum allowable level for the tree. If the Automatic ivar is off, this will be the target depth of the locator. Initial value is 8.
virtual double GetTolerance ()
 Specify absolute tolerance (in world coordinates) for performing geometric operations.
virtual double GetToleranceMaxValue ()
 Specify absolute tolerance (in world coordinates) for performing geometric operations.
virtual double GetToleranceMinValue ()
 Specify absolute tolerance (in world coordinates) for performing geometric operations.
virtual void Initialize ()
 Initialize locator. Frees memory and resets object as appropriate.
virtual void SetAutomatic (int _arg)
 Boolean controls whether locator depth/resolution of locator is computed automatically from average number of entities in bucket. If not set, there will be an explicit method to control the construction of the locator (found in the subclass).
virtual void SetDataSet (vtkDataSet arg0)
 Build the locator from the points/cells defining this dataset.
virtual void SetMaxLevel (int _arg)
 Set the maximum allowable level for the tree. If the Automatic ivar is off, this will be the target depth of the locator. Initial value is 8.
virtual void SetTolerance (double _arg)
 Specify absolute tolerance (in world coordinates) for performing geometric operations.
virtual void Update ()
 Cause the locator to rebuild itself if it or its input dataset has changed.
- Public Member Functions inherited from Kitware.VTK.vtkObject
 vtkObject (IntPtr rawCppThis, bool callDisposalMethod, bool strong)
 Automatically generated constructor - called from generated code. DO NOT call directly.
 vtkObject ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
uint AddObserver (uint arg0, vtkCommand arg1, float priority)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
uint AddObserver (string arg0, vtkCommand arg1, float priority)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
virtual void DebugOff ()
 Turn debugging output off.
virtual void DebugOn ()
 Turn debugging output on.
vtkCommand GetCommand (uint tag)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
byte GetDebug ()
 Get the value of the debug flag.
virtual uint GetMTime ()
 Return this object's modified time.
int HasObserver (uint arg0, vtkCommand arg1)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
int HasObserver (string arg0, vtkCommand arg1)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
int HasObserver (uint arg0)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
int HasObserver (string arg0)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
int InvokeEvent (uint arg0, IntPtr callData)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
int InvokeEvent (string arg0, IntPtr callData)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
int InvokeEvent (uint arg0)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
int InvokeEvent (string arg0)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
virtual void Modified ()
 Update the modification time for this object. Many filters rely on the modification time to determine if they need to recompute their data. The modification time is a unique monotonically increasing unsigned long integer.
void RemoveAllObservers ()
 This is a global flag that controls whether any debug, warning or error messages are displayed.
void RemoveObserver (vtkCommand arg0)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
void RemoveObserver (uint tag)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
void RemoveObservers (uint arg0, vtkCommand arg1)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
void RemoveObservers (string arg0, vtkCommand arg1)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
void RemoveObservers (uint arg0)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
void RemoveObservers (string arg0)
 This is a global flag that controls whether any debug, warning or error messages are displayed.
void SetDebug (byte debugFlag)
 Set the value of the debug flag. A non-zero value turns debugging on.
override string ToString ()
 Returns the result of calling vtkObject::Print as a C# string.
delegate void vtkObjectEventHandler (vtkObject sender, vtkObjectEventArgs e)
 Generic signature for all vtkObject events.
void RemoveAllHandlersForAllEvents ()
 Call RemoveAllHandlers on each non-null vtkObjectEventRelay. TODO: This method needs to get called by the generated Dispose. Make that happen...
- Public Member Functions inherited from Kitware.VTK.vtkObjectBase
 vtkObjectBase (IntPtr rawCppThis, bool callDisposalMethod, bool strong)
 Automatically generated constructor - called from generated code. DO NOT call directly.
 vtkObjectBase ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
virtual void FastDelete ()
 Delete a reference to this object. This version will not invoke garbage collection and can potentially leak the object if it is part of a reference loop. Use this method only when it is known that the object has another reference and would not be collected if a full garbage collection check were done.
string GetClassName ()
 Return the class name as a string. This method is defined in all subclasses of vtkObjectBase with the vtkTypeMacro found in vtkSetGet.h.
int GetReferenceCount ()
 Return the current reference count of this object.
void SetReferenceCount (int arg0)
 Sets the reference count. (This is very dangerous, use with care.)

Static Public Member Functions

static new vtkOBBTree New ()
 Construct with automatic computation of divisions, averaging 25 cells per octant.
static void ComputeOBB (vtkPoints pts, IntPtr corner, IntPtr max, IntPtr mid, IntPtr min, IntPtr size)
 Compute an OBB from the list of points given. Return the corner point and the three axes defining the orientation of the OBB. Also return a sorted list of relative "sizes" of axes for comparison purposes.
static new int IsTypeOf (string type)
 *Undocumented Block
static new vtkOBBTree SafeDownCast (vtkObjectBase o)
 *Undocumented Block

Public Attributes

new const string MRFullTypeName = "Kitware.VTK.vtkOBBTree"
 Automatically generated type registration mechanics.
- Public Attributes inherited from Kitware.VTK.vtkAbstractCellLocator
- Public Attributes inherited from Kitware.VTK.vtkLocator
- Public Attributes inherited from Kitware.VTK.vtkObject
- Public Attributes inherited from Kitware.VTK.vtkObjectBase
- Public Attributes inherited from Kitware.VTK.WrappedObject
const string vtkChartsEL_dll = "libKitware.VTK.vtkCharts.Unmanaged.so"
 Export layer functions for 'vtkCharts' are exported from the DLL named by the value of this variable.
const string vtkCommonEL_dll = "libKitware.VTK.vtkCommon.Unmanaged.so"
 Export layer functions for 'vtkCommon' are exported from the DLL named by the value of this variable.
const string vtkFilteringEL_dll = "libKitware.VTK.vtkFiltering.Unmanaged.so"
 Export layer functions for 'vtkFiltering' are exported from the DLL named by the value of this variable.
const string vtkGenericFilteringEL_dll = "libKitware.VTK.vtkGenericFiltering.Unmanaged.so"
 Export layer functions for 'vtkGenericFiltering' are exported from the DLL named by the value of this variable.
const string vtkGeovisEL_dll = "libKitware.VTK.vtkGeovis.Unmanaged.so"
 Export layer functions for 'vtkGeovis' are exported from the DLL named by the value of this variable.
const string vtkGraphicsEL_dll = "libKitware.VTK.vtkGraphics.Unmanaged.so"
 Export layer functions for 'vtkGraphics' are exported from the DLL named by the value of this variable.
const string vtkHybridEL_dll = "libKitware.VTK.vtkHybrid.Unmanaged.so"
 Export layer functions for 'vtkHybrid' are exported from the DLL named by the value of this variable.
const string vtkIOEL_dll = "libKitware.VTK.vtkIO.Unmanaged.so"
 Export layer functions for 'vtkIO' are exported from the DLL named by the value of this variable.
const string vtkImagingEL_dll = "libKitware.VTK.vtkImaging.Unmanaged.so"
 Export layer functions for 'vtkImaging' are exported from the DLL named by the value of this variable.
const string vtkInfovisEL_dll = "libKitware.VTK.vtkInfovis.Unmanaged.so"
 Export layer functions for 'vtkInfovis' are exported from the DLL named by the value of this variable.
const string vtkParallelEL_dll = "libKitware.VTK.vtkParallel.Unmanaged.so"
 Export layer functions for 'vtkParallel' are exported from the DLL named by the value of this variable.
const string vtkRenderingEL_dll = "libKitware.VTK.vtkRendering.Unmanaged.so"
 Export layer functions for 'vtkRendering' are exported from the DLL named by the value of this variable.
const string vtkViewsEL_dll = "libKitware.VTK.vtkViews.Unmanaged.so"
 Export layer functions for 'vtkViews' are exported from the DLL named by the value of this variable.
const string vtkVolumeRenderingEL_dll = "libKitware.VTK.vtkVolumeRendering.Unmanaged.so"
 Export layer functions for 'vtkVolumeRendering' are exported from the DLL named by the value of this variable.
const string vtkWidgetsEL_dll = "libKitware.VTK.vtkWidgets.Unmanaged.so"
 Export layer functions for 'vtkWidgets' are exported from the DLL named by the value of this variable.

Static Public Attributes

static new readonly string MRClassNameKey = "10vtkOBBTree"
 Automatically generated type registration mechanics.
- Static Public Attributes inherited from Kitware.VTK.vtkAbstractCellLocator
- Static Public Attributes inherited from Kitware.VTK.vtkLocator
- Static Public Attributes inherited from Kitware.VTK.vtkObject
- Static Public Attributes inherited from Kitware.VTK.vtkObjectBase

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.

Static Private Member Functions

static vtkOBBTree ()
 Automatically generated type registration mechanics.

Detailed Description

vtkOBBTree - generate oriented bounding box (OBB) tree

Description vtkOBBTree is an object to generate oriented bounding box (OBB) trees. An oriented bounding box is a bounding box that does not necessarily line up along coordinate axes. The OBB tree is a hierarchical tree structure of such boxes, where deeper levels of OBB confine smaller regions of space.

To build the OBB, a recursive, top-down process is used. First, the root OBB is constructed by finding the mean and covariance matrix of the cells (and their points) that define the dataset. The eigenvectors of the covariance matrix are extracted, giving a set of three orthogonal vectors that define the tightest-fitting OBB. To create the two children OBB's, a split plane is found that (approximately) divides the number cells in half. These are then assigned to the children OBB's. This process then continues until the MaxLevel ivar limits the recursion, or no split plane can be found.

A good reference for OBB-trees is Gottschalk & Manocha in Proceedings of Siggraph `96.


Constructor & Destructor Documentation

static Kitware.VTK.vtkOBBTree.vtkOBBTree ( )
staticprivate

Automatically generated type registration mechanics.

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

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

Kitware.VTK.vtkOBBTree.vtkOBBTree ( )

Construct with automatic computation of divisions, averaging 25 cells per octant.


Member Function Documentation

override void Kitware.VTK.vtkOBBTree.BuildLocator ( )
virtual

Satisfy locator's abstract interface, see vtkLocator.

Reimplemented from Kitware.VTK.vtkLocator.

static void Kitware.VTK.vtkOBBTree.ComputeOBB ( vtkPoints  pts,
IntPtr  corner,
IntPtr  max,
IntPtr  mid,
IntPtr  min,
IntPtr  size 
)
static

Compute an OBB from the list of points given. Return the corner point and the three axes defining the orientation of the OBB. Also return a sorted list of relative "sizes" of axes for comparison purposes.

void Kitware.VTK.vtkOBBTree.ComputeOBB ( vtkDataSet  input,
IntPtr  corner,
IntPtr  max,
IntPtr  mid,
IntPtr  min,
IntPtr  size 
)

Compute an OBB for the input dataset using the cells in the data. Return the corner point and the three axes defining the orientation of the OBB. Also return a sorted list of relative "sizes" of axes for comparison purposes.

override void Kitware.VTK.vtkOBBTree.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.vtkAbstractCellLocator.

override void Kitware.VTK.vtkOBBTree.FindClosestPoint ( IntPtr  x,
IntPtr  closestPoint,
ref int  cellId,
ref int  subId,
ref double  dist2 
)
virtual

Return the closest point and the cell which is closest to the point x. The closest point is somewhere on a cell, it need not be one of the vertices of the cell. This version takes in a vtkGenericCell to avoid allocating and deallocating the cell. This is much faster than the version which does not take a *cell, especially when this function is called many times in a row such as by a for loop, where the allocation and deallocation can be done only once outside the for loop. If a cell is found, "cell" contains the points and ptIds for the cell "cellId" upon exit.

Reimplemented from Kitware.VTK.vtkAbstractCellLocator.

override void Kitware.VTK.vtkOBBTree.FindClosestPoint ( IntPtr  x,
IntPtr  closestPoint,
vtkGenericCell  cell,
ref int  cellId,
ref int  subId,
ref double  dist2 
)
virtual

reimplemented from vtkAbstractCellLocator to support bad compilers

Reimplemented from Kitware.VTK.vtkAbstractCellLocator.

override int Kitware.VTK.vtkOBBTree.FindClosestPointWithinRadius ( IntPtr  x,
double  radius,
IntPtr  closestPoint,
ref int  cellId,
ref int  subId,
ref double  dist2 
)
virtual

reimplemented from vtkAbstractCellLocator to support bad compilers

Reimplemented from Kitware.VTK.vtkAbstractCellLocator.

override int Kitware.VTK.vtkOBBTree.FindClosestPointWithinRadius ( IntPtr  x,
double  radius,
IntPtr  closestPoint,
vtkGenericCell  cell,
ref int  cellId,
ref int  subId,
ref double  dist2 
)
virtual

reimplemented from vtkAbstractCellLocator to support bad compilers

Reimplemented from Kitware.VTK.vtkAbstractCellLocator.

override int Kitware.VTK.vtkOBBTree.FindClosestPointWithinRadius ( IntPtr  x,
double  radius,
IntPtr  closestPoint,
vtkGenericCell  cell,
ref int  cellId,
ref int  subId,
ref double  dist2,
ref int  inside 
)
virtual

reimplemented from vtkAbstractCellLocator to support bad compilers

Reimplemented from Kitware.VTK.vtkAbstractCellLocator.

override void Kitware.VTK.vtkOBBTree.FreeSearchStructure ( )
virtual

Satisfy locator's abstract interface, see vtkLocator.

Reimplemented from Kitware.VTK.vtkLocator.

override void Kitware.VTK.vtkOBBTree.GenerateRepresentation ( int  level,
vtkPolyData  pd 
)
virtual

Create polygonal representation for OBB tree at specified level. If level < 0, then the leaf OBB nodes will be gathered. The aspect ratio (ar) and line diameter (d) are used to control the building of the representation. If a OBB node edge ratio's are greater than ar, then the dimension of the OBB is collapsed (OBB->plane->line). A "line" OBB will be represented either as two crossed polygons, or as a line, depending on the relative diameter of the OBB compared to the diameter (d).

Reimplemented from Kitware.VTK.vtkLocator.

int Kitware.VTK.vtkOBBTree.InsideOrOutside ( IntPtr  point)

Determine whether a point is inside or outside the data used to build this OBB tree. The data must be a closed surface vtkPolyData data set. The return value is +1 if outside, -1 if inside, and 0 if undecided.

override int Kitware.VTK.vtkOBBTree.IntersectWithLine ( IntPtr  a0,
IntPtr  a1,
double  tol,
ref double  t,
IntPtr  x,
IntPtr  pcoords,
ref int  subId 
)
virtual

reimplemented from vtkAbstractCellLocator to support bad compilers

Reimplemented from Kitware.VTK.vtkAbstractCellLocator.

override int Kitware.VTK.vtkOBBTree.IntersectWithLine ( IntPtr  a0,
IntPtr  a1,
double  tol,
ref double  t,
IntPtr  x,
IntPtr  pcoords,
ref int  subId,
ref int  cellId 
)
virtual

reimplemented from vtkAbstractCellLocator to support bad compilers

Reimplemented from Kitware.VTK.vtkAbstractCellLocator.

override int Kitware.VTK.vtkOBBTree.IntersectWithLine ( IntPtr  a0,
IntPtr  a1,
vtkPoints  points,
vtkIdList  cellIds 
)
virtual

Take the passed line segment and intersect it with the data set. This method assumes that the data set is a vtkPolyData that describes a closed surface, and the intersection points that are returned in 'points' alternate between entrance points and exit points. The return value of the function is 0 if no intersections were found, -1 if point 'a0' lies inside the closed surface, or +1 if point 'a0' lies outside the closed surface. Either 'points' or 'cellIds' can be set to NULL if you don't want to receive that information.

Reimplemented from Kitware.VTK.vtkAbstractCellLocator.

override int Kitware.VTK.vtkOBBTree.IntersectWithLine ( IntPtr  a0,
IntPtr  a1,
double  tol,
ref double  t,
IntPtr  x,
IntPtr  pcoords,
ref int  subId,
ref int  cellId,
vtkGenericCell  cell 
)
virtual

Return the first intersection of the specified line segment with the OBB tree, as well as information about the cell which the line segment intersected.

Reimplemented from Kitware.VTK.vtkAbstractCellLocator.

override int Kitware.VTK.vtkOBBTree.IsA ( string  type)
virtual

*Undocumented Block

Reimplemented from Kitware.VTK.vtkAbstractCellLocator.

static new int Kitware.VTK.vtkOBBTree.IsTypeOf ( string  type)
static

*Undocumented Block

Reimplemented from Kitware.VTK.vtkAbstractCellLocator.

static new vtkOBBTree Kitware.VTK.vtkOBBTree.New ( )
static

Construct with automatic computation of divisions, averaging 25 cells per octant.

Reimplemented from Kitware.VTK.vtkObject.

new vtkOBBTree Kitware.VTK.vtkOBBTree.NewInstance ( )

*Undocumented Block

Reimplemented from Kitware.VTK.vtkAbstractCellLocator.

static new vtkOBBTree Kitware.VTK.vtkOBBTree.SafeDownCast ( vtkObjectBase  o)
static

*Undocumented Block

Reimplemented from Kitware.VTK.vtkAbstractCellLocator.

Here is the call graph for this function:


Member Data Documentation

new readonly string Kitware.VTK.vtkOBBTree.MRClassNameKey = "10vtkOBBTree"
static

Automatically generated type registration mechanics.

Reimplemented from Kitware.VTK.vtkAbstractCellLocator.

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

Automatically generated type registration mechanics.

Reimplemented from Kitware.VTK.vtkAbstractCellLocator.


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