VTK
|
reduce the number of triangles in a mesh More...
#include <vtkQuadricClustering.h>
Classes | |
struct | PointQuadric |
Public Member Functions | |
void | SetNumberOfXDivisions (int num) |
void | SetNumberOfYDivisions (int num) |
void | SetNumberOfZDivisions (int num) |
virtual int | GetNumberOfXDivisions () |
virtual int | GetNumberOfYDivisions () |
virtual int | GetNumberOfZDivisions () |
void | SetNumberOfDivisions (int div[3]) |
void | SetNumberOfDivisions (int div0, int div1, int div2) |
int * | GetNumberOfDivisions () |
void | GetNumberOfDivisions (int div[3]) |
virtual void | SetAutoAdjustNumberOfDivisions (int) |
virtual int | GetAutoAdjustNumberOfDivisions () |
virtual void | AutoAdjustNumberOfDivisionsOn () |
virtual void | AutoAdjustNumberOfDivisionsOff () |
void | SetDivisionOrigin (double x, double y, double z) |
void | SetDivisionOrigin (double o[3]) |
virtual double * | GetDivisionOrigin () |
virtual void | GetDivisionOrigin (double &, double &, double &) |
virtual void | GetDivisionOrigin (double[3]) |
void | SetDivisionSpacing (double x, double y, double z) |
void | SetDivisionSpacing (double s[3]) |
virtual double * | GetDivisionSpacing () |
virtual void | GetDivisionSpacing (double &, double &, double &) |
virtual void | GetDivisionSpacing (double[3]) |
virtual void | SetUseInputPoints (int) |
virtual int | GetUseInputPoints () |
virtual void | UseInputPointsOn () |
virtual void | UseInputPointsOff () |
virtual void | SetUseFeatureEdges (int) |
virtual int | GetUseFeatureEdges () |
virtual void | UseFeatureEdgesOn () |
virtual void | UseFeatureEdgesOff () |
vtkFeatureEdges * | GetFeatureEdges () |
virtual void | SetUseFeaturePoints (int) |
virtual int | GetUseFeaturePoints () |
virtual void | UseFeaturePointsOn () |
virtual void | UseFeaturePointsOff () |
virtual void | SetFeaturePointsAngle (double) |
virtual double | GetFeaturePointsAngle () |
virtual void | SetUseInternalTriangles (int) |
virtual int | GetUseInternalTriangles () |
virtual void | UseInternalTrianglesOn () |
virtual void | UseInternalTrianglesOff () |
void | StartAppend (double *bounds) |
void | StartAppend (double x0, double x1, double y0, double y1, double z0, double z1) |
void | Append (vtkPolyData *piece) |
void | EndAppend () |
virtual void | SetCopyCellData (int) |
virtual int | GetCopyCellData () |
virtual void | CopyCellDataOn () |
virtual void | CopyCellDataOff () |
virtual void | SetPreventDuplicateCells (int) |
virtual int | GetPreventDuplicateCells () |
virtual void | PreventDuplicateCellsOn () |
virtual void | PreventDuplicateCellsOff () |
![]() | |
vtkDataObject * | GetInput () |
vtkDataObject * | GetInput (int port) |
vtkPolyData * | GetPolyDataInput (int port) |
vtkPolyData * | GetOutput () |
vtkPolyData * | GetOutput (int) |
virtual void | SetOutput (vtkDataObject *d) |
virtual int | ProcessRequest (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
void | SetInput (vtkDataObject *) |
void | SetInput (int, vtkDataObject *) |
void | AddInput (vtkDataObject *) |
void | AddInput (int, vtkDataObject *) |
![]() | |
int | HasExecutive () |
vtkExecutive * | GetExecutive () |
virtual void | SetExecutive (vtkExecutive *executive) |
virtual int | ModifyRequest (vtkInformation *request, int when) |
vtkInformation * | GetInputPortInformation (int port) |
vtkInformation * | GetOutputPortInformation (int port) |
int | GetNumberOfInputPorts () |
int | GetNumberOfOutputPorts () |
void | UpdateProgress (double amount) |
vtkInformation * | GetInputArrayInformation (int idx) |
void | RemoveAllInputs () |
vtkDataObject * | GetOutputDataObject (int port) |
virtual void | RemoveInputConnection (int port, vtkAlgorithmOutput *input) |
int | GetNumberOfInputConnections (int port) |
int | GetTotalNumberOfInputConnections () |
vtkAlgorithmOutput * | GetInputConnection (int port, int index) |
virtual void | Update () |
virtual void | UpdateInformation () |
virtual void | UpdateWholeExtent () |
void | ConvertTotalInputToPortConnection (int ind, int &port, int &conn) |
virtual double | ComputePriority () |
int | ProcessRequest (vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo) |
virtual int | ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, unsigned long *mtime) |
virtual vtkInformation * | GetInformation () |
virtual void | SetInformation (vtkInformation *) |
virtual void | Register (vtkObjectBase *o) |
virtual void | UnRegister (vtkObjectBase *o) |
virtual void | SetAbortExecute (int) |
virtual int | GetAbortExecute () |
virtual void | AbortExecuteOn () |
virtual void | AbortExecuteOff () |
virtual void | SetProgress (double) |
virtual double | GetProgress () |
void | SetProgressText (const char *ptext) |
virtual char * | GetProgressText () |
virtual unsigned long | GetErrorCode () |
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, const char *name) |
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, int fieldAttributeType) |
virtual void | SetInputArrayToProcess (int idx, vtkInformation *info) |
virtual void | SetInputArrayToProcess (int idx, int port, int connection, const char *fieldAssociation, const char *attributeTypeorName) |
vtkDataObject * | GetInputDataObject (int port, int connection) |
virtual void | SetInputConnection (int port, vtkAlgorithmOutput *input) |
virtual void | SetInputConnection (vtkAlgorithmOutput *input) |
virtual void | AddInputConnection (int port, vtkAlgorithmOutput *input) |
virtual void | AddInputConnection (vtkAlgorithmOutput *input) |
vtkAlgorithmOutput * | GetOutputPort (int index) |
vtkAlgorithmOutput * | GetOutputPort () |
virtual void | SetReleaseDataFlag (int) |
virtual int | GetReleaseDataFlag () |
void | ReleaseDataFlagOn () |
void | ReleaseDataFlagOff () |
int | UpdateExtentIsEmpty (vtkDataObject *output) |
int | UpdateExtentIsEmpty (vtkInformation *pinfo, int extentType) |
![]() | |
virtual void | DebugOn () |
virtual void | DebugOff () |
unsigned char | GetDebug () |
void | SetDebug (unsigned char debugFlag) |
virtual void | Modified () |
virtual unsigned long | GetMTime () |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
![]() | |
const char * | GetClassName () const |
virtual void | Delete () |
virtual void | FastDelete () |
void | Print (ostream &os) |
void | SetReferenceCount (int) |
void | PrintRevisions (ostream &os) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
reduce the number of triangles in a mesh
vtkQuadricClustering is a filter to reduce the number of triangles in a triangle mesh, forming a good approximation to the original geometry. The input to vtkQuadricClustering is a vtkPolyData object, and all types of polygonal data are handled.
The algorithm used is the one described by Peter Lindstrom in his Siggraph 2000 paper, "Out-of-Core Simplification of Large Polygonal Models." The general approach of the algorithm is to cluster vertices in a uniform binning of space, accumulating the quadric of each triangle (pushed out to the triangles vertices) within each bin, and then determining an optimal position for a single vertex in a bin by using the accumulated quadric. In more detail, the algorithm first gets the bounds of the input poly data. It then breaks this bounding volume into a user-specified number of spatial bins. It then reads each triangle from the input and hashes its vertices into these bins. (If this is the first time a bin has been visited, initialize its quadric to the 0 matrix.) The algorithm computes the error quadric for this triangle and adds it to the existing quadric of the bin in which each vertex is contained. Then, if 2 or more vertices of the triangle fall in the same bin, the triangle is dicarded. If the triangle is not discarded, it adds the triangle to the list of output triangles as a list of vertex identifiers. (There is one vertex id per bin.) After all the triangles have been read, the representative vertex for each bin is computed (an optimal location is found) using the quadric for that bin. This determines the spatial location of the vertices of each of the triangles in the output.
To use this filter, specify the divisions defining the spatial subdivision in the x, y, and z directions. You must also specify an input vtkPolyData. Then choose to either 1) use the original points that minimize the quadric error to produce the output triangles or 2) compute an optimal position in each bin to produce the output triangles (recommended and default behavior).
This filter can take multiple inputs. To do this, the user must explicity call StartAppend, Append (once for each input), and EndAppend. StartAppend sets up the data structure to hold the quadric matrices. Append processes each triangle in the input poly data it was called on, hashes its vertices to the appropriate bins, determines whether to keep this triangle, and updates the appropriate quadric matrices. EndAppend determines the spatial location of each of the representative vertices for the visited bins. While this approach does not fit into the visualization architecture and requires manual control, it has the advantage that extremely large data can be processed in pieces and appended to the filter piece-by-piece.
Definition at line 98 of file vtkQuadricClustering.h.
Standard instantition, type and print methods.
Definition at line 103 of file vtkQuadricClustering.h.
|
protected |
|
protected |
|
virtual |
Standard instantition, type and print methods.
Reimplemented from vtkPolyDataAlgorithm.
|
static |
Standard instantition, type and print methods.
|
virtual |
Standard instantition, type and print methods.
Reimplemented from vtkPolyDataAlgorithm.
|
static |
Standard instantition, type and print methods.
|
virtual |
Standard instantition, type and print methods.
Reimplemented from vtkPolyDataAlgorithm.
|
static |
Standard instantition, type and print methods.
void vtkQuadricClustering::SetNumberOfXDivisions | ( | int | num | ) |
Set/Get the number of divisions along each axis for the spatial bins. The number of spatial bins is NumberOfXDivisions*NumberOfYDivisions* NumberOfZDivisions. The filter may choose to ignore large numbers of divisions if the input has few points and AutoAdjustNumberOfDivisions is enabled.
void vtkQuadricClustering::SetNumberOfYDivisions | ( | int | num | ) |
Set/Get the number of divisions along each axis for the spatial bins. The number of spatial bins is NumberOfXDivisions*NumberOfYDivisions* NumberOfZDivisions. The filter may choose to ignore large numbers of divisions if the input has few points and AutoAdjustNumberOfDivisions is enabled.
void vtkQuadricClustering::SetNumberOfZDivisions | ( | int | num | ) |
Set/Get the number of divisions along each axis for the spatial bins. The number of spatial bins is NumberOfXDivisions*NumberOfYDivisions* NumberOfZDivisions. The filter may choose to ignore large numbers of divisions if the input has few points and AutoAdjustNumberOfDivisions is enabled.
|
virtual |
Set/Get the number of divisions along each axis for the spatial bins. The number of spatial bins is NumberOfXDivisions*NumberOfYDivisions* NumberOfZDivisions. The filter may choose to ignore large numbers of divisions if the input has few points and AutoAdjustNumberOfDivisions is enabled.
|
virtual |
Set/Get the number of divisions along each axis for the spatial bins. The number of spatial bins is NumberOfXDivisions*NumberOfYDivisions* NumberOfZDivisions. The filter may choose to ignore large numbers of divisions if the input has few points and AutoAdjustNumberOfDivisions is enabled.
|
virtual |
Set/Get the number of divisions along each axis for the spatial bins. The number of spatial bins is NumberOfXDivisions*NumberOfYDivisions* NumberOfZDivisions. The filter may choose to ignore large numbers of divisions if the input has few points and AutoAdjustNumberOfDivisions is enabled.
|
inline |
Set/Get the number of divisions along each axis for the spatial bins. The number of spatial bins is NumberOfXDivisions*NumberOfYDivisions* NumberOfZDivisions. The filter may choose to ignore large numbers of divisions if the input has few points and AutoAdjustNumberOfDivisions is enabled.
Definition at line 120 of file vtkQuadricClustering.h.
void vtkQuadricClustering::SetNumberOfDivisions | ( | int | div0, |
int | div1, | ||
int | div2 | ||
) |
Set/Get the number of divisions along each axis for the spatial bins. The number of spatial bins is NumberOfXDivisions*NumberOfYDivisions* NumberOfZDivisions. The filter may choose to ignore large numbers of divisions if the input has few points and AutoAdjustNumberOfDivisions is enabled.
int* vtkQuadricClustering::GetNumberOfDivisions | ( | ) |
Set/Get the number of divisions along each axis for the spatial bins. The number of spatial bins is NumberOfXDivisions*NumberOfYDivisions* NumberOfZDivisions. The filter may choose to ignore large numbers of divisions if the input has few points and AutoAdjustNumberOfDivisions is enabled.
void vtkQuadricClustering::GetNumberOfDivisions | ( | int | div[3] | ) |
Set/Get the number of divisions along each axis for the spatial bins. The number of spatial bins is NumberOfXDivisions*NumberOfYDivisions* NumberOfZDivisions. The filter may choose to ignore large numbers of divisions if the input has few points and AutoAdjustNumberOfDivisions is enabled.
|
virtual |
Enable automatic adjustment of number of divisions. If off, the number of divisions specified by the user is always used (as long as it is valid). The default is On
|
virtual |
Enable automatic adjustment of number of divisions. If off, the number of divisions specified by the user is always used (as long as it is valid). The default is On
|
virtual |
Enable automatic adjustment of number of divisions. If off, the number of divisions specified by the user is always used (as long as it is valid). The default is On
|
virtual |
Enable automatic adjustment of number of divisions. If off, the number of divisions specified by the user is always used (as long as it is valid). The default is On
void vtkQuadricClustering::SetDivisionOrigin | ( | double | x, |
double | y, | ||
double | z | ||
) |
This is an alternative way to set up the bins. If you are trying to match boundaries between pieces, then you should use these methods rather than SetNumberOfDivisions. To use these methods, specify the origin and spacing of the spatial binning.
|
inline |
This is an alternative way to set up the bins. If you are trying to match boundaries between pieces, then you should use these methods rather than SetNumberOfDivisions. To use these methods, specify the origin and spacing of the spatial binning.
Definition at line 142 of file vtkQuadricClustering.h.
|
virtual |
This is an alternative way to set up the bins. If you are trying to match boundaries between pieces, then you should use these methods rather than SetNumberOfDivisions. To use these methods, specify the origin and spacing of the spatial binning.
|
virtual |
This is an alternative way to set up the bins. If you are trying to match boundaries between pieces, then you should use these methods rather than SetNumberOfDivisions. To use these methods, specify the origin and spacing of the spatial binning.
|
virtual |
This is an alternative way to set up the bins. If you are trying to match boundaries between pieces, then you should use these methods rather than SetNumberOfDivisions. To use these methods, specify the origin and spacing of the spatial binning.
void vtkQuadricClustering::SetDivisionSpacing | ( | double | x, |
double | y, | ||
double | z | ||
) |
This is an alternative way to set up the bins. If you are trying to match boundaries between pieces, then you should use these methods rather than SetNumberOfDivisions. To use these methods, specify the origin and spacing of the spatial binning.
|
inline |
This is an alternative way to set up the bins. If you are trying to match boundaries between pieces, then you should use these methods rather than SetNumberOfDivisions. To use these methods, specify the origin and spacing of the spatial binning.
Definition at line 146 of file vtkQuadricClustering.h.
|
virtual |
This is an alternative way to set up the bins. If you are trying to match boundaries between pieces, then you should use these methods rather than SetNumberOfDivisions. To use these methods, specify the origin and spacing of the spatial binning.
|
virtual |
This is an alternative way to set up the bins. If you are trying to match boundaries between pieces, then you should use these methods rather than SetNumberOfDivisions. To use these methods, specify the origin and spacing of the spatial binning.
|
virtual |
This is an alternative way to set up the bins. If you are trying to match boundaries between pieces, then you should use these methods rather than SetNumberOfDivisions. To use these methods, specify the origin and spacing of the spatial binning.
|
virtual |
Normally the point that minimizes the quadric error function is used as the output of the bin. When this flag is on, the bin point is forced to be one of the points from the input (the one with the smallest error). This option does not work (i.e., input points cannot be used) when the append methods (StartAppend(), Append(), EndAppend()) are being called directly.
|
virtual |
Normally the point that minimizes the quadric error function is used as the output of the bin. When this flag is on, the bin point is forced to be one of the points from the input (the one with the smallest error). This option does not work (i.e., input points cannot be used) when the append methods (StartAppend(), Append(), EndAppend()) are being called directly.
|
virtual |
Normally the point that minimizes the quadric error function is used as the output of the bin. When this flag is on, the bin point is forced to be one of the points from the input (the one with the smallest error). This option does not work (i.e., input points cannot be used) when the append methods (StartAppend(), Append(), EndAppend()) are being called directly.
|
virtual |
Normally the point that minimizes the quadric error function is used as the output of the bin. When this flag is on, the bin point is forced to be one of the points from the input (the one with the smallest error). This option does not work (i.e., input points cannot be used) when the append methods (StartAppend(), Append(), EndAppend()) are being called directly.
|
virtual |
By default, this flag is off. When "UseFeatureEdges" is on, then quadrics are computed for boundary edges/feature edges. They influence the quadrics (position of points), but not the mesh. Which features to use can be controlled by the filter "FeatureEdges".
|
virtual |
By default, this flag is off. When "UseFeatureEdges" is on, then quadrics are computed for boundary edges/feature edges. They influence the quadrics (position of points), but not the mesh. Which features to use can be controlled by the filter "FeatureEdges".
|
virtual |
By default, this flag is off. When "UseFeatureEdges" is on, then quadrics are computed for boundary edges/feature edges. They influence the quadrics (position of points), but not the mesh. Which features to use can be controlled by the filter "FeatureEdges".
|
virtual |
By default, this flag is off. When "UseFeatureEdges" is on, then quadrics are computed for boundary edges/feature edges. They influence the quadrics (position of points), but not the mesh. Which features to use can be controlled by the filter "FeatureEdges".
|
inline |
By default, this flag is off. When "UseFeatureEdges" is on, then quadrics are computed for boundary edges/feature edges. They influence the quadrics (position of points), but not the mesh. Which features to use can be controlled by the filter "FeatureEdges".
Definition at line 171 of file vtkQuadricClustering.h.
|
virtual |
By default, this flag is off. It only has an effect when "UseFeatureEdges" is also on. When "UseFeaturePoints" is on, then quadrics are computed for boundary / feature points used in the boundary / feature edges. They influence the quadrics (position of points), but not the mesh.
|
virtual |
By default, this flag is off. It only has an effect when "UseFeatureEdges" is also on. When "UseFeaturePoints" is on, then quadrics are computed for boundary / feature points used in the boundary / feature edges. They influence the quadrics (position of points), but not the mesh.
|
virtual |
By default, this flag is off. It only has an effect when "UseFeatureEdges" is also on. When "UseFeaturePoints" is on, then quadrics are computed for boundary / feature points used in the boundary / feature edges. They influence the quadrics (position of points), but not the mesh.
|
virtual |
By default, this flag is off. It only has an effect when "UseFeatureEdges" is also on. When "UseFeaturePoints" is on, then quadrics are computed for boundary / feature points used in the boundary / feature edges. They influence the quadrics (position of points), but not the mesh.
|
virtual |
Set/Get the angle to use in determining whether a point on a boundary / feature edge is a feature point.
|
virtual |
Set/Get the angle to use in determining whether a point on a boundary / feature edge is a feature point.
|
virtual |
When this flag is on (and it is on by default), then triangles that are completely contained in a bin are added to the bin quadrics. When the the flag is off the filter operates faster, but the surface may not be as well behaved.
|
virtual |
When this flag is on (and it is on by default), then triangles that are completely contained in a bin are added to the bin quadrics. When the the flag is off the filter operates faster, but the surface may not be as well behaved.
|
virtual |
When this flag is on (and it is on by default), then triangles that are completely contained in a bin are added to the bin quadrics. When the the flag is off the filter operates faster, but the surface may not be as well behaved.
|
virtual |
When this flag is on (and it is on by default), then triangles that are completely contained in a bin are added to the bin quadrics. When the the flag is off the filter operates faster, but the surface may not be as well behaved.
void vtkQuadricClustering::StartAppend | ( | double * | bounds | ) |
These methods provide an alternative way of executing the filter. PolyData can be added to the result in pieces (append). In this mode, the user must specify the bounds of the entire model as an argument to the "StartAppend" method.
|
inline |
These methods provide an alternative way of executing the filter. PolyData can be added to the result in pieces (append). In this mode, the user must specify the bounds of the entire model as an argument to the "StartAppend" method.
Definition at line 208 of file vtkQuadricClustering.h.
void vtkQuadricClustering::Append | ( | vtkPolyData * | piece | ) |
These methods provide an alternative way of executing the filter. PolyData can be added to the result in pieces (append). In this mode, the user must specify the bounds of the entire model as an argument to the "StartAppend" method.
void vtkQuadricClustering::EndAppend | ( | ) |
These methods provide an alternative way of executing the filter. PolyData can be added to the result in pieces (append). In this mode, the user must specify the bounds of the entire model as an argument to the "StartAppend" method.
|
virtual |
This flag makes the filter copy cell data from input to output (the best it can). It uses input cells that trigger the addition of output cells (no averaging). This is off by default, and does not work when append is being called explicitly (non-pipeline usage).
|
virtual |
This flag makes the filter copy cell data from input to output (the best it can). It uses input cells that trigger the addition of output cells (no averaging). This is off by default, and does not work when append is being called explicitly (non-pipeline usage).
|
virtual |
This flag makes the filter copy cell data from input to output (the best it can). It uses input cells that trigger the addition of output cells (no averaging). This is off by default, and does not work when append is being called explicitly (non-pipeline usage).
|
virtual |
This flag makes the filter copy cell data from input to output (the best it can). It uses input cells that trigger the addition of output cells (no averaging). This is off by default, and does not work when append is being called explicitly (non-pipeline usage).
|
virtual |
Specify a boolean indicating whether to remove duplicate cells (i.e. triangles). This is a little slower, and takes more memory, but in some cases can reduce the number of cells produced by an order of magnitude. By default, this flag is true.
|
virtual |
Specify a boolean indicating whether to remove duplicate cells (i.e. triangles). This is a little slower, and takes more memory, but in some cases can reduce the number of cells produced by an order of magnitude. By default, this flag is true.
|
virtual |
Specify a boolean indicating whether to remove duplicate cells (i.e. triangles). This is a little slower, and takes more memory, but in some cases can reduce the number of cells produced by an order of magnitude. By default, this flag is true.
|
virtual |
Specify a boolean indicating whether to remove duplicate cells (i.e. triangles). This is a little slower, and takes more memory, but in some cases can reduce the number of cells produced by an order of magnitude. By default, this flag is true.
|
protectedvirtual |
This is called by the superclass. This is the method you should override.
Reimplemented from vtkPolyDataAlgorithm.
|
protectedvirtual |
Fill the input port information objects for this algorithm. This is invoked by the first call to GetInputPortInformation for each port so subclasses can specify what they can handle.
Reimplemented from vtkPolyDataAlgorithm.
|
protected |
Given a point, determine what bin it falls into.
|
protected |
Determine the representative point for this bin.
|
protected |
Add triangles to the quadric array. If geometry flag is on then triangles are added to the output.
|
protected |
Add triangles to the quadric array. If geometry flag is on then triangles are added to the output.
|
protected |
Add triangles to the quadric array. If geometry flag is on then triangles are added to the output.
|
protected |
Add edges to the quadric array. If geometry flag is on then edges are added to the output.
|
protected |
Add edges to the quadric array. If geometry flag is on then edges are added to the output.
|
protected |
Add vertices to the quadric array. If geometry flag is on then vertices are added to the output.
|
protected |
Add vertices to the quadric array. If geometry flag is on then vertices are added to the output.
|
protected |
Initialize the quadric matrix to 0's.
|
protected |
Add this quadric to the quadric already associated with this bin.
|
protected |
Find the feature points of a given set of edges. The points returned are (1) those used by only one edge, (2) those used by > 2 edges, and (3) those where the angle between 2 edges using this point is < angle.
|
protected |
This method will rep[lace the quadric generated points with the input points with the lowest error.
|
protected |
This method sets the vertices of the output. It duplicates the structure of the input cells (but decimiated).
|
protected |
|
protected |
This method will rep[lace the quadric generated points with the input points with the lowest error.
Definition at line 297 of file vtkQuadricClustering.h.
|
protected |
Definition at line 306 of file vtkQuadricClustering.h.
|
protected |
Definition at line 307 of file vtkQuadricClustering.h.
|
protected |
Definition at line 308 of file vtkQuadricClustering.h.
|
protected |
Definition at line 310 of file vtkQuadricClustering.h.
|
protected |
Definition at line 311 of file vtkQuadricClustering.h.
|
protected |
Definition at line 312 of file vtkQuadricClustering.h.
|
protected |
Definition at line 315 of file vtkQuadricClustering.h.
|
protected |
Definition at line 316 of file vtkQuadricClustering.h.
|
protected |
Definition at line 317 of file vtkQuadricClustering.h.
|
protected |
Definition at line 321 of file vtkQuadricClustering.h.
|
protected |
Definition at line 326 of file vtkQuadricClustering.h.
|
protected |
Definition at line 328 of file vtkQuadricClustering.h.
|
protected |
Definition at line 329 of file vtkQuadricClustering.h.
|
protected |
Definition at line 330 of file vtkQuadricClustering.h.
|
protected |
Definition at line 332 of file vtkQuadricClustering.h.
|
protected |
Definition at line 333 of file vtkQuadricClustering.h.
|
protected |
Definition at line 334 of file vtkQuadricClustering.h.
|
protected |
Definition at line 335 of file vtkQuadricClustering.h.
|
protected |
Definition at line 336 of file vtkQuadricClustering.h.
|
protected |
Definition at line 337 of file vtkQuadricClustering.h.
|
protected |
Definition at line 338 of file vtkQuadricClustering.h.
|
protected |
Definition at line 339 of file vtkQuadricClustering.h.
|
protected |
Definition at line 355 of file vtkQuadricClustering.h.
|
protected |
Definition at line 356 of file vtkQuadricClustering.h.
|
protected |
Definition at line 360 of file vtkQuadricClustering.h.
|
protected |
Definition at line 361 of file vtkQuadricClustering.h.
|
protected |
Definition at line 363 of file vtkQuadricClustering.h.
|
protected |
Definition at line 364 of file vtkQuadricClustering.h.
|
protected |
Definition at line 365 of file vtkQuadricClustering.h.
|
protected |
Definition at line 367 of file vtkQuadricClustering.h.
|
protected |
Definition at line 368 of file vtkQuadricClustering.h.
|
protected |
Definition at line 369 of file vtkQuadricClustering.h.