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.vtkOrderedTriangulator Class Reference

vtkOrderedTriangulator - helper class to generate triangulations More...

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

List of all members.

Public Member Functions

 vtkOrderedTriangulator (IntPtr rawCppThis, bool callDisposalMethod, bool strong)
 Automatically generated constructor - called from generated code. DO NOT call directly.
 vtkOrderedTriangulator ()
 Construct object.
int AddTetras (int classification, vtkUnstructuredGrid ugrid)
 Add the tetras to the unstructured grid provided. The unstructured grid is assumed to have been initialized (with Allocate()) and points set (with SetPoints()). The tetrahdera added are of the type specified (0=inside,1=outside,2=all). Inside tetrahedron are those whose points are classified "inside" or on the "boundary." Outside tetrahedron have at least one point classified "outside." The method returns the number of tetrahedrahedron of the type requested.
int AddTetras (int classification, vtkCellArray connectivity)
 Add the tetrahedra classified (0=inside,1=outside) to the connectivity list provided. Inside tetrahedron are those whose points are all classified "inside." Outside tetrahedron have at least one point classified "outside." The method returns the number of tetrahedron of the type requested.
int AddTetras (int classification, vtkIncrementalPointLocator locator, vtkCellArray outConnectivity, vtkPointData inPD, vtkPointData outPD, vtkCellData inCD, int cellId, vtkCellData outCD)
 Assuming that all the inserted points come from a cell `cellId' to triangulate, get the tetrahedra in outConnectivity, the points in locator and copy point data and cell data. Return the number of added tetras.
int AddTetras (int classification, vtkIdList ptIds, vtkPoints pts)
 Add the tetrahedra classified (0=inside,1=outside) to the list of ids and coordinates provided. These assume that the first four points form a tetrahedron, the next four the next, and so on.
int AddTriangles (vtkCellArray connectivity)
 Add the triangle faces classified (2=boundary) to the connectivity list provided. The method returns the number of triangles.
int AddTriangles (int id, vtkCellArray connectivity)
 Add the triangle faces classified (2=boundary) and attached to the specified point id to the connectivity list provided. (The id is the same as that specified in InsertPoint().)
int GetNextTetra (int classification, vtkTetra tet, vtkDataArray cellScalars, vtkDoubleArray tetScalars)
 Methods to get one tetra at a time. Start with InitTetraTraversal() and then invoke GetNextTetra() until the method returns 0. cellScalars are point-centered scalars on the original cell. tetScalars are point-centered scalars on the tetra: the values will be copied from cellScalars.
virtual int GetNumberOfPoints ()
 Return the number of inserted points.
int GetPointId (int internalId)
 Return the Id of point `internalId'. This id is the one passed in argument of InsertPoint. It assumes that the point has already been inserted. The method should be invoked prior to the Triangulate method.
IntPtr GetPointLocation (int internalId)
 Return the global coordinates of point `internalId'. It assumes that the point has already been inserted. The method should be invoked prior to the Triangulate method.
IntPtr GetPointPosition (int internalId)
 Return the parametric coordinates of point `internalId'. It assumes that the point has already been inserted. The method should be invoked prior to the Triangulate method.
virtual int GetPreSorted ()
 Boolean indicates whether the points have been pre-sorted. If pre-sorted is enabled, the points are not sorted on point id. By default, presorted is off. (The point id is defined in InsertPoint().)
int GetTetras (int classification, vtkUnstructuredGrid ugrid)
 Initialize and add the tetras and points from the triangulation to the unstructured grid provided. New points are created and the mesh is allocated. (This method differs from AddTetras() in that it inserts points and cells; AddTetras only adds the tetra cells.) The tetrahdera added are of the type specified (0=inside,1=outside,2=all). Inside tetrahedron are those whose points are classified "inside" or on the "boundary." Outside tetrahedron have at least one point classified "outside." The method returns the number of tetrahedrahedron of the type requested.
virtual int GetUseTemplates ()
 If this flag is set, then the ordered triangulator will create and use templates for the triangulation. To use templates, the TemplateTriangulate() method should be called when appropriate. (Note: the TemplateTriangulate() method works for complete (interior) cells without extra points due to intersection, etc.)
virtual int GetUseTwoSortIds ()
 Tells the triangulator that a second sort id is provided for each point and should also be considered when sorting.
void InitTetraTraversal ()
 Methods to get one tetra at a time. Start with InitTetraTraversal() and then invoke GetNextTetra() until the method returns 0.
void InitTriangulation (double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, int numPts)
 Initialize the triangulation process. Provide a bounding box and the maximum number of points to be inserted. Note that since the triangulation is performed using parametric coordinates (see InsertPoint()) the bounds should be represent the range of the parametric coordinates inserted.
void InitTriangulation (IntPtr bounds, int numPts)
 Initialize the triangulation process. Provide a bounding box and the maximum number of points to be inserted. Note that since the triangulation is performed using parametric coordinates (see InsertPoint()) the bounds should be represent the range of the parametric coordinates inserted.
int InsertPoint (int id, IntPtr x, IntPtr p, int type)
 For each point to be inserted, provide an id, a position x, parametric coordinate p, and whether the point is inside (type=0), outside (type=1), or on the boundary (type=2). You must call InitTriangulation() prior to invoking this method. Make sure that the number of points inserted does not exceed the numPts specified in InitTriangulation(). Also note that the "id" can be any integer and can be greater than numPts. It is used to create tetras (in AddTetras()) with the appropriate connectivity ids. The method returns an internal id that can be used prior to the Triangulate() method to update the type of the point with UpdatePointType(). (Note: the algorithm triangulated with the parametric coordinate p[3] and creates tetras with the global coordinate x[3]. The parametric coordinates and global coordinates may be the same.)
int InsertPoint (int id, int sortid, IntPtr x, IntPtr p, int type)
 For each point to be inserted, provide an id, a position x, parametric coordinate p, and whether the point is inside (type=0), outside (type=1), or on the boundary (type=2). You must call InitTriangulation() prior to invoking this method. Make sure that the number of points inserted does not exceed the numPts specified in InitTriangulation(). Also note that the "id" can be any integer and can be greater than numPts. It is used to create tetras (in AddTetras()) with the appropriate connectivity ids. The method returns an internal id that can be used prior to the Triangulate() method to update the type of the point with UpdatePointType(). (Note: the algorithm triangulated with the parametric coordinate p[3] and creates tetras with the global coordinate x[3]. The parametric coordinates and global coordinates may be the same.)
int InsertPoint (int id, int sortid, int sortid2, IntPtr x, IntPtr p, int type)
 For each point to be inserted, provide an id, a position x, parametric coordinate p, and whether the point is inside (type=0), outside (type=1), or on the boundary (type=2). You must call InitTriangulation() prior to invoking this method. Make sure that the number of points inserted does not exceed the numPts specified in InitTriangulation(). Also note that the "id" can be any integer and can be greater than numPts. It is used to create tetras (in AddTetras()) with the appropriate connectivity ids. The method returns an internal id that can be used prior to the Triangulate() method to update the type of the point with UpdatePointType(). (Note: the algorithm triangulated with the parametric coordinate p[3] and creates tetras with the global coordinate x[3]. The parametric coordinates and global coordinates may be the same.)
override int IsA (string type)
 Undocumented Block.
new vtkOrderedTriangulator NewInstance ()
 Undocumented Block.
virtual void PreSortedOff ()
 Boolean indicates whether the points have been pre-sorted. If pre-sorted is enabled, the points are not sorted on point id. By default, presorted is off. (The point id is defined in InsertPoint().)
virtual void PreSortedOn ()
 Boolean indicates whether the points have been pre-sorted. If pre-sorted is enabled, the points are not sorted on point id. By default, presorted is off. (The point id is defined in InsertPoint().)
virtual void SetPreSorted (int _arg)
 Boolean indicates whether the points have been pre-sorted. If pre-sorted is enabled, the points are not sorted on point id. By default, presorted is off. (The point id is defined in InsertPoint().)
virtual void SetUseTemplates (int _arg)
 If this flag is set, then the ordered triangulator will create and use templates for the triangulation. To use templates, the TemplateTriangulate() method should be called when appropriate. (Note: the TemplateTriangulate() method works for complete (interior) cells without extra points due to intersection, etc.)
virtual void SetUseTwoSortIds (int _arg)
 Tells the triangulator that a second sort id is provided for each point and should also be considered when sorting.
void TemplateTriangulate (int cellType, int numPts, int numEdges)
 Perform the triangulation. (Complete all calls to InsertPoint() prior to invoking this method.) A special version is available when templates should be used.
void Triangulate ()
 Perform the triangulation. (Complete all calls to InsertPoint() prior to invoking this method.) A special version is available when templates should be used.
void UpdatePointType (int internalId, int type)
 Update the point type. This is useful when the merging of nearly coincident points is performed. The id is the internal id returned from InsertPoint(). The method should be invoked prior to the Triangulate method. The type is specified as inside (type=0), outside (type=1), or on the boundary (type=2).
virtual void UseTemplatesOff ()
 If this flag is set, then the ordered triangulator will create and use templates for the triangulation. To use templates, the TemplateTriangulate() method should be called when appropriate. (Note: the TemplateTriangulate() method works for complete (interior) cells without extra points due to intersection, etc.)
virtual void UseTemplatesOn ()
 If this flag is set, then the ordered triangulator will create and use templates for the triangulation. To use templates, the TemplateTriangulate() method should be called when appropriate. (Note: the TemplateTriangulate() method works for complete (interior) cells without extra points due to intersection, etc.)
virtual void UseTwoSortIdsOff ()
 Tells the triangulator that a second sort id is provided for each point and should also be considered when sorting.
virtual void UseTwoSortIdsOn ()
 Tells the triangulator that a second sort id is provided for each point and should also be considered when sorting.

Static Public Member Functions

static new vtkOrderedTriangulator New ()
 Construct object.
static new int IsTypeOf (string type)
 Undocumented Block.
static new vtkOrderedTriangulator SafeDownCast (vtkObjectBase o)
 Undocumented Block.

Public Attributes

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

Static Public Attributes

static new readonly string MRClassNameKey = "22vtkOrderedTriangulator"
 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 vtkOrderedTriangulator_New (ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal int vtkOrderedTriangulator_AddTetras_01 (HandleRef pThis, int classification, HandleRef ugrid)
static internal int vtkOrderedTriangulator_AddTetras_02 (HandleRef pThis, int classification, HandleRef connectivity)
static internal int vtkOrderedTriangulator_AddTetras_03 (HandleRef pThis, int classification, HandleRef locator, HandleRef outConnectivity, HandleRef inPD, HandleRef outPD, HandleRef inCD, int cellId, HandleRef outCD)
static internal int vtkOrderedTriangulator_AddTetras_04 (HandleRef pThis, int classification, HandleRef ptIds, HandleRef pts)
static internal int vtkOrderedTriangulator_AddTriangles_05 (HandleRef pThis, HandleRef connectivity)
static internal int vtkOrderedTriangulator_AddTriangles_06 (HandleRef pThis, int id, HandleRef connectivity)
static internal int vtkOrderedTriangulator_GetNextTetra_07 (HandleRef pThis, int classification, HandleRef tet, HandleRef cellScalars, HandleRef tetScalars)
static internal int vtkOrderedTriangulator_GetNumberOfPoints_08 (HandleRef pThis)
static internal int vtkOrderedTriangulator_GetPointId_09 (HandleRef pThis, int internalId)
static internal IntPtr vtkOrderedTriangulator_GetPointLocation_10 (HandleRef pThis, int internalId)
static internal IntPtr vtkOrderedTriangulator_GetPointPosition_11 (HandleRef pThis, int internalId)
static internal int vtkOrderedTriangulator_GetPreSorted_12 (HandleRef pThis)
static internal int vtkOrderedTriangulator_GetTetras_13 (HandleRef pThis, int classification, HandleRef ugrid)
static internal int vtkOrderedTriangulator_GetUseTemplates_14 (HandleRef pThis)
static internal int vtkOrderedTriangulator_GetUseTwoSortIds_15 (HandleRef pThis)
static internal void vtkOrderedTriangulator_InitTetraTraversal_16 (HandleRef pThis)
static internal void vtkOrderedTriangulator_InitTriangulation_17 (HandleRef pThis, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, int numPts)
static internal void vtkOrderedTriangulator_InitTriangulation_18 (HandleRef pThis, IntPtr bounds, int numPts)
static internal int vtkOrderedTriangulator_InsertPoint_19 (HandleRef pThis, int id, IntPtr x, IntPtr p, int type)
static internal int vtkOrderedTriangulator_InsertPoint_20 (HandleRef pThis, int id, int sortid, IntPtr x, IntPtr p, int type)
static internal int vtkOrderedTriangulator_InsertPoint_21 (HandleRef pThis, int id, int sortid, int sortid2, IntPtr x, IntPtr p, int type)
static internal int vtkOrderedTriangulator_IsA_22 (HandleRef pThis, string type)
static internal int vtkOrderedTriangulator_IsTypeOf_23 (string type)
static internal IntPtr vtkOrderedTriangulator_NewInstance_25 (HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal void vtkOrderedTriangulator_PreSortedOff_26 (HandleRef pThis)
static internal void vtkOrderedTriangulator_PreSortedOn_27 (HandleRef pThis)
static internal IntPtr vtkOrderedTriangulator_SafeDownCast_28 (HandleRef o, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal void vtkOrderedTriangulator_SetPreSorted_29 (HandleRef pThis, int _arg)
static internal void vtkOrderedTriangulator_SetUseTemplates_30 (HandleRef pThis, int _arg)
static internal void vtkOrderedTriangulator_SetUseTwoSortIds_31 (HandleRef pThis, int _arg)
static internal void vtkOrderedTriangulator_TemplateTriangulate_32 (HandleRef pThis, int cellType, int numPts, int numEdges)
static internal void vtkOrderedTriangulator_Triangulate_33 (HandleRef pThis)
static internal void vtkOrderedTriangulator_UpdatePointType_34 (HandleRef pThis, int internalId, int type)
static internal void vtkOrderedTriangulator_UseTemplatesOff_35 (HandleRef pThis)
static internal void vtkOrderedTriangulator_UseTemplatesOn_36 (HandleRef pThis)
static internal void vtkOrderedTriangulator_UseTwoSortIdsOff_37 (HandleRef pThis)
static internal void vtkOrderedTriangulator_UseTwoSortIdsOn_38 (HandleRef pThis)

Static Private Member Functions

static vtkOrderedTriangulator ()
 Automatically generated type registration mechanics.

Detailed Description

vtkOrderedTriangulator - helper class to generate triangulations

Description This class is used to generate unique triangulations of points. The uniqueness of the triangulation is controlled by the id of the inserted points in combination with a Delaunay criterion. The class is designed to be as fast as possible (since the algorithm can be slow) and uses block memory allocations to support rapid triangulation generation. Also, the assumption behind the class is that a maximum of hundreds of points are to be triangulated. If you desire more robust triangulation methods use vtkPolygon::Triangulate(), vtkDelaunay2D, or vtkDelaunay3D.

Background This work is documented in the technical paper: W.J. Schroeder, B. Geveci, M. Malaterre. Compatible Triangulations of Spatial Decompositions. In Proceedings of Visualization 2004, IEEE Press October 2004.

Delaunay triangulations are unique assuming a random distribution of input points. The 3D Delaunay criterion is as follows: the circumsphere of each tetrahedron contains no other points of the triangulation except for the four points defining the tetrahedron. In application this property is hard to satisfy because objects like cubes are defined by eight points all sharing the same circumsphere (center and radius); hence the Delaunay triangulation is not unique. These so-called degenerate situations are typically resolved by arbitrary selecting a triangulation. This code does something different: it resolves degenerate triangulations by modifying the "InCircumsphere" method to use a slightly smaller radius. Hence, degenerate points are always considered "out" of the circumsphere. This, in combination with an ordering (based on id) of the input points, guarantees a unique triangulation.

There is another related characteristic of Delaunay triangulations. Given a N-dimensional Delaunay triangulation, points lying on a (N-1) dimensional plane also form a (N-1) Delaunay triangulation. This means for example, that if a 3D cell is defined by a set of (2D) planar faces, then the face triangulations are Delaunay. Combining this with the method to generate unique triangulations described previously, the triangulations on the face are guaranteed unique. This fact can be used to triangulate 3D objects in such a way to guarantee compatible face triangulations. This is a very useful fact for parallel processing, or performing operations like clipping that require compatible triangulations across 3D cell faces. (See vtkClipVolume for an example.)

A special feature of this class is that it can generate triangulation templates on the fly. If template triangulation is enabled, then the ordered triangulator will first triangulate the cell using the slower ordered Delaunay approach, and then store the result as a template. Later, if the same cell type and cell configuration is encountered, then the template is reused which greatly speeds the triangulation.


Constructor & Destructor Documentation

Automatically generated type registration mechanics.

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

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

Construct object.


Member Function Documentation

int Kitware.VTK.vtkOrderedTriangulator.AddTetras ( int  classification,
vtkUnstructuredGrid  ugrid 
)

Add the tetras to the unstructured grid provided. The unstructured grid is assumed to have been initialized (with Allocate()) and points set (with SetPoints()). The tetrahdera added are of the type specified (0=inside,1=outside,2=all). Inside tetrahedron are those whose points are classified "inside" or on the "boundary." Outside tetrahedron have at least one point classified "outside." The method returns the number of tetrahedrahedron of the type requested.

int Kitware.VTK.vtkOrderedTriangulator.AddTetras ( int  classification,
vtkCellArray  connectivity 
)

Add the tetrahedra classified (0=inside,1=outside) to the connectivity list provided. Inside tetrahedron are those whose points are all classified "inside." Outside tetrahedron have at least one point classified "outside." The method returns the number of tetrahedron of the type requested.

int Kitware.VTK.vtkOrderedTriangulator.AddTetras ( int  classification,
vtkIncrementalPointLocator  locator,
vtkCellArray  outConnectivity,
vtkPointData  inPD,
vtkPointData  outPD,
vtkCellData  inCD,
int  cellId,
vtkCellData  outCD 
)

Assuming that all the inserted points come from a cell `cellId' to triangulate, get the tetrahedra in outConnectivity, the points in locator and copy point data and cell data. Return the number of added tetras.

Precondition:
locator_exists: locator!=0
outConnectivity: outConnectivity!=0
inPD_exists: inPD!=0
outPD_exists: outPD!=0
inCD_exists: inCD!=0
outCD_exists: outCD!=0
int Kitware.VTK.vtkOrderedTriangulator.AddTetras ( int  classification,
vtkIdList  ptIds,
vtkPoints  pts 
)

Add the tetrahedra classified (0=inside,1=outside) to the list of ids and coordinates provided. These assume that the first four points form a tetrahedron, the next four the next, and so on.

Add the triangle faces classified (2=boundary) to the connectivity list provided. The method returns the number of triangles.

Add the triangle faces classified (2=boundary) and attached to the specified point id to the connectivity list provided. (The id is the same as that specified in InsertPoint().)

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

int Kitware.VTK.vtkOrderedTriangulator.GetNextTetra ( int  classification,
vtkTetra  tet,
vtkDataArray  cellScalars,
vtkDoubleArray  tetScalars 
)

Methods to get one tetra at a time. Start with InitTetraTraversal() and then invoke GetNextTetra() until the method returns 0. cellScalars are point-centered scalars on the original cell. tetScalars are point-centered scalars on the tetra: the values will be copied from cellScalars.

Precondition:
tet_exists: tet!=0
cellScalars_exists: cellScalars!=0
tetScalars_exists: tetScalars!=0
tetScalars_valid_size: tetScalars->GetNumberOfTuples()==4

Return the number of inserted points.

Return the Id of point `internalId'. This id is the one passed in argument of InsertPoint. It assumes that the point has already been inserted. The method should be invoked prior to the Triangulate method.

Precondition:
valid_range: internalId>=0 && internalId<this->GetNumberOfPoints()

Return the global coordinates of point `internalId'. It assumes that the point has already been inserted. The method should be invoked prior to the Triangulate method.

Precondition:
valid_range: internalId>=0 && internalId<this->GetNumberOfPoints()

Return the parametric coordinates of point `internalId'. It assumes that the point has already been inserted. The method should be invoked prior to the Triangulate method.

Precondition:
valid_range: internalId>=0 && internalId<this->GetNumberOfPoints()

Boolean indicates whether the points have been pre-sorted. If pre-sorted is enabled, the points are not sorted on point id. By default, presorted is off. (The point id is defined in InsertPoint().)

int Kitware.VTK.vtkOrderedTriangulator.GetTetras ( int  classification,
vtkUnstructuredGrid  ugrid 
)

Initialize and add the tetras and points from the triangulation to the unstructured grid provided. New points are created and the mesh is allocated. (This method differs from AddTetras() in that it inserts points and cells; AddTetras only adds the tetra cells.) The tetrahdera added are of the type specified (0=inside,1=outside,2=all). Inside tetrahedron are those whose points are classified "inside" or on the "boundary." Outside tetrahedron have at least one point classified "outside." The method returns the number of tetrahedrahedron of the type requested.

If this flag is set, then the ordered triangulator will create and use templates for the triangulation. To use templates, the TemplateTriangulate() method should be called when appropriate. (Note: the TemplateTriangulate() method works for complete (interior) cells without extra points due to intersection, etc.)

Tells the triangulator that a second sort id is provided for each point and should also be considered when sorting.

Methods to get one tetra at a time. Start with InitTetraTraversal() and then invoke GetNextTetra() until the method returns 0.

void Kitware.VTK.vtkOrderedTriangulator.InitTriangulation ( double  xmin,
double  xmax,
double  ymin,
double  ymax,
double  zmin,
double  zmax,
int  numPts 
)

Initialize the triangulation process. Provide a bounding box and the maximum number of points to be inserted. Note that since the triangulation is performed using parametric coordinates (see InsertPoint()) the bounds should be represent the range of the parametric coordinates inserted.

Postcondition:
no_point_inserted: GetNumberOfPoints()==0
void Kitware.VTK.vtkOrderedTriangulator.InitTriangulation ( IntPtr  bounds,
int  numPts 
)

Initialize the triangulation process. Provide a bounding box and the maximum number of points to be inserted. Note that since the triangulation is performed using parametric coordinates (see InsertPoint()) the bounds should be represent the range of the parametric coordinates inserted.

Postcondition:
no_point_inserted: GetNumberOfPoints()==0
int Kitware.VTK.vtkOrderedTriangulator.InsertPoint ( int  id,
IntPtr  x,
IntPtr  p,
int  type 
)

For each point to be inserted, provide an id, a position x, parametric coordinate p, and whether the point is inside (type=0), outside (type=1), or on the boundary (type=2). You must call InitTriangulation() prior to invoking this method. Make sure that the number of points inserted does not exceed the numPts specified in InitTriangulation(). Also note that the "id" can be any integer and can be greater than numPts. It is used to create tetras (in AddTetras()) with the appropriate connectivity ids. The method returns an internal id that can be used prior to the Triangulate() method to update the type of the point with UpdatePointType(). (Note: the algorithm triangulated with the parametric coordinate p[3] and creates tetras with the global coordinate x[3]. The parametric coordinates and global coordinates may be the same.)

int Kitware.VTK.vtkOrderedTriangulator.InsertPoint ( int  id,
int  sortid,
IntPtr  x,
IntPtr  p,
int  type 
)

For each point to be inserted, provide an id, a position x, parametric coordinate p, and whether the point is inside (type=0), outside (type=1), or on the boundary (type=2). You must call InitTriangulation() prior to invoking this method. Make sure that the number of points inserted does not exceed the numPts specified in InitTriangulation(). Also note that the "id" can be any integer and can be greater than numPts. It is used to create tetras (in AddTetras()) with the appropriate connectivity ids. The method returns an internal id that can be used prior to the Triangulate() method to update the type of the point with UpdatePointType(). (Note: the algorithm triangulated with the parametric coordinate p[3] and creates tetras with the global coordinate x[3]. The parametric coordinates and global coordinates may be the same.)

int Kitware.VTK.vtkOrderedTriangulator.InsertPoint ( int  id,
int  sortid,
int  sortid2,
IntPtr  x,
IntPtr  p,
int  type 
)

For each point to be inserted, provide an id, a position x, parametric coordinate p, and whether the point is inside (type=0), outside (type=1), or on the boundary (type=2). You must call InitTriangulation() prior to invoking this method. Make sure that the number of points inserted does not exceed the numPts specified in InitTriangulation(). Also note that the "id" can be any integer and can be greater than numPts. It is used to create tetras (in AddTetras()) with the appropriate connectivity ids. The method returns an internal id that can be used prior to the Triangulate() method to update the type of the point with UpdatePointType(). (Note: the algorithm triangulated with the parametric coordinate p[3] and creates tetras with the global coordinate x[3]. The parametric coordinates and global coordinates may be the same.)

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

Undocumented Block.

Reimplemented from Kitware.VTK.vtkObject.

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

Undocumented Block.

Reimplemented from Kitware.VTK.vtkObject.

Construct object.

Reimplemented from Kitware.VTK.vtkObject.

Undocumented Block.

Reimplemented from Kitware.VTK.vtkObject.

Boolean indicates whether the points have been pre-sorted. If pre-sorted is enabled, the points are not sorted on point id. By default, presorted is off. (The point id is defined in InsertPoint().)

Boolean indicates whether the points have been pre-sorted. If pre-sorted is enabled, the points are not sorted on point id. By default, presorted is off. (The point id is defined in InsertPoint().)

Undocumented Block.

Reimplemented from Kitware.VTK.vtkObject.

Here is the call graph for this function:

virtual void Kitware.VTK.vtkOrderedTriangulator.SetPreSorted ( int  _arg) [virtual]

Boolean indicates whether the points have been pre-sorted. If pre-sorted is enabled, the points are not sorted on point id. By default, presorted is off. (The point id is defined in InsertPoint().)

virtual void Kitware.VTK.vtkOrderedTriangulator.SetUseTemplates ( int  _arg) [virtual]

If this flag is set, then the ordered triangulator will create and use templates for the triangulation. To use templates, the TemplateTriangulate() method should be called when appropriate. (Note: the TemplateTriangulate() method works for complete (interior) cells without extra points due to intersection, etc.)

virtual void Kitware.VTK.vtkOrderedTriangulator.SetUseTwoSortIds ( int  _arg) [virtual]

Tells the triangulator that a second sort id is provided for each point and should also be considered when sorting.

void Kitware.VTK.vtkOrderedTriangulator.TemplateTriangulate ( int  cellType,
int  numPts,
int  numEdges 
)

Perform the triangulation. (Complete all calls to InsertPoint() prior to invoking this method.) A special version is available when templates should be used.

Perform the triangulation. (Complete all calls to InsertPoint() prior to invoking this method.) A special version is available when templates should be used.

void Kitware.VTK.vtkOrderedTriangulator.UpdatePointType ( int  internalId,
int  type 
)

Update the point type. This is useful when the merging of nearly coincident points is performed. The id is the internal id returned from InsertPoint(). The method should be invoked prior to the Triangulate method. The type is specified as inside (type=0), outside (type=1), or on the boundary (type=2).

Precondition:
valid_range: internalId>=0 && internalId<this->GetNumberOfPoints()

If this flag is set, then the ordered triangulator will create and use templates for the triangulation. To use templates, the TemplateTriangulate() method should be called when appropriate. (Note: the TemplateTriangulate() method works for complete (interior) cells without extra points due to intersection, etc.)

If this flag is set, then the ordered triangulator will create and use templates for the triangulation. To use templates, the TemplateTriangulate() method should be called when appropriate. (Note: the TemplateTriangulate() method works for complete (interior) cells without extra points due to intersection, etc.)

Tells the triangulator that a second sort id is provided for each point and should also be considered when sorting.

Tells the triangulator that a second sort id is provided for each point and should also be considered when sorting.

static internal int Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_AddTetras_01 ( HandleRef  pThis,
int  classification,
HandleRef  ugrid 
) [private]
static internal int Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_AddTetras_02 ( HandleRef  pThis,
int  classification,
HandleRef  connectivity 
) [private]
static internal int Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_AddTetras_03 ( HandleRef  pThis,
int  classification,
HandleRef  locator,
HandleRef  outConnectivity,
HandleRef  inPD,
HandleRef  outPD,
HandleRef  inCD,
int  cellId,
HandleRef  outCD 
) [private]
static internal int Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_AddTetras_04 ( HandleRef  pThis,
int  classification,
HandleRef  ptIds,
HandleRef  pts 
) [private]
static internal int Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_AddTriangles_05 ( HandleRef  pThis,
HandleRef  connectivity 
) [private]
static internal int Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_AddTriangles_06 ( HandleRef  pThis,
int  id,
HandleRef  connectivity 
) [private]
static internal int Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_GetNextTetra_07 ( HandleRef  pThis,
int  classification,
HandleRef  tet,
HandleRef  cellScalars,
HandleRef  tetScalars 
) [private]
static internal int Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_GetNumberOfPoints_08 ( HandleRef  pThis) [private]
static internal int Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_GetPointId_09 ( HandleRef  pThis,
int  internalId 
) [private]
static internal IntPtr Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_GetPointLocation_10 ( HandleRef  pThis,
int  internalId 
) [private]
static internal IntPtr Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_GetPointPosition_11 ( HandleRef  pThis,
int  internalId 
) [private]
static internal int Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_GetPreSorted_12 ( HandleRef  pThis) [private]
static internal int Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_GetTetras_13 ( HandleRef  pThis,
int  classification,
HandleRef  ugrid 
) [private]
static internal int Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_GetUseTemplates_14 ( HandleRef  pThis) [private]
static internal int Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_GetUseTwoSortIds_15 ( HandleRef  pThis) [private]
static internal void Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_InitTetraTraversal_16 ( HandleRef  pThis) [private]
static internal void Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_InitTriangulation_17 ( HandleRef  pThis,
double  xmin,
double  xmax,
double  ymin,
double  ymax,
double  zmin,
double  zmax,
int  numPts 
) [private]
static internal void Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_InitTriangulation_18 ( HandleRef  pThis,
IntPtr  bounds,
int  numPts 
) [private]
static internal int Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_InsertPoint_19 ( HandleRef  pThis,
int  id,
IntPtr  x,
IntPtr  p,
int  type 
) [private]
static internal int Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_InsertPoint_20 ( HandleRef  pThis,
int  id,
int  sortid,
IntPtr  x,
IntPtr  p,
int  type 
) [private]
static internal int Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_InsertPoint_21 ( HandleRef  pThis,
int  id,
int  sortid,
int  sortid2,
IntPtr  x,
IntPtr  p,
int  type 
) [private]
static internal int Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_IsA_22 ( HandleRef  pThis,
string  type 
) [private]
static internal int Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_IsTypeOf_23 ( string  type) [private]
static internal IntPtr Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_New ( ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal IntPtr Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_NewInstance_25 ( HandleRef  pThis,
ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal void Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_PreSortedOff_26 ( HandleRef  pThis) [private]
static internal void Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_PreSortedOn_27 ( HandleRef  pThis) [private]
static internal IntPtr Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_SafeDownCast_28 ( HandleRef  o,
ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal void Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_SetPreSorted_29 ( HandleRef  pThis,
int  _arg 
) [private]
static internal void Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_SetUseTemplates_30 ( HandleRef  pThis,
int  _arg 
) [private]
static internal void Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_SetUseTwoSortIds_31 ( HandleRef  pThis,
int  _arg 
) [private]
static internal void Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_TemplateTriangulate_32 ( HandleRef  pThis,
int  cellType,
int  numPts,
int  numEdges 
) [private]
static internal void Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_Triangulate_33 ( HandleRef  pThis) [private]
static internal void Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_UpdatePointType_34 ( HandleRef  pThis,
int  internalId,
int  type 
) [private]
static internal void Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_UseTemplatesOff_35 ( HandleRef  pThis) [private]
static internal void Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_UseTemplatesOn_36 ( HandleRef  pThis) [private]
static internal void Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_UseTwoSortIdsOff_37 ( HandleRef  pThis) [private]
static internal void Kitware.VTK.vtkOrderedTriangulator.vtkOrderedTriangulator_UseTwoSortIdsOn_38 ( HandleRef  pThis) [private]

Member Data Documentation

new readonly string Kitware.VTK.vtkOrderedTriangulator.MRClassNameKey = "22vtkOrderedTriangulator" [static]

Automatically generated type registration mechanics.

Reimplemented from Kitware.VTK.vtkObject.

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

Automatically generated type registration mechanics.

Reimplemented from Kitware.VTK.vtkObject.


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