Section: Visualization Toolkit Graphics Classes
To create an instance of class vtkDecimatePro, simply invoke its constructor as follows
obj = vtkDecimatePro
obj
is an instance of the vtkDecimatePro class.
string = obj.GetClassName ()
int = obj.IsA (string name)
vtkDecimatePro = obj.NewInstance ()
vtkDecimatePro = obj.SafeDownCast (vtkObject o)
obj.SetTargetReduction (double )
- 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).
double = obj.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).
double = obj.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).
double = obj.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).
obj.SetPreserveTopology (int )
- 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.
int = obj.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.
obj.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.
obj.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.
obj.SetFeatureAngle (double )
- 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).
double = obj.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).
double = obj.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).
double = obj.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).
obj.SetSplitting (int )
- 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.
int = obj.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.
obj.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.
obj.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.
obj.SetSplitAngle (double )
- 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.
double = obj.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.
double = obj.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.
double = obj.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.
obj.SetPreSplitMesh (int )
- 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.
int = obj.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.
obj.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.
obj.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.
obj.SetMaximumError (double )
- 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.
double = obj.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.
double = obj.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.
double = obj.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.
obj.SetAccumulateError (int )
- 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.
int = obj.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.
obj.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.
obj.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.
obj.SetErrorIsAbsolute (int )
- 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.
int = obj.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.
obj.SetAbsoluteError (double )
- Same as MaximumError, but to be used when ErrorIsAbsolute is 1
double = obj.GetAbsoluteErrorMinValue ()
- Same as MaximumError, but to be used when ErrorIsAbsolute is 1
double = obj.GetAbsoluteErrorMaxValue ()
- Same as MaximumError, but to be used when ErrorIsAbsolute is 1
double = obj.GetAbsoluteError ()
- Same as MaximumError, but to be used when ErrorIsAbsolute is 1
obj.SetBoundaryVertexDeletion (int )
- Turn on/off the deletion of vertices on the boundary of a mesh. This
may limit the maximum reduction that may be achieved.
int = obj.GetBoundaryVertexDeletion ()
- Turn on/off the deletion of vertices on the boundary of a mesh. This
may limit the maximum reduction that may be achieved.
obj.BoundaryVertexDeletionOn ()
- Turn on/off the deletion of vertices on the boundary of a mesh. This
may limit the maximum reduction that may be achieved.
obj.BoundaryVertexDeletionOff ()
- Turn on/off the deletion of vertices on the boundary of a mesh. This
may limit the maximum reduction that may be achieved.
obj.SetDegree (int )
- 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.)
int = obj.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.)
int = obj.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.)
int = obj.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.)
obj.SetInflectionPointRatio (double )
- 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.
double = obj.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.
double = obj.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.
double = obj.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.
vtkIdType = obj.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).
obj.GetInflectionPoints (double 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.