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

vtkSimpleCellTessellator - helper class to perform cell tessellation More...

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

List of all members.

Public Member Functions

 vtkSimpleCellTessellator (IntPtr rawCppThis, bool callDisposalMethod, bool strong)
 Automatically generated constructor - called from generated code. DO NOT call directly.
 vtkSimpleCellTessellator ()
 Undocumented Block.
int GetFixedSubdivisions ()
 Return the number of fixed subdivisions. It is used to prevent from infinite loop in degenerated cases. For order 3 or higher, if the inflection point is exactly on the mid-point, error metric will not detect that a subdivision is required. 0 means no fixed subdivision: there will be only adaptive subdivisions.
virtual vtkGenericAdaptorCell GetGenericCell ()
 Get the higher order cell in order to access the evaluation function.
int GetMaxAdaptiveSubdivisions ()
 Return the maximum number of adaptive subdivisions.
int GetMaxSubdivisionLevel ()
 Return the maximum level of subdivision. It is used to prevent from infinite loop in degenerated cases. For order 3 or higher, if the inflection point is exactly on the mid-point, error metric will not detect that a subdivision is required. 0 means no subdivision, neither fixed nor adaptive.
override void Initialize (vtkGenericDataSet ds)
 Initialize the tessellator with a data set `ds'.
override int IsA (string type)
 Undocumented Block.
new vtkSimpleCellTessellator NewInstance ()
 Undocumented Block.
void Reset ()
 Reset the output for repeated use of this class.
void SetFixedSubdivisions (int level)
 Set the number of fixed subdivisions. See GetFixedSubdivisions() for more explanations.
void SetMaxSubdivisionLevel (int level)
 Set the maximum level of subdivision. See GetMaxSubdivisionLevel() for more explanations.
void SetSubdivisionLevels (int arg0, int maxLevel)
 Set both the number of fixed subdivisions and the maximum level of subdivisions. See GetFixedSubdivisions(), GetMaxSubdivisionLevel() and GetMaxAdaptiveSubdivisions() for more explanations.
override void Tessellate (vtkGenericAdaptorCell cell, vtkGenericAttributeCollection att, vtkDoubleArray points, vtkCellArray cellArray, vtkPointData internalPd)
 Tessellate a 3D `cell'. The result is a set of smaller linear tetrahedra in `cellArray' with `points' and point data `internalPd'.
override void TessellateFace (vtkGenericAdaptorCell cell, vtkGenericAttributeCollection att, int index, vtkDoubleArray points, vtkCellArray cellArray, vtkPointData internalPd)
 Tessellate a face of a 3D `cell'. The face is specified by the index value. The result is a set of smaller linear triangles in `cellArray' with `points' and point data `internalPd'.
override void Triangulate (vtkGenericAdaptorCell cell, vtkGenericAttributeCollection att, vtkDoubleArray points, vtkCellArray cellArray, vtkPointData internalPd)
 Triangulate a 2D `cell'. The result is a set of smaller linear triangles in `cellArray' with `points' and point data `internalPd'.

Static Public Member Functions

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

Public Attributes

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

Static Public Attributes

static new readonly string MRClassNameKey = "24vtkSimpleCellTessellator"
 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 vtkSimpleCellTessellator_New (ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal int vtkSimpleCellTessellator_GetFixedSubdivisions_01 (HandleRef pThis)
static internal IntPtr vtkSimpleCellTessellator_GetGenericCell_02 (HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal int vtkSimpleCellTessellator_GetMaxAdaptiveSubdivisions_03 (HandleRef pThis)
static internal int vtkSimpleCellTessellator_GetMaxSubdivisionLevel_04 (HandleRef pThis)
static internal void vtkSimpleCellTessellator_Initialize_05 (HandleRef pThis, HandleRef ds)
static internal int vtkSimpleCellTessellator_IsA_06 (HandleRef pThis, string type)
static internal int vtkSimpleCellTessellator_IsTypeOf_07 (string type)
static internal IntPtr vtkSimpleCellTessellator_NewInstance_09 (HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal void vtkSimpleCellTessellator_Reset_10 (HandleRef pThis)
static internal IntPtr vtkSimpleCellTessellator_SafeDownCast_11 (HandleRef o, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal void vtkSimpleCellTessellator_SetFixedSubdivisions_12 (HandleRef pThis, int level)
static internal void vtkSimpleCellTessellator_SetMaxSubdivisionLevel_13 (HandleRef pThis, int level)
static internal void vtkSimpleCellTessellator_SetSubdivisionLevels_14 (HandleRef pThis, int arg0, int maxLevel)
static internal void vtkSimpleCellTessellator_Tessellate_15 (HandleRef pThis, HandleRef cell, HandleRef att, HandleRef points, HandleRef cellArray, HandleRef internalPd)
static internal void vtkSimpleCellTessellator_TessellateFace_16 (HandleRef pThis, HandleRef cell, HandleRef att, int index, HandleRef points, HandleRef cellArray, HandleRef internalPd)
static internal void vtkSimpleCellTessellator_Triangulate_17 (HandleRef pThis, HandleRef cell, HandleRef att, HandleRef points, HandleRef cellArray, HandleRef internalPd)

Static Private Member Functions

static vtkSimpleCellTessellator ()
 Automatically generated type registration mechanics.

Detailed Description

vtkSimpleCellTessellator - helper class to perform cell tessellation

Description vtkSimpleCellTessellator is a helper class to perform adaptive tessellation of particular cell topologies. The major purpose for this class is to transform higher-order cell types (e.g., higher-order finite elements) into linear cells that can then be easily visualized by VTK. This class works in conjunction with the vtkGenericDataSet and vtkGenericAdaptorCell classes.

This algorithm is based on edge subdivision. An error metric along each edge is evaluated, and if the error is greater than some tolerance, the edge is subdivided (as well as all connected 2D and 3D cells). The process repeats until the error metric is satisfied. Since the algorithm is based on edge subdivision it inherently avoid T-junctions.

A significant issue addressed by this algorithm is to insure face compatibility across neigboring cells. That is, diagonals due to face triangulation must match to insure that the mesh is compatible. The algorithm employs a precomputed table to accelerate the tessellation process. The table was generated with the help of vtkOrderedTriangulator the basic idea is that the choice of diagonal is made only by considering the relative value of the point ids.

vtkGenericCellTessellator vtkGenericSubdivisionErrorMetric vtkAttributesErrorMetric vtkGeometricErrorMetric vtkViewDependentErrorMetric


Constructor & Destructor Documentation

Automatically generated type registration mechanics.

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

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

Undocumented Block.


Member Function Documentation

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

Return the number of fixed subdivisions. It is used to prevent from infinite loop in degenerated cases. For order 3 or higher, if the inflection point is exactly on the mid-point, error metric will not detect that a subdivision is required. 0 means no fixed subdivision: there will be only adaptive subdivisions.

The algorithm first performs `GetFixedSubdivisions' non adaptive subdivisions followed by at most `GetMaxAdaptiveSubdivisions' adaptive subdivisions. Hence, there are at most `GetMaxSubdivisionLevel' subdivisions.

Postcondition:
positive_result: result>=0 && result<=GetMaxSubdivisionLevel()

Get the higher order cell in order to access the evaluation function.

Here is the call graph for this function:

Return the maximum number of adaptive subdivisions.

Postcondition:
valid_result: result==GetMaxSubdivisionLevel()-GetFixedSubdivisions()

Return the maximum level of subdivision. It is used to prevent from infinite loop in degenerated cases. For order 3 or higher, if the inflection point is exactly on the mid-point, error metric will not detect that a subdivision is required. 0 means no subdivision, neither fixed nor adaptive.

Postcondition:
positive_result: result>=GetFixedSubdivisions()

Initialize the tessellator with a data set `ds'.

Reimplemented from Kitware.VTK.vtkGenericCellTessellator.

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

Undocumented Block.

Reimplemented from Kitware.VTK.vtkGenericCellTessellator.

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

Undocumented Block.

Reimplemented from Kitware.VTK.vtkGenericCellTessellator.

Undocumented Block.

Reimplemented from Kitware.VTK.vtkObject.

Undocumented Block.

Reimplemented from Kitware.VTK.vtkGenericCellTessellator.

Reset the output for repeated use of this class.

Undocumented Block.

Reimplemented from Kitware.VTK.vtkGenericCellTessellator.

Here is the call graph for this function:

Set the number of fixed subdivisions. See GetFixedSubdivisions() for more explanations.

Precondition:
positive_level: level>=0 && level<=GetMaxSubdivisionLevel()
Postcondition:
is_set: GetFixedSubdivisions()==level

Set the maximum level of subdivision. See GetMaxSubdivisionLevel() for more explanations.

Precondition:
positive_level: level>=GetFixedSubdivisions()
Postcondition:
is_set: level==GetMaxSubdivisionLevel()
void Kitware.VTK.vtkSimpleCellTessellator.SetSubdivisionLevels ( int  arg0,
int  maxLevel 
)

Set both the number of fixed subdivisions and the maximum level of subdivisions. See GetFixedSubdivisions(), GetMaxSubdivisionLevel() and GetMaxAdaptiveSubdivisions() for more explanations.

Precondition:
positive_fixed: fixed>=0
valid_range: fixed<=maxLevel
Postcondition:
fixed_is_set: fixed==GetFixedSubdivisions()
maxLevel_is_set: maxLevel==GetMaxSubdivisionLevel()

Tessellate a 3D `cell'. The result is a set of smaller linear tetrahedra in `cellArray' with `points' and point data `internalPd'.

Precondition:
cell_exists: cell!=0
valid_dimension: cell->GetDimension()==3
att_exists: att!=0
points_exists: points!=0
cellArray_exists: cellArray!=0
internalPd_exists: internalPd!=0

Reimplemented from Kitware.VTK.vtkGenericCellTessellator.

override void Kitware.VTK.vtkSimpleCellTessellator.TessellateFace ( vtkGenericAdaptorCell  cell,
vtkGenericAttributeCollection  att,
int  index,
vtkDoubleArray  points,
vtkCellArray  cellArray,
vtkPointData  internalPd 
) [virtual]

Tessellate a face of a 3D `cell'. The face is specified by the index value. The result is a set of smaller linear triangles in `cellArray' with `points' and point data `internalPd'.

Precondition:
cell_exists: cell!=0
valid_dimension: cell->GetDimension()==3
valid_index_range: (index>=0) && (index<cell->GetNumberOfBoundaries(2))
att_exists: att!=0
points_exists: points!=0
cellArray_exists: cellArray!=0
internalPd_exists: internalPd!=0

Reimplemented from Kitware.VTK.vtkGenericCellTessellator.

Triangulate a 2D `cell'. The result is a set of smaller linear triangles in `cellArray' with `points' and point data `internalPd'.

Precondition:
cell_exists: cell!=0
valid_dimension: cell->GetDimension()==2
att_exists: att!=0
points_exists: points!=0
cellArray_exists: cellArray!=0
internalPd_exists: internalPd!=0

Reimplemented from Kitware.VTK.vtkGenericCellTessellator.

static internal IntPtr Kitware.VTK.vtkSimpleCellTessellator.vtkSimpleCellTessellator_GetGenericCell_02 ( HandleRef  pThis,
ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal void Kitware.VTK.vtkSimpleCellTessellator.vtkSimpleCellTessellator_Initialize_05 ( HandleRef  pThis,
HandleRef  ds 
) [private]
static internal int Kitware.VTK.vtkSimpleCellTessellator.vtkSimpleCellTessellator_IsA_06 ( HandleRef  pThis,
string  type 
) [private]
static internal int Kitware.VTK.vtkSimpleCellTessellator.vtkSimpleCellTessellator_IsTypeOf_07 ( string  type) [private]
static internal IntPtr Kitware.VTK.vtkSimpleCellTessellator.vtkSimpleCellTessellator_New ( ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal IntPtr Kitware.VTK.vtkSimpleCellTessellator.vtkSimpleCellTessellator_NewInstance_09 ( HandleRef  pThis,
ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal void Kitware.VTK.vtkSimpleCellTessellator.vtkSimpleCellTessellator_Reset_10 ( HandleRef  pThis) [private]
static internal IntPtr Kitware.VTK.vtkSimpleCellTessellator.vtkSimpleCellTessellator_SafeDownCast_11 ( HandleRef  o,
ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal void Kitware.VTK.vtkSimpleCellTessellator.vtkSimpleCellTessellator_SetFixedSubdivisions_12 ( HandleRef  pThis,
int  level 
) [private]
static internal void Kitware.VTK.vtkSimpleCellTessellator.vtkSimpleCellTessellator_SetMaxSubdivisionLevel_13 ( HandleRef  pThis,
int  level 
) [private]
static internal void Kitware.VTK.vtkSimpleCellTessellator.vtkSimpleCellTessellator_SetSubdivisionLevels_14 ( HandleRef  pThis,
int  arg0,
int  maxLevel 
) [private]
static internal void Kitware.VTK.vtkSimpleCellTessellator.vtkSimpleCellTessellator_Tessellate_15 ( HandleRef  pThis,
HandleRef  cell,
HandleRef  att,
HandleRef  points,
HandleRef  cellArray,
HandleRef  internalPd 
) [private]
static internal void Kitware.VTK.vtkSimpleCellTessellator.vtkSimpleCellTessellator_TessellateFace_16 ( HandleRef  pThis,
HandleRef  cell,
HandleRef  att,
int  index,
HandleRef  points,
HandleRef  cellArray,
HandleRef  internalPd 
) [private]
static internal void Kitware.VTK.vtkSimpleCellTessellator.vtkSimpleCellTessellator_Triangulate_17 ( HandleRef  pThis,
HandleRef  cell,
HandleRef  att,
HandleRef  points,
HandleRef  cellArray,
HandleRef  internalPd 
) [private]

Member Data Documentation

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

Automatically generated type registration mechanics.

Reimplemented from Kitware.VTK.vtkGenericCellTessellator.

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

Automatically generated type registration mechanics.

Reimplemented from Kitware.VTK.vtkGenericCellTessellator.


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