ActiViz .NET
5.8.0
|
vtkEdgeSubdivisionCriterion - how to decide whether a linear approximation to nonlinear geometry or field should be subdivided More...
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. |
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
static Kitware.VTK.vtkEdgeSubdivisionCriterion.vtkEdgeSubdivisionCriterion | ( | ) | [static, private] |
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.
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.
p0 | is the first endpoint of the edge |
p1 | is the linearly interpolated midpoint of the edge |
p1_actual | is the actual midpoint of the edge |
p2 | is the second endpoint of the edge |
field_start | is 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_criteria | is 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. |
allowableFieldErr | is 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.
p0 | is the first endpoint of the edge |
p1 | is the linearly interpolated midpoint of the edge |
p1_actual | is the actual midpoint of the edge |
p2 | is the second endpoint of the edge |
field_start | is 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_criteria | is 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. |
allowableFieldErr | is 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.
p0 | is the first endpoint of the edge |
p1 | is the linearly interpolated midpoint of the edge |
p1_actual | is the actual midpoint of the edge |
p2 | is the second endpoint of the edge |
field_start | is 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_criteria | is 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. |
allowableFieldErr | is 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. |
int Kitware.VTK.vtkEdgeSubdivisionCriterion.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 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.
virtual void Kitware.VTK.vtkEdgeSubdivisionCriterion.ResetFieldList | ( | ) | [virtual] |
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 new vtkEdgeSubdivisionCriterion Kitware.VTK.vtkEdgeSubdivisionCriterion.SafeDownCast | ( | vtkObjectBase | o | ) | [static] |
Undocumented Block.
Reimplemented from Kitware.VTK.vtkObject.
Reimplemented in Kitware.VTK.vtkDataSetEdgeSubdivisionCriterion.
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 IntPtr Kitware.VTK.vtkEdgeSubdivisionCriterion.vtkEdgeSubdivisionCriterion_GetFieldOffsets_04 | ( | HandleRef | pThis | ) | [private] |
static internal int Kitware.VTK.vtkEdgeSubdivisionCriterion.vtkEdgeSubdivisionCriterion_GetNumberOfFields_05 | ( | 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 int Kitware.VTK.vtkEdgeSubdivisionCriterion.vtkEdgeSubdivisionCriterion_IsTypeOf_08 | ( | 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 void Kitware.VTK.vtkEdgeSubdivisionCriterion.vtkEdgeSubdivisionCriterion_ResetFieldList_11 | ( | HandleRef | pThis | ) | [private] |
static internal IntPtr Kitware.VTK.vtkEdgeSubdivisionCriterion.vtkEdgeSubdivisionCriterion_SafeDownCast_12 | ( | HandleRef | o, |
ref uint | mteStatus, | ||
ref uint | mteIndex, | ||
ref uint | rawRefCount | ||
) | [private] |
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.