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

vtkEdgeSubdivisionCriterion - how to decide whether a linear approximation to nonlinear geometry or field should be subdivided More...

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

List of all members.

Public Member Functions

 vtkEdgeSubdivisionCriterion (IntPtr rawCppThis, bool callDisposalMethod, bool strong)
 Automatically generated constructor - called from generated code. DO NOT call directly.
virtual bool DontPassField (int sourceId, vtkStreamingTessellator t)
 This does the opposite of PassField(); it removes a field from the output (assuming the field was set to be passed). Returns true if any action was taken, false otherwise.
virtual bool EvaluateEdge (IntPtr p0, IntPtr p1, IntPtr p2, int field_start)
 You must implement this member function in a subclass. It will be called by vtkStreamingTessellator for each edge in each primitive that vtkStreamingTessellator generates.
IntPtr GetFieldIds ()
 Perform the core logic for a fixed multi-criterion, scalar-field based subdivision. Returns true if subdivision should occur, false otherwise. This is to be used by subclasses once the mesh-specific evaluation routines have been called to get the actual (as opposed to linearly interpolated) midpoint geometry and field values. Only field values are tested (not geometry) because you can save yourself field evaluations if you check the geometry yourself and it fails the test.
IntPtr GetFieldOffsets ()
 Perform the core logic for a fixed multi-criterion, scalar-field based subdivision. Returns true if subdivision should occur, false otherwise. This is to be used by subclasses once the mesh-specific evaluation routines have been called to get the actual (as opposed to linearly interpolated) midpoint geometry and field values. Only field values are tested (not geometry) because you can save yourself field evaluations if you check the geometry yourself and it fails the test.
int GetNumberOfFields ()
 Perform the core logic for a fixed multi-criterion, scalar-field based subdivision. Returns true if subdivision should occur, false otherwise. This is to be used by subclasses once the mesh-specific evaluation routines have been called to get the actual (as opposed to linearly interpolated) midpoint geometry and field values. Only field values are tested (not geometry) because you can save yourself field evaluations if you check the geometry yourself and it fails the test.
int GetOutputField (int fieldId)
 Return the output ID of an input field. Returns -1 if fieldId is not set to be passed to the output.
override int IsA (string type)
 Undocumented Block.
new vtkEdgeSubdivisionCriterion NewInstance ()
 Undocumented Block.
virtual int PassField (int sourceId, int sourceSize, vtkStreamingTessellator t)
 This is a helper routine called by PassFields() which you may also call directly; it adds sourceSize to the size of the output vertex field values. The offset of the sourceId field in the output vertex array is returned.
virtual void ResetFieldList ()
 Don't pass any field values in the vertex pointer. This is used to reset the list of fields to pass after a successful run of vtkStreamingTessellator.

Static Public Member Functions

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

Public Attributes

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

Static Public Attributes

static new readonly string MRClassNameKey = "27vtkEdgeSubdivisionCriterion"
 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 byte vtkEdgeSubdivisionCriterion_DontPassField_01 (HandleRef pThis, int sourceId, HandleRef t)
static internal byte vtkEdgeSubdivisionCriterion_EvaluateEdge_02 (HandleRef pThis, IntPtr p0, IntPtr p1, IntPtr p2, int field_start)
static internal IntPtr vtkEdgeSubdivisionCriterion_GetFieldIds_03 (HandleRef pThis)
static internal IntPtr vtkEdgeSubdivisionCriterion_GetFieldOffsets_04 (HandleRef pThis)
static internal int vtkEdgeSubdivisionCriterion_GetNumberOfFields_05 (HandleRef pThis)
static internal int vtkEdgeSubdivisionCriterion_GetOutputField_06 (HandleRef pThis, int fieldId)
static internal int vtkEdgeSubdivisionCriterion_IsA_07 (HandleRef pThis, string type)
static internal int vtkEdgeSubdivisionCriterion_IsTypeOf_08 (string type)
static internal IntPtr vtkEdgeSubdivisionCriterion_NewInstance_09 (HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal int vtkEdgeSubdivisionCriterion_PassField_10 (HandleRef pThis, int sourceId, int sourceSize, HandleRef t)
static internal void vtkEdgeSubdivisionCriterion_ResetFieldList_11 (HandleRef pThis)
static internal IntPtr vtkEdgeSubdivisionCriterion_SafeDownCast_12 (HandleRef o, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)

Static Private Member Functions

static vtkEdgeSubdivisionCriterion ()
 Automatically generated type registration mechanics.

Detailed Description

vtkEdgeSubdivisionCriterion - how to decide whether a linear approximation to nonlinear geometry or field should be subdivided

Description Descendants of this abstract class are used to decide whether a piecewise linear approximation (triangles, lines, ... ) to some nonlinear geometry should be subdivided. This decision may be based on an absolute error metric (chord error) or on some view-dependent metric (chord error compared to device resolution) or on some abstract metric (color error). Or anything else, really. Just so long as you implement the EvaluateEdge member, all will be well.

vtkDataSetSubdivisionAlgorithm vtkStreamingTessellator


Constructor & Destructor Documentation

Automatically generated type registration mechanics.

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

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


Member Function Documentation

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

Reimplemented in Kitware.VTK.vtkDataSetEdgeSubdivisionCriterion.

virtual bool Kitware.VTK.vtkEdgeSubdivisionCriterion.DontPassField ( int  sourceId,
vtkStreamingTessellator  t 
) [virtual]

This does the opposite of PassField(); it removes a field from the output (assuming the field was set to be passed). Returns true if any action was taken, false otherwise.

virtual bool Kitware.VTK.vtkEdgeSubdivisionCriterion.EvaluateEdge ( IntPtr  p0,
IntPtr  p1,
IntPtr  p2,
int  field_start 
) [virtual]

You must implement this member function in a subclass. It will be called by vtkStreamingTessellator for each edge in each primitive that vtkStreamingTessellator generates.

Reimplemented in Kitware.VTK.vtkDataSetEdgeSubdivisionCriterion.

Perform the core logic for a fixed multi-criterion, scalar-field based subdivision. Returns true if subdivision should occur, false otherwise. This is to be used by subclasses once the mesh-specific evaluation routines have been called to get the actual (as opposed to linearly interpolated) midpoint geometry and field values. Only field values are tested (not geometry) because you can save yourself field evaluations if you check the geometry yourself and it fails the test.

Parameters:
p0is the first endpoint of the edge
p1is the linearly interpolated midpoint of the edge
p1_actualis the actual midpoint of the edge
p2is the second endpoint of the edge
field_startis the offset into the above arrays indicating where the scalar field values start (when isosurfacing, the embedding dimension may be smaller than the number of parametric coordinates).
field_criteriais a bitfield specifying which fields (of the fields specified by PassField or PassFields) are to be considered for subdivision. Thus, you may pass fields to the output mesh without using them as subdivision criteria. In than case, the allowableFieldErr will have an empty entry for those fields.
allowableFieldErris an array of tolerances, one for each field passed to the output. If the linearly interpolated and actual midpoint values for any field are greater than the value specified here, the member will return true.

Perform the core logic for a fixed multi-criterion, scalar-field based subdivision. Returns true if subdivision should occur, false otherwise. This is to be used by subclasses once the mesh-specific evaluation routines have been called to get the actual (as opposed to linearly interpolated) midpoint geometry and field values. Only field values are tested (not geometry) because you can save yourself field evaluations if you check the geometry yourself and it fails the test.

Parameters:
p0is the first endpoint of the edge
p1is the linearly interpolated midpoint of the edge
p1_actualis the actual midpoint of the edge
p2is the second endpoint of the edge
field_startis the offset into the above arrays indicating where the scalar field values start (when isosurfacing, the embedding dimension may be smaller than the number of parametric coordinates).
field_criteriais a bitfield specifying which fields (of the fields specified by PassField or PassFields) are to be considered for subdivision. Thus, you may pass fields to the output mesh without using them as subdivision criteria. In than case, the allowableFieldErr will have an empty entry for those fields.
allowableFieldErris an array of tolerances, one for each field passed to the output. If the linearly interpolated and actual midpoint values for any field are greater than the value specified here, the member will return true.

Perform the core logic for a fixed multi-criterion, scalar-field based subdivision. Returns true if subdivision should occur, false otherwise. This is to be used by subclasses once the mesh-specific evaluation routines have been called to get the actual (as opposed to linearly interpolated) midpoint geometry and field values. Only field values are tested (not geometry) because you can save yourself field evaluations if you check the geometry yourself and it fails the test.

Parameters:
p0is the first endpoint of the edge
p1is the linearly interpolated midpoint of the edge
p1_actualis the actual midpoint of the edge
p2is the second endpoint of the edge
field_startis the offset into the above arrays indicating where the scalar field values start (when isosurfacing, the embedding dimension may be smaller than the number of parametric coordinates).
field_criteriais a bitfield specifying which fields (of the fields specified by PassField or PassFields) are to be considered for subdivision. Thus, you may pass fields to the output mesh without using them as subdivision criteria. In than case, the allowableFieldErr will have an empty entry for those fields.
allowableFieldErris an array of tolerances, one for each field passed to the output. If the linearly interpolated and actual midpoint values for any field are greater than the value specified here, the member will return true.

Return the output ID of an input field. Returns -1 if fieldId is not set to be passed to the output.

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

Undocumented Block.

Reimplemented from Kitware.VTK.vtkObject.

Reimplemented in Kitware.VTK.vtkDataSetEdgeSubdivisionCriterion.

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

Undocumented Block.

Reimplemented from Kitware.VTK.vtkObject.

Reimplemented in Kitware.VTK.vtkDataSetEdgeSubdivisionCriterion.

Undocumented Block.

Reimplemented from Kitware.VTK.vtkObject.

Reimplemented in Kitware.VTK.vtkDataSetEdgeSubdivisionCriterion.

virtual int Kitware.VTK.vtkEdgeSubdivisionCriterion.PassField ( int  sourceId,
int  sourceSize,
vtkStreamingTessellator  t 
) [virtual]

This is a helper routine called by PassFields() which you may also call directly; it adds sourceSize to the size of the output vertex field values. The offset of the sourceId field in the output vertex array is returned.

-1 is returned if sourceSize would force the output to have more than vtkStreamingTessellator::MaxFieldSize field values per vertex.

Don't pass any field values in the vertex pointer. This is used to reset the list of fields to pass after a successful run of vtkStreamingTessellator.

Undocumented Block.

Reimplemented from Kitware.VTK.vtkObject.

Reimplemented in Kitware.VTK.vtkDataSetEdgeSubdivisionCriterion.

Here is the call graph for this function:

static internal byte Kitware.VTK.vtkEdgeSubdivisionCriterion.vtkEdgeSubdivisionCriterion_DontPassField_01 ( HandleRef  pThis,
int  sourceId,
HandleRef  t 
) [private]
static internal byte Kitware.VTK.vtkEdgeSubdivisionCriterion.vtkEdgeSubdivisionCriterion_EvaluateEdge_02 ( HandleRef  pThis,
IntPtr  p0,
IntPtr  p1,
IntPtr  p2,
int  field_start 
) [private]
static internal IntPtr Kitware.VTK.vtkEdgeSubdivisionCriterion.vtkEdgeSubdivisionCriterion_GetFieldIds_03 ( HandleRef  pThis) [private]
static internal int Kitware.VTK.vtkEdgeSubdivisionCriterion.vtkEdgeSubdivisionCriterion_GetOutputField_06 ( HandleRef  pThis,
int  fieldId 
) [private]
static internal int Kitware.VTK.vtkEdgeSubdivisionCriterion.vtkEdgeSubdivisionCriterion_IsA_07 ( HandleRef  pThis,
string  type 
) [private]
static internal IntPtr Kitware.VTK.vtkEdgeSubdivisionCriterion.vtkEdgeSubdivisionCriterion_NewInstance_09 ( HandleRef  pThis,
ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal int Kitware.VTK.vtkEdgeSubdivisionCriterion.vtkEdgeSubdivisionCriterion_PassField_10 ( HandleRef  pThis,
int  sourceId,
int  sourceSize,
HandleRef  t 
) [private]
static internal IntPtr Kitware.VTK.vtkEdgeSubdivisionCriterion.vtkEdgeSubdivisionCriterion_SafeDownCast_12 ( HandleRef  o,
ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]

Member Data Documentation

new readonly string Kitware.VTK.vtkEdgeSubdivisionCriterion.MRClassNameKey = "27vtkEdgeSubdivisionCriterion" [static]

Automatically generated type registration mechanics.

Reimplemented from Kitware.VTK.vtkObject.

Reimplemented in Kitware.VTK.vtkDataSetEdgeSubdivisionCriterion.

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

Automatically generated type registration mechanics.

Reimplemented from Kitware.VTK.vtkObject.

Reimplemented in Kitware.VTK.vtkDataSetEdgeSubdivisionCriterion.


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