Cloned library of VTK-5.0.0 with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

71 lines
2.4 KiB

/*=========================================================================
Program: Visualization Toolkit
Module: $RCSfile: vtkQuantizePolyDataPoints.h,v $
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkQuantizePolyDataPoints - quantizes x,y,z coordinates of points
// .SECTION Description
// vtkQuantizePolyDataPoints is a subclass of vtkCleanPolyData and
// inherits the functionality of vtkCleanPolyData with the addition that
// it quantizes the point coordinates before inserting into the point list.
// The user should set QFactor to a positive value (0.25 by default) and all
// {x,y,z} coordinates will be quantized to that grain size.
//
// A tolerance of zero is expected, though positive values may be used, the
// quantization will take place before the tolerance is applied.
//
// .SECTION Caveats
// Merging points can alter topology, including introducing non-manifold
// forms. Handling of degenerate cells is controlled by switches in
// vtkCleanPolyData.
//
// .SECTION See Also
// vtkCleanPolyData
#ifndef __vtkQuantizePolyDataPoints_h
#define __vtkQuantizePolyDataPoints_h
#include "vtkCleanPolyData.h"
class VTK_GRAPHICS_EXPORT vtkQuantizePolyDataPoints : public vtkCleanPolyData
{
public:
static vtkQuantizePolyDataPoints *New();
vtkTypeRevisionMacro(vtkQuantizePolyDataPoints,vtkCleanPolyData);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Specify quantization grain size
vtkSetClampMacro(QFactor,double,1E-5,VTK_LARGE_FLOAT);
vtkGetMacro(QFactor,double);
// Description:
// Perform quantization on a point
virtual void OperateOnPoint(double in[3], double out[3]);
// Description:
// Perform quantization on bounds
virtual void OperateOnBounds(double in[6], double out[6]);
protected:
vtkQuantizePolyDataPoints();
~vtkQuantizePolyDataPoints() {};
double QFactor;
private:
vtkQuantizePolyDataPoints(const vtkQuantizePolyDataPoints&); // Not implemented.
void operator=(const vtkQuantizePolyDataPoints&); // Not implemented.
};
#endif