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

vtkDecimatePro - reduce the number of triangles in a mesh More...

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

List of all members.

Public Member Functions

 vtkDecimatePro (IntPtr rawCppThis, bool callDisposalMethod, bool strong)
 Automatically generated constructor - called from generated code. DO NOT call directly.
 vtkDecimatePro ()
 Create object with specified reduction of 90% and feature angle of 15 degrees. Edge splitting is on, defer splitting is on, and the split angle is 75 degrees. Topology preservation is off, delete boundary vertices is on, and the maximum error is set to VTK_DOUBLE_MAX. The inflection point ratio is 10 and the vertex degree is 25. Error accumulation is turned off.
virtual void AccumulateErrorOff ()
 The computed error can either be computed directly from the mesh or the error may be accumulated as the mesh is modified. If the error is accumulated, then it represents a global error bounds, and the ivar MaximumError becomes a global bounds on mesh error. Accumulating the error requires extra memory proportional to the number of vertices in the mesh. If AccumulateError is off, then the error is not accumulated.
virtual void AccumulateErrorOn ()
 The computed error can either be computed directly from the mesh or the error may be accumulated as the mesh is modified. If the error is accumulated, then it represents a global error bounds, and the ivar MaximumError becomes a global bounds on mesh error. Accumulating the error requires extra memory proportional to the number of vertices in the mesh. If AccumulateError is off, then the error is not accumulated.
virtual void BoundaryVertexDeletionOff ()
 Turn on/off the deletion of vertices on the boundary of a mesh. This may limit the maximum reduction that may be achieved.
virtual void BoundaryVertexDeletionOn ()
 Turn on/off the deletion of vertices on the boundary of a mesh. This may limit the maximum reduction that may be achieved.
virtual double GetAbsoluteError ()
 Same as MaximumError, but to be used when ErrorIsAbsolute is 1.
virtual double GetAbsoluteErrorMaxValue ()
 Same as MaximumError, but to be used when ErrorIsAbsolute is 1.
virtual double GetAbsoluteErrorMinValue ()
 Same as MaximumError, but to be used when ErrorIsAbsolute is 1.
virtual int GetAccumulateError ()
 The computed error can either be computed directly from the mesh or the error may be accumulated as the mesh is modified. If the error is accumulated, then it represents a global error bounds, and the ivar MaximumError becomes a global bounds on mesh error. Accumulating the error requires extra memory proportional to the number of vertices in the mesh. If AccumulateError is off, then the error is not accumulated.
virtual int GetBoundaryVertexDeletion ()
 Turn on/off the deletion of vertices on the boundary of a mesh. This may limit the maximum reduction that may be achieved.
virtual int GetDegree ()
 If the number of triangles connected to a vertex exceeds "Degree", then the vertex will be split. (NOTE: the complexity of the triangulation algorithm is proportional to Degree^2. Setting degree small can improve the performance of the algorithm.)
virtual int GetDegreeMaxValue ()
 If the number of triangles connected to a vertex exceeds "Degree", then the vertex will be split. (NOTE: the complexity of the triangulation algorithm is proportional to Degree^2. Setting degree small can improve the performance of the algorithm.)
virtual int GetDegreeMinValue ()
 If the number of triangles connected to a vertex exceeds "Degree", then the vertex will be split. (NOTE: the complexity of the triangulation algorithm is proportional to Degree^2. Setting degree small can improve the performance of the algorithm.)
virtual int GetErrorIsAbsolute ()
 The MaximumError is normally defined as a fraction of the dataset bounding diagonal. By setting ErrorIsAbsolute to 1, the error is instead defined as that specified by AbsoluteError. By default ErrorIsAbsolute=0.
virtual double GetFeatureAngle ()
 Specify the mesh feature angle. This angle is used to define what an edge is (i.e., if the surface normal between two adjacent triangles is >= FeatureAngle, an edge exists).
virtual double GetFeatureAngleMaxValue ()
 Specify the mesh feature angle. This angle is used to define what an edge is (i.e., if the surface normal between two adjacent triangles is >= FeatureAngle, an edge exists).
virtual double GetFeatureAngleMinValue ()
 Specify the mesh feature angle. This angle is used to define what an edge is (i.e., if the surface normal between two adjacent triangles is >= FeatureAngle, an edge exists).
virtual double GetInflectionPointRatio ()
 Specify the inflection point ratio. An inflection point occurs when the ratio of reduction error between two iterations is greater than or equal to the InflectionPointRatio.
virtual double GetInflectionPointRatioMaxValue ()
 Specify the inflection point ratio. An inflection point occurs when the ratio of reduction error between two iterations is greater than or equal to the InflectionPointRatio.
virtual double GetInflectionPointRatioMinValue ()
 Specify the inflection point ratio. An inflection point occurs when the ratio of reduction error between two iterations is greater than or equal to the InflectionPointRatio.
void GetInflectionPoints (IntPtr inflectionPoints)
 Get a list of inflection points. These are double values 0 < r <= 1.0 corresponding to reduction level, and there are a total of NumberOfInflectionPoints() values. You must provide an array (of the correct size) into which the inflection points are written.
IntPtr GetInflectionPoints ()
 Get a list of inflection points. These are double values 0 < r <= 1.0 corresponding to reduction level, and there are a total of NumberOfInflectionPoints() values. You must provide an array (of the correct size) into which the inflection points are written. This method returns a pointer to a list of inflection points.
virtual double GetMaximumError ()
 Set the largest decimation error that is allowed during the decimation process. This may limit the maximum reduction that may be achieved. The maximum error is specified as a fraction of the maximum length of the input data bounding box.
virtual double GetMaximumErrorMaxValue ()
 Set the largest decimation error that is allowed during the decimation process. This may limit the maximum reduction that may be achieved. The maximum error is specified as a fraction of the maximum length of the input data bounding box.
virtual double GetMaximumErrorMinValue ()
 Set the largest decimation error that is allowed during the decimation process. This may limit the maximum reduction that may be achieved. The maximum error is specified as a fraction of the maximum length of the input data bounding box.
int GetNumberOfInflectionPoints ()
 Get the number of inflection points. Only returns a valid value after the filter has executed. The values in the list are mesh reduction values at each inflection point. Note: the first inflection point always occurs right before non-planar triangles are decimated (i.e., as the error becomes non-zero).
virtual int GetPreSplitMesh ()
 In some cases you may wish to split the mesh prior to algorithm execution. This separates the mesh into semi-planar patches, which are disconnected from each other. This can give superior results in some cases. If the ivar PreSplitMesh ivar is enabled, the mesh is split with the specified SplitAngle. Otherwise mesh splitting is deferred as long as possible.
virtual int GetPreserveTopology ()
 Turn on/off whether to preserve the topology of the original mesh. If on, mesh splitting and hole elimination will not occur. This may limit the maximum reduction that may be achieved.
virtual double GetSplitAngle ()
 Specify the mesh split angle. This angle is used to control the splitting of the mesh. A split line exists when the surface normals between two edge connected triangles are >= SplitAngle.
virtual double GetSplitAngleMaxValue ()
 Specify the mesh split angle. This angle is used to control the splitting of the mesh. A split line exists when the surface normals between two edge connected triangles are >= SplitAngle.
virtual double GetSplitAngleMinValue ()
 Specify the mesh split angle. This angle is used to control the splitting of the mesh. A split line exists when the surface normals between two edge connected triangles are >= SplitAngle.
virtual int GetSplitting ()
 Turn on/off the splitting of the mesh at corners, along edges, at non-manifold points, or anywhere else a split is required. Turning splitting off will better preserve the original topology of the mesh, but you may not obtain the requested reduction.
virtual double GetTargetReduction ()
 Specify the desired reduction in the total number of polygons (e.g., if TargetReduction is set to 0.9, this filter will try to reduce the data set to 10% of its original size). Because of various constraints, this level of reduction may not be realized. If you want to guarantee a particular reduction, you must turn off PreserveTopology, turn on SplitEdges and BoundaryVertexDeletion, and set the MaximumError to VTK_DOUBLE_MAX (these ivars are initialized this way when the object is instantiated).
virtual double GetTargetReductionMaxValue ()
 Specify the desired reduction in the total number of polygons (e.g., if TargetReduction is set to 0.9, this filter will try to reduce the data set to 10% of its original size). Because of various constraints, this level of reduction may not be realized. If you want to guarantee a particular reduction, you must turn off PreserveTopology, turn on SplitEdges and BoundaryVertexDeletion, and set the MaximumError to VTK_DOUBLE_MAX (these ivars are initialized this way when the object is instantiated).
virtual double GetTargetReductionMinValue ()
 Specify the desired reduction in the total number of polygons (e.g., if TargetReduction is set to 0.9, this filter will try to reduce the data set to 10% of its original size). Because of various constraints, this level of reduction may not be realized. If you want to guarantee a particular reduction, you must turn off PreserveTopology, turn on SplitEdges and BoundaryVertexDeletion, and set the MaximumError to VTK_DOUBLE_MAX (these ivars are initialized this way when the object is instantiated).
override int IsA (string type)
 Undocumented Block.
new vtkDecimatePro NewInstance ()
 Undocumented Block.
virtual void PreSplitMeshOff ()
 In some cases you may wish to split the mesh prior to algorithm execution. This separates the mesh into semi-planar patches, which are disconnected from each other. This can give superior results in some cases. If the ivar PreSplitMesh ivar is enabled, the mesh is split with the specified SplitAngle. Otherwise mesh splitting is deferred as long as possible.
virtual void PreSplitMeshOn ()
 In some cases you may wish to split the mesh prior to algorithm execution. This separates the mesh into semi-planar patches, which are disconnected from each other. This can give superior results in some cases. If the ivar PreSplitMesh ivar is enabled, the mesh is split with the specified SplitAngle. Otherwise mesh splitting is deferred as long as possible.
virtual void PreserveTopologyOff ()
 Turn on/off whether to preserve the topology of the original mesh. If on, mesh splitting and hole elimination will not occur. This may limit the maximum reduction that may be achieved.
virtual void PreserveTopologyOn ()
 Turn on/off whether to preserve the topology of the original mesh. If on, mesh splitting and hole elimination will not occur. This may limit the maximum reduction that may be achieved.
virtual void SetAbsoluteError (double _arg)
 Same as MaximumError, but to be used when ErrorIsAbsolute is 1.
virtual void SetAccumulateError (int _arg)
 The computed error can either be computed directly from the mesh or the error may be accumulated as the mesh is modified. If the error is accumulated, then it represents a global error bounds, and the ivar MaximumError becomes a global bounds on mesh error. Accumulating the error requires extra memory proportional to the number of vertices in the mesh. If AccumulateError is off, then the error is not accumulated.
virtual void SetBoundaryVertexDeletion (int _arg)
 Turn on/off the deletion of vertices on the boundary of a mesh. This may limit the maximum reduction that may be achieved.
virtual void SetDegree (int _arg)
 If the number of triangles connected to a vertex exceeds "Degree", then the vertex will be split. (NOTE: the complexity of the triangulation algorithm is proportional to Degree^2. Setting degree small can improve the performance of the algorithm.)
virtual void SetErrorIsAbsolute (int _arg)
 The MaximumError is normally defined as a fraction of the dataset bounding diagonal. By setting ErrorIsAbsolute to 1, the error is instead defined as that specified by AbsoluteError. By default ErrorIsAbsolute=0.
virtual void SetFeatureAngle (double _arg)
 Specify the mesh feature angle. This angle is used to define what an edge is (i.e., if the surface normal between two adjacent triangles is >= FeatureAngle, an edge exists).
virtual void SetInflectionPointRatio (double _arg)
 Specify the inflection point ratio. An inflection point occurs when the ratio of reduction error between two iterations is greater than or equal to the InflectionPointRatio.
virtual void SetMaximumError (double _arg)
 Set the largest decimation error that is allowed during the decimation process. This may limit the maximum reduction that may be achieved. The maximum error is specified as a fraction of the maximum length of the input data bounding box.
virtual void SetPreSplitMesh (int _arg)
 In some cases you may wish to split the mesh prior to algorithm execution. This separates the mesh into semi-planar patches, which are disconnected from each other. This can give superior results in some cases. If the ivar PreSplitMesh ivar is enabled, the mesh is split with the specified SplitAngle. Otherwise mesh splitting is deferred as long as possible.
virtual void SetPreserveTopology (int _arg)
 Turn on/off whether to preserve the topology of the original mesh. If on, mesh splitting and hole elimination will not occur. This may limit the maximum reduction that may be achieved.
virtual void SetSplitAngle (double _arg)
 Specify the mesh split angle. This angle is used to control the splitting of the mesh. A split line exists when the surface normals between two edge connected triangles are >= SplitAngle.
virtual void SetSplitting (int _arg)
 Turn on/off the splitting of the mesh at corners, along edges, at non-manifold points, or anywhere else a split is required. Turning splitting off will better preserve the original topology of the mesh, but you may not obtain the requested reduction.
virtual void SetTargetReduction (double _arg)
 Specify the desired reduction in the total number of polygons (e.g., if TargetReduction is set to 0.9, this filter will try to reduce the data set to 10% of its original size). Because of various constraints, this level of reduction may not be realized. If you want to guarantee a particular reduction, you must turn off PreserveTopology, turn on SplitEdges and BoundaryVertexDeletion, and set the MaximumError to VTK_DOUBLE_MAX (these ivars are initialized this way when the object is instantiated).
virtual void SplittingOff ()
 Turn on/off the splitting of the mesh at corners, along edges, at non-manifold points, or anywhere else a split is required. Turning splitting off will better preserve the original topology of the mesh, but you may not obtain the requested reduction.
virtual void SplittingOn ()
 Turn on/off the splitting of the mesh at corners, along edges, at non-manifold points, or anywhere else a split is required. Turning splitting off will better preserve the original topology of the mesh, but you may not obtain the requested reduction.

Static Public Member Functions

static new vtkDecimatePro New ()
 Create object with specified reduction of 90% and feature angle of 15 degrees. Edge splitting is on, defer splitting is on, and the split angle is 75 degrees. Topology preservation is off, delete boundary vertices is on, and the maximum error is set to VTK_DOUBLE_MAX. The inflection point ratio is 10 and the vertex degree is 25. Error accumulation is turned off.
static new int IsTypeOf (string type)
 Undocumented Block.
static new vtkDecimatePro SafeDownCast (vtkObjectBase o)
 Undocumented Block.

Public Attributes

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

Static Public Attributes

static new readonly string MRClassNameKey = "14vtkDecimatePro"
 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 vtkDecimatePro_New (ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal void vtkDecimatePro_AccumulateErrorOff_01 (HandleRef pThis)
static internal void vtkDecimatePro_AccumulateErrorOn_02 (HandleRef pThis)
static internal void vtkDecimatePro_BoundaryVertexDeletionOff_03 (HandleRef pThis)
static internal void vtkDecimatePro_BoundaryVertexDeletionOn_04 (HandleRef pThis)
static internal double vtkDecimatePro_GetAbsoluteError_05 (HandleRef pThis)
static internal double vtkDecimatePro_GetAbsoluteErrorMaxValue_06 (HandleRef pThis)
static internal double vtkDecimatePro_GetAbsoluteErrorMinValue_07 (HandleRef pThis)
static internal int vtkDecimatePro_GetAccumulateError_08 (HandleRef pThis)
static internal int vtkDecimatePro_GetBoundaryVertexDeletion_09 (HandleRef pThis)
static internal int vtkDecimatePro_GetDegree_10 (HandleRef pThis)
static internal int vtkDecimatePro_GetDegreeMaxValue_11 (HandleRef pThis)
static internal int vtkDecimatePro_GetDegreeMinValue_12 (HandleRef pThis)
static internal int vtkDecimatePro_GetErrorIsAbsolute_13 (HandleRef pThis)
static internal double vtkDecimatePro_GetFeatureAngle_14 (HandleRef pThis)
static internal double vtkDecimatePro_GetFeatureAngleMaxValue_15 (HandleRef pThis)
static internal double vtkDecimatePro_GetFeatureAngleMinValue_16 (HandleRef pThis)
static internal double vtkDecimatePro_GetInflectionPointRatio_17 (HandleRef pThis)
static internal double vtkDecimatePro_GetInflectionPointRatioMaxValue_18 (HandleRef pThis)
static internal double vtkDecimatePro_GetInflectionPointRatioMinValue_19 (HandleRef pThis)
static internal void vtkDecimatePro_GetInflectionPoints_20 (HandleRef pThis, IntPtr inflectionPoints)
static internal IntPtr vtkDecimatePro_GetInflectionPoints_21 (HandleRef pThis)
static internal double vtkDecimatePro_GetMaximumError_22 (HandleRef pThis)
static internal double vtkDecimatePro_GetMaximumErrorMaxValue_23 (HandleRef pThis)
static internal double vtkDecimatePro_GetMaximumErrorMinValue_24 (HandleRef pThis)
static internal int vtkDecimatePro_GetNumberOfInflectionPoints_25 (HandleRef pThis)
static internal int vtkDecimatePro_GetPreSplitMesh_26 (HandleRef pThis)
static internal int vtkDecimatePro_GetPreserveTopology_27 (HandleRef pThis)
static internal double vtkDecimatePro_GetSplitAngle_28 (HandleRef pThis)
static internal double vtkDecimatePro_GetSplitAngleMaxValue_29 (HandleRef pThis)
static internal double vtkDecimatePro_GetSplitAngleMinValue_30 (HandleRef pThis)
static internal int vtkDecimatePro_GetSplitting_31 (HandleRef pThis)
static internal double vtkDecimatePro_GetTargetReduction_32 (HandleRef pThis)
static internal double vtkDecimatePro_GetTargetReductionMaxValue_33 (HandleRef pThis)
static internal double vtkDecimatePro_GetTargetReductionMinValue_34 (HandleRef pThis)
static internal int vtkDecimatePro_IsA_35 (HandleRef pThis, string type)
static internal int vtkDecimatePro_IsTypeOf_36 (string type)
static internal IntPtr vtkDecimatePro_NewInstance_38 (HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal void vtkDecimatePro_PreSplitMeshOff_39 (HandleRef pThis)
static internal void vtkDecimatePro_PreSplitMeshOn_40 (HandleRef pThis)
static internal void vtkDecimatePro_PreserveTopologyOff_41 (HandleRef pThis)
static internal void vtkDecimatePro_PreserveTopologyOn_42 (HandleRef pThis)
static internal IntPtr vtkDecimatePro_SafeDownCast_43 (HandleRef o, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount)
static internal void vtkDecimatePro_SetAbsoluteError_44 (HandleRef pThis, double _arg)
static internal void vtkDecimatePro_SetAccumulateError_45 (HandleRef pThis, int _arg)
static internal void vtkDecimatePro_SetBoundaryVertexDeletion_46 (HandleRef pThis, int _arg)
static internal void vtkDecimatePro_SetDegree_47 (HandleRef pThis, int _arg)
static internal void vtkDecimatePro_SetErrorIsAbsolute_48 (HandleRef pThis, int _arg)
static internal void vtkDecimatePro_SetFeatureAngle_49 (HandleRef pThis, double _arg)
static internal void vtkDecimatePro_SetInflectionPointRatio_50 (HandleRef pThis, double _arg)
static internal void vtkDecimatePro_SetMaximumError_51 (HandleRef pThis, double _arg)
static internal void vtkDecimatePro_SetPreSplitMesh_52 (HandleRef pThis, int _arg)
static internal void vtkDecimatePro_SetPreserveTopology_53 (HandleRef pThis, int _arg)
static internal void vtkDecimatePro_SetSplitAngle_54 (HandleRef pThis, double _arg)
static internal void vtkDecimatePro_SetSplitting_55 (HandleRef pThis, int _arg)
static internal void vtkDecimatePro_SetTargetReduction_56 (HandleRef pThis, double _arg)
static internal void vtkDecimatePro_SplittingOff_57 (HandleRef pThis)
static internal void vtkDecimatePro_SplittingOn_58 (HandleRef pThis)

Static Private Member Functions

static vtkDecimatePro ()
 Automatically generated type registration mechanics.

Detailed Description

vtkDecimatePro - reduce the number of triangles in a mesh

Description vtkDecimatePro is a filter to reduce the number of triangles in a triangle mesh, forming a good approximation to the original geometry. The input to vtkDecimatePro is a vtkPolyData object, and only triangles are treated. If you desire to decimate polygonal meshes, first triangulate the polygons with vtkTriangleFilter object.

The implementation of vtkDecimatePro is similar to the algorithm originally described in "Decimation of Triangle Meshes", Proc Siggraph `92, with three major differences. First, this algorithm does not necessarily preserve the topology of the mesh. Second, it is guaranteed to give the a mesh reduction factor specified by the user (as long as certain constraints are not set - see Caveats). Third, it is set up generate progressive meshes, that is a stream of operations that can be easily transmitted and incrementally updated (see Hugues Hoppe's Siggraph '96 paper on progressive meshes).

The algorithm proceeds as follows. Each vertex in the mesh is classified and inserted into a priority queue. The priority is based on the error to delete the vertex and retriangulate the hole. Vertices that cannot be deleted or triangulated (at this point in the algorithm) are skipped. Then, each vertex in the priority queue is processed (i.e., deleted followed by hole triangulation using edge collapse). This continues until the priority queue is empty. Next, all remaining vertices are processed, and the mesh is split into separate pieces along sharp edges or at non-manifold attachment points and reinserted into the priority queue. Again, the priority queue is processed until empty. If the desired reduction is still not achieved, the remaining vertices are split as necessary (in a recursive fashion) so that it is possible to eliminate every triangle as necessary.

To use this object, at a minimum you need to specify the ivar TargetReduction. The algorithm is guaranteed to generate a reduced mesh at this level as long as the following four conditions are met: 1) topology modification is allowed (i.e., the ivar PreserveTopology is off); 2) mesh splitting is enabled (i.e., the ivar Splitting is on); 3) the algorithm is allowed to modify the boundary of the mesh (i.e., the ivar BoundaryVertexDeletion is on); and 4) the maximum allowable error (i.e., the ivar MaximumError) is set to VTK_DOUBLE_MAX. Other important parameters to adjust include the FeatureAngle and SplitAngle ivars, since these can impact the quality of the final mesh. Also, you can set the ivar AccumulateError to force incremental error update and distribution to surrounding vertices as each vertex is deleted. The accumulated error is a conservative global error bounds and decimation error, but requires additional memory and time to compute.


Constructor & Destructor Documentation

static Kitware.VTK.vtkDecimatePro.vtkDecimatePro ( ) [static, private]

Automatically generated type registration mechanics.

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

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

Create object with specified reduction of 90% and feature angle of 15 degrees. Edge splitting is on, defer splitting is on, and the split angle is 75 degrees. Topology preservation is off, delete boundary vertices is on, and the maximum error is set to VTK_DOUBLE_MAX. The inflection point ratio is 10 and the vertex degree is 25. Error accumulation is turned off.


Member Function Documentation

The computed error can either be computed directly from the mesh or the error may be accumulated as the mesh is modified. If the error is accumulated, then it represents a global error bounds, and the ivar MaximumError becomes a global bounds on mesh error. Accumulating the error requires extra memory proportional to the number of vertices in the mesh. If AccumulateError is off, then the error is not accumulated.

The computed error can either be computed directly from the mesh or the error may be accumulated as the mesh is modified. If the error is accumulated, then it represents a global error bounds, and the ivar MaximumError becomes a global bounds on mesh error. Accumulating the error requires extra memory proportional to the number of vertices in the mesh. If AccumulateError is off, then the error is not accumulated.

Turn on/off the deletion of vertices on the boundary of a mesh. This may limit the maximum reduction that may be achieved.

Turn on/off the deletion of vertices on the boundary of a mesh. This may limit the maximum reduction that may be achieved.

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

virtual double Kitware.VTK.vtkDecimatePro.GetAbsoluteError ( ) [virtual]

Same as MaximumError, but to be used when ErrorIsAbsolute is 1.

Same as MaximumError, but to be used when ErrorIsAbsolute is 1.

Same as MaximumError, but to be used when ErrorIsAbsolute is 1.

The computed error can either be computed directly from the mesh or the error may be accumulated as the mesh is modified. If the error is accumulated, then it represents a global error bounds, and the ivar MaximumError becomes a global bounds on mesh error. Accumulating the error requires extra memory proportional to the number of vertices in the mesh. If AccumulateError is off, then the error is not accumulated.

Turn on/off the deletion of vertices on the boundary of a mesh. This may limit the maximum reduction that may be achieved.

virtual int Kitware.VTK.vtkDecimatePro.GetDegree ( ) [virtual]

If the number of triangles connected to a vertex exceeds "Degree", then the vertex will be split. (NOTE: the complexity of the triangulation algorithm is proportional to Degree^2. Setting degree small can improve the performance of the algorithm.)

If the number of triangles connected to a vertex exceeds "Degree", then the vertex will be split. (NOTE: the complexity of the triangulation algorithm is proportional to Degree^2. Setting degree small can improve the performance of the algorithm.)

If the number of triangles connected to a vertex exceeds "Degree", then the vertex will be split. (NOTE: the complexity of the triangulation algorithm is proportional to Degree^2. Setting degree small can improve the performance of the algorithm.)

The MaximumError is normally defined as a fraction of the dataset bounding diagonal. By setting ErrorIsAbsolute to 1, the error is instead defined as that specified by AbsoluteError. By default ErrorIsAbsolute=0.

virtual double Kitware.VTK.vtkDecimatePro.GetFeatureAngle ( ) [virtual]

Specify the mesh feature angle. This angle is used to define what an edge is (i.e., if the surface normal between two adjacent triangles is >= FeatureAngle, an edge exists).

Specify the mesh feature angle. This angle is used to define what an edge is (i.e., if the surface normal between two adjacent triangles is >= FeatureAngle, an edge exists).

Specify the mesh feature angle. This angle is used to define what an edge is (i.e., if the surface normal between two adjacent triangles is >= FeatureAngle, an edge exists).

Specify the inflection point ratio. An inflection point occurs when the ratio of reduction error between two iterations is greater than or equal to the InflectionPointRatio.

Specify the inflection point ratio. An inflection point occurs when the ratio of reduction error between two iterations is greater than or equal to the InflectionPointRatio.

Specify the inflection point ratio. An inflection point occurs when the ratio of reduction error between two iterations is greater than or equal to the InflectionPointRatio.

void Kitware.VTK.vtkDecimatePro.GetInflectionPoints ( IntPtr  inflectionPoints)

Get a list of inflection points. These are double values 0 < r <= 1.0 corresponding to reduction level, and there are a total of NumberOfInflectionPoints() values. You must provide an array (of the correct size) into which the inflection points are written.

Get a list of inflection points. These are double values 0 < r <= 1.0 corresponding to reduction level, and there are a total of NumberOfInflectionPoints() values. You must provide an array (of the correct size) into which the inflection points are written. This method returns a pointer to a list of inflection points.

virtual double Kitware.VTK.vtkDecimatePro.GetMaximumError ( ) [virtual]

Set the largest decimation error that is allowed during the decimation process. This may limit the maximum reduction that may be achieved. The maximum error is specified as a fraction of the maximum length of the input data bounding box.

Set the largest decimation error that is allowed during the decimation process. This may limit the maximum reduction that may be achieved. The maximum error is specified as a fraction of the maximum length of the input data bounding box.

Set the largest decimation error that is allowed during the decimation process. This may limit the maximum reduction that may be achieved. The maximum error is specified as a fraction of the maximum length of the input data bounding box.

Get the number of inflection points. Only returns a valid value after the filter has executed. The values in the list are mesh reduction values at each inflection point. Note: the first inflection point always occurs right before non-planar triangles are decimated (i.e., as the error becomes non-zero).

Turn on/off whether to preserve the topology of the original mesh. If on, mesh splitting and hole elimination will not occur. This may limit the maximum reduction that may be achieved.

virtual int Kitware.VTK.vtkDecimatePro.GetPreSplitMesh ( ) [virtual]

In some cases you may wish to split the mesh prior to algorithm execution. This separates the mesh into semi-planar patches, which are disconnected from each other. This can give superior results in some cases. If the ivar PreSplitMesh ivar is enabled, the mesh is split with the specified SplitAngle. Otherwise mesh splitting is deferred as long as possible.

virtual double Kitware.VTK.vtkDecimatePro.GetSplitAngle ( ) [virtual]

Specify the mesh split angle. This angle is used to control the splitting of the mesh. A split line exists when the surface normals between two edge connected triangles are >= SplitAngle.

Specify the mesh split angle. This angle is used to control the splitting of the mesh. A split line exists when the surface normals between two edge connected triangles are >= SplitAngle.

Specify the mesh split angle. This angle is used to control the splitting of the mesh. A split line exists when the surface normals between two edge connected triangles are >= SplitAngle.

virtual int Kitware.VTK.vtkDecimatePro.GetSplitting ( ) [virtual]

Turn on/off the splitting of the mesh at corners, along edges, at non-manifold points, or anywhere else a split is required. Turning splitting off will better preserve the original topology of the mesh, but you may not obtain the requested reduction.

virtual double Kitware.VTK.vtkDecimatePro.GetTargetReduction ( ) [virtual]

Specify the desired reduction in the total number of polygons (e.g., if TargetReduction is set to 0.9, this filter will try to reduce the data set to 10% of its original size). Because of various constraints, this level of reduction may not be realized. If you want to guarantee a particular reduction, you must turn off PreserveTopology, turn on SplitEdges and BoundaryVertexDeletion, and set the MaximumError to VTK_DOUBLE_MAX (these ivars are initialized this way when the object is instantiated).

Specify the desired reduction in the total number of polygons (e.g., if TargetReduction is set to 0.9, this filter will try to reduce the data set to 10% of its original size). Because of various constraints, this level of reduction may not be realized. If you want to guarantee a particular reduction, you must turn off PreserveTopology, turn on SplitEdges and BoundaryVertexDeletion, and set the MaximumError to VTK_DOUBLE_MAX (these ivars are initialized this way when the object is instantiated).

Specify the desired reduction in the total number of polygons (e.g., if TargetReduction is set to 0.9, this filter will try to reduce the data set to 10% of its original size). Because of various constraints, this level of reduction may not be realized. If you want to guarantee a particular reduction, you must turn off PreserveTopology, turn on SplitEdges and BoundaryVertexDeletion, and set the MaximumError to VTK_DOUBLE_MAX (these ivars are initialized this way when the object is instantiated).

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

Undocumented Block.

Reimplemented from Kitware.VTK.vtkPolyDataAlgorithm.

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

Undocumented Block.

Reimplemented from Kitware.VTK.vtkPolyDataAlgorithm.

Create object with specified reduction of 90% and feature angle of 15 degrees. Edge splitting is on, defer splitting is on, and the split angle is 75 degrees. Topology preservation is off, delete boundary vertices is on, and the maximum error is set to VTK_DOUBLE_MAX. The inflection point ratio is 10 and the vertex degree is 25. Error accumulation is turned off.

Reimplemented from Kitware.VTK.vtkPolyDataAlgorithm.

Undocumented Block.

Reimplemented from Kitware.VTK.vtkPolyDataAlgorithm.

Turn on/off whether to preserve the topology of the original mesh. If on, mesh splitting and hole elimination will not occur. This may limit the maximum reduction that may be achieved.

Turn on/off whether to preserve the topology of the original mesh. If on, mesh splitting and hole elimination will not occur. This may limit the maximum reduction that may be achieved.

virtual void Kitware.VTK.vtkDecimatePro.PreSplitMeshOff ( ) [virtual]

In some cases you may wish to split the mesh prior to algorithm execution. This separates the mesh into semi-planar patches, which are disconnected from each other. This can give superior results in some cases. If the ivar PreSplitMesh ivar is enabled, the mesh is split with the specified SplitAngle. Otherwise mesh splitting is deferred as long as possible.

virtual void Kitware.VTK.vtkDecimatePro.PreSplitMeshOn ( ) [virtual]

In some cases you may wish to split the mesh prior to algorithm execution. This separates the mesh into semi-planar patches, which are disconnected from each other. This can give superior results in some cases. If the ivar PreSplitMesh ivar is enabled, the mesh is split with the specified SplitAngle. Otherwise mesh splitting is deferred as long as possible.

Undocumented Block.

Reimplemented from Kitware.VTK.vtkPolyDataAlgorithm.

Here is the call graph for this function:

virtual void Kitware.VTK.vtkDecimatePro.SetAbsoluteError ( double  _arg) [virtual]

Same as MaximumError, but to be used when ErrorIsAbsolute is 1.

virtual void Kitware.VTK.vtkDecimatePro.SetAccumulateError ( int  _arg) [virtual]

The computed error can either be computed directly from the mesh or the error may be accumulated as the mesh is modified. If the error is accumulated, then it represents a global error bounds, and the ivar MaximumError becomes a global bounds on mesh error. Accumulating the error requires extra memory proportional to the number of vertices in the mesh. If AccumulateError is off, then the error is not accumulated.

virtual void Kitware.VTK.vtkDecimatePro.SetBoundaryVertexDeletion ( int  _arg) [virtual]

Turn on/off the deletion of vertices on the boundary of a mesh. This may limit the maximum reduction that may be achieved.

virtual void Kitware.VTK.vtkDecimatePro.SetDegree ( int  _arg) [virtual]

If the number of triangles connected to a vertex exceeds "Degree", then the vertex will be split. (NOTE: the complexity of the triangulation algorithm is proportional to Degree^2. Setting degree small can improve the performance of the algorithm.)

virtual void Kitware.VTK.vtkDecimatePro.SetErrorIsAbsolute ( int  _arg) [virtual]

The MaximumError is normally defined as a fraction of the dataset bounding diagonal. By setting ErrorIsAbsolute to 1, the error is instead defined as that specified by AbsoluteError. By default ErrorIsAbsolute=0.

virtual void Kitware.VTK.vtkDecimatePro.SetFeatureAngle ( double  _arg) [virtual]

Specify the mesh feature angle. This angle is used to define what an edge is (i.e., if the surface normal between two adjacent triangles is >= FeatureAngle, an edge exists).

virtual void Kitware.VTK.vtkDecimatePro.SetInflectionPointRatio ( double  _arg) [virtual]

Specify the inflection point ratio. An inflection point occurs when the ratio of reduction error between two iterations is greater than or equal to the InflectionPointRatio.

virtual void Kitware.VTK.vtkDecimatePro.SetMaximumError ( double  _arg) [virtual]

Set the largest decimation error that is allowed during the decimation process. This may limit the maximum reduction that may be achieved. The maximum error is specified as a fraction of the maximum length of the input data bounding box.

virtual void Kitware.VTK.vtkDecimatePro.SetPreserveTopology ( int  _arg) [virtual]

Turn on/off whether to preserve the topology of the original mesh. If on, mesh splitting and hole elimination will not occur. This may limit the maximum reduction that may be achieved.

virtual void Kitware.VTK.vtkDecimatePro.SetPreSplitMesh ( int  _arg) [virtual]

In some cases you may wish to split the mesh prior to algorithm execution. This separates the mesh into semi-planar patches, which are disconnected from each other. This can give superior results in some cases. If the ivar PreSplitMesh ivar is enabled, the mesh is split with the specified SplitAngle. Otherwise mesh splitting is deferred as long as possible.

virtual void Kitware.VTK.vtkDecimatePro.SetSplitAngle ( double  _arg) [virtual]

Specify the mesh split angle. This angle is used to control the splitting of the mesh. A split line exists when the surface normals between two edge connected triangles are >= SplitAngle.

virtual void Kitware.VTK.vtkDecimatePro.SetSplitting ( int  _arg) [virtual]

Turn on/off the splitting of the mesh at corners, along edges, at non-manifold points, or anywhere else a split is required. Turning splitting off will better preserve the original topology of the mesh, but you may not obtain the requested reduction.

virtual void Kitware.VTK.vtkDecimatePro.SetTargetReduction ( double  _arg) [virtual]

Specify the desired reduction in the total number of polygons (e.g., if TargetReduction is set to 0.9, this filter will try to reduce the data set to 10% of its original size). Because of various constraints, this level of reduction may not be realized. If you want to guarantee a particular reduction, you must turn off PreserveTopology, turn on SplitEdges and BoundaryVertexDeletion, and set the MaximumError to VTK_DOUBLE_MAX (these ivars are initialized this way when the object is instantiated).

virtual void Kitware.VTK.vtkDecimatePro.SplittingOff ( ) [virtual]

Turn on/off the splitting of the mesh at corners, along edges, at non-manifold points, or anywhere else a split is required. Turning splitting off will better preserve the original topology of the mesh, but you may not obtain the requested reduction.

virtual void Kitware.VTK.vtkDecimatePro.SplittingOn ( ) [virtual]

Turn on/off the splitting of the mesh at corners, along edges, at non-manifold points, or anywhere else a split is required. Turning splitting off will better preserve the original topology of the mesh, but you may not obtain the requested reduction.

static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_AccumulateErrorOff_01 ( HandleRef  pThis) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_AccumulateErrorOn_02 ( HandleRef  pThis) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_BoundaryVertexDeletionOff_03 ( HandleRef  pThis) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_BoundaryVertexDeletionOn_04 ( HandleRef  pThis) [private]
static internal double Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetAbsoluteError_05 ( HandleRef  pThis) [private]
static internal double Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetAbsoluteErrorMaxValue_06 ( HandleRef  pThis) [private]
static internal double Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetAbsoluteErrorMinValue_07 ( HandleRef  pThis) [private]
static internal int Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetAccumulateError_08 ( HandleRef  pThis) [private]
static internal int Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetBoundaryVertexDeletion_09 ( HandleRef  pThis) [private]
static internal int Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetDegree_10 ( HandleRef  pThis) [private]
static internal int Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetDegreeMaxValue_11 ( HandleRef  pThis) [private]
static internal int Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetDegreeMinValue_12 ( HandleRef  pThis) [private]
static internal int Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetErrorIsAbsolute_13 ( HandleRef  pThis) [private]
static internal double Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetFeatureAngle_14 ( HandleRef  pThis) [private]
static internal double Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetFeatureAngleMaxValue_15 ( HandleRef  pThis) [private]
static internal double Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetFeatureAngleMinValue_16 ( HandleRef  pThis) [private]
static internal double Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetInflectionPointRatio_17 ( HandleRef  pThis) [private]
static internal double Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetInflectionPointRatioMaxValue_18 ( HandleRef  pThis) [private]
static internal double Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetInflectionPointRatioMinValue_19 ( HandleRef  pThis) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetInflectionPoints_20 ( HandleRef  pThis,
IntPtr  inflectionPoints 
) [private]
static internal IntPtr Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetInflectionPoints_21 ( HandleRef  pThis) [private]
static internal double Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetMaximumError_22 ( HandleRef  pThis) [private]
static internal double Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetMaximumErrorMaxValue_23 ( HandleRef  pThis) [private]
static internal double Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetMaximumErrorMinValue_24 ( HandleRef  pThis) [private]
static internal int Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetNumberOfInflectionPoints_25 ( HandleRef  pThis) [private]
static internal int Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetPreserveTopology_27 ( HandleRef  pThis) [private]
static internal int Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetPreSplitMesh_26 ( HandleRef  pThis) [private]
static internal double Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetSplitAngle_28 ( HandleRef  pThis) [private]
static internal double Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetSplitAngleMaxValue_29 ( HandleRef  pThis) [private]
static internal double Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetSplitAngleMinValue_30 ( HandleRef  pThis) [private]
static internal int Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetSplitting_31 ( HandleRef  pThis) [private]
static internal double Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetTargetReduction_32 ( HandleRef  pThis) [private]
static internal double Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetTargetReductionMaxValue_33 ( HandleRef  pThis) [private]
static internal double Kitware.VTK.vtkDecimatePro.vtkDecimatePro_GetTargetReductionMinValue_34 ( HandleRef  pThis) [private]
static internal int Kitware.VTK.vtkDecimatePro.vtkDecimatePro_IsA_35 ( HandleRef  pThis,
string  type 
) [private]
static internal int Kitware.VTK.vtkDecimatePro.vtkDecimatePro_IsTypeOf_36 ( string  type) [private]
static internal IntPtr Kitware.VTK.vtkDecimatePro.vtkDecimatePro_New ( ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal IntPtr Kitware.VTK.vtkDecimatePro.vtkDecimatePro_NewInstance_38 ( HandleRef  pThis,
ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_PreserveTopologyOff_41 ( HandleRef  pThis) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_PreserveTopologyOn_42 ( HandleRef  pThis) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_PreSplitMeshOff_39 ( HandleRef  pThis) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_PreSplitMeshOn_40 ( HandleRef  pThis) [private]
static internal IntPtr Kitware.VTK.vtkDecimatePro.vtkDecimatePro_SafeDownCast_43 ( HandleRef  o,
ref uint  mteStatus,
ref uint  mteIndex,
ref uint  rawRefCount 
) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_SetAbsoluteError_44 ( HandleRef  pThis,
double  _arg 
) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_SetAccumulateError_45 ( HandleRef  pThis,
int  _arg 
) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_SetBoundaryVertexDeletion_46 ( HandleRef  pThis,
int  _arg 
) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_SetDegree_47 ( HandleRef  pThis,
int  _arg 
) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_SetErrorIsAbsolute_48 ( HandleRef  pThis,
int  _arg 
) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_SetFeatureAngle_49 ( HandleRef  pThis,
double  _arg 
) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_SetInflectionPointRatio_50 ( HandleRef  pThis,
double  _arg 
) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_SetMaximumError_51 ( HandleRef  pThis,
double  _arg 
) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_SetPreserveTopology_53 ( HandleRef  pThis,
int  _arg 
) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_SetPreSplitMesh_52 ( HandleRef  pThis,
int  _arg 
) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_SetSplitAngle_54 ( HandleRef  pThis,
double  _arg 
) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_SetSplitting_55 ( HandleRef  pThis,
int  _arg 
) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_SetTargetReduction_56 ( HandleRef  pThis,
double  _arg 
) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_SplittingOff_57 ( HandleRef  pThis) [private]
static internal void Kitware.VTK.vtkDecimatePro.vtkDecimatePro_SplittingOn_58 ( HandleRef  pThis) [private]

Member Data Documentation

new readonly string Kitware.VTK.vtkDecimatePro.MRClassNameKey = "14vtkDecimatePro" [static]

Automatically generated type registration mechanics.

Reimplemented from Kitware.VTK.vtkPolyDataAlgorithm.

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

Automatically generated type registration mechanics.

Reimplemented from Kitware.VTK.vtkPolyDataAlgorithm.


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