dox/Graphics/vtkHull.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00043
#ifndef __vtkHull_h
00044
#define __vtkHull_h
00045
00046
#include "vtkPolyDataToPolyDataFilter.h"
00047
00048
class vtkCellArray;
00049
class vtkPlanes;
00050
class vtkPoints;
00051
class vtkPolyData;
00052
00053 class VTK_GRAPHICS_EXPORT vtkHull :
public vtkPolyDataToPolyDataFilter
00054 {
00055
public:
00056
static vtkHull *
New();
00057 vtkTypeRevisionMacro(vtkHull,
vtkPolyDataToPolyDataFilter);
00058
void PrintSelf(ostream& os,
vtkIndent indent);
00059
00061
void RemoveAllPlanes(
void );
00062
00064
00073
int AddPlane(
double A,
double B,
double C );
00074
int AddPlane(
double plane[3] );
00076
00078
00084
void SetPlane(
int i,
double A,
double B,
double C );
00085
void SetPlane(
int i,
double plane[3] );
00087
00089
00091
int AddPlane(
double A,
double B,
double C,
double D );
00092
int AddPlane(
double plane[3],
double D );
00093
void SetPlane(
int i,
double A,
double B,
double C,
double D );
00094
void SetPlane(
int i,
double plane[3],
double D );
00096
00099
void SetPlanes(
vtkPlanes *planes );
00100
00102
00103 vtkGetMacro( NumberOfPlanes,
int );
00105
00110
void AddCubeVertexPlanes();
00111
00116
void AddCubeEdgePlanes();
00117
00120
void AddCubeFacePlanes();
00121
00129
void AddRecursiveSpherePlanes(
int level );
00130
00132
00140
void GenerateHull(
vtkPolyData *pd,
double *bounds);
00141
void GenerateHull(
vtkPolyData *pd,
double xmin,
double xmax,
00142
double ymin,
double ymax,
double zmin,
double zmax);
00144
00145
protected:
00146 vtkHull();
00147 ~vtkHull();
00148
00149
00150 double *Planes;
00151
00152
00153
00154
00155 int PlanesStorageSize;
00156
00157
00158 int NumberOfPlanes;
00159
00160
00161
void ComputePlaneDistances();
00162
00163
00164
00165
void ClipPolygonsFromPlanes(
vtkPoints *points,
vtkCellArray *polys,
00166
double *bounds );
00167
00168
00169
00170
00171
void CreateInitialPolygon(
double *,
int,
double * );
00172
00173
00174
void Execute();
00175
private:
00176 vtkHull(
const vtkHull&);
00177
void operator=(
const vtkHull&);
00178 };
00179
00180
#endif