Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
Graphics/vtkHull.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00058 #ifndef __vtkHull_h
00059 #define __vtkHull_h
00060
00061 #include "vtkPolyDataToPolyDataFilter.h"
00062
00063 class vtkCellArray;
00064 class vtkPlanes;
00065 class vtkPoints;
00066 class vtkPolyData;
00067
00068 class VTK_GRAPHICS_EXPORT vtkHull : public vtkPolyDataToPolyDataFilter
00069 {
00070 public:
00071 static vtkHull *New();
00072 vtkTypeRevisionMacro(vtkHull,vtkPolyDataToPolyDataFilter);
00073 void PrintSelf(ostream& os, vtkIndent indent);
00074
00076 void RemoveAllPlanes( void );
00077
00079
00088 int AddPlane( float A, float B, float C );
00089 int AddPlane( float plane[3] );
00091
00093
00099 void SetPlane( int i, float A, float B, float C );
00100 void SetPlane( int i, float plane[3] );
00102
00104
00106 int AddPlane( float A, float B, float C, float D );
00107 int AddPlane( float plane[3], float D );
00108 void SetPlane( int i, float A, float B, float C, float D );
00109 void SetPlane( int i, float plane[3], float D );
00111
00114 void SetPlanes( vtkPlanes *planes );
00115
00117
00118 vtkGetMacro( NumberOfPlanes, int );
00120
00125 void AddCubeVertexPlanes();
00126
00131 void AddCubeEdgePlanes();
00132
00135 void AddCubeFacePlanes();
00136
00144 void AddRecursiveSpherePlanes( int level );
00145
00147
00155 void GenerateHull(vtkPolyData *pd, float *bounds);
00156 void GenerateHull(vtkPolyData *pd, float xmin, float xmax,
00157 float ymin, float ymax, float zmin, float zmax);
00159
00160 protected:
00161 vtkHull();
00162 ~vtkHull();
00163
00164
00165 double *Planes;
00166
00167
00168
00169
00170 int PlanesStorageSize;
00171
00172
00173 int NumberOfPlanes;
00174
00175
00176 void ComputePlaneDistances();
00177
00178
00179
00180 void ClipPolygonsFromPlanes( vtkPoints *points, vtkCellArray *polys,
00181 float *bounds );
00182
00183
00184
00185
00186 void CreateInitialPolygon( double *, int, float * );
00187
00188
00189 void Execute();
00190 private:
00191 vtkHull(const vtkHull&);
00192 void operator=(const vtkHull&);
00193 };
00194
00195 #endif