Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
Graphics/vtkClipVolume.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00073 #ifndef __vtkClipVolume_h
00074 #define __vtkClipVolume_h
00075
00076 #include "vtkStructuredPointsToUnstructuredGridFilter.h"
00077
00078 class vtkCellData;
00079 class vtkDataArray;
00080 class vtkIdList;
00081 class vtkImplicitFunction;
00082 class vtkMergePoints;
00083 class vtkOrderedTriangulator;
00084 class vtkPointData;
00085 class vtkPointLocator;
00086 class vtkPoints;
00087 class vtkUnstructuredGrid;
00088
00089 class VTK_GRAPHICS_EXPORT vtkClipVolume : public vtkStructuredPointsToUnstructuredGridFilter
00090 {
00091 public:
00092 vtkTypeRevisionMacro(vtkClipVolume,vtkStructuredPointsToUnstructuredGridFilter);
00093 void PrintSelf(ostream& os, vtkIndent indent);
00094
00098 static vtkClipVolume *New();
00099
00101
00104 vtkSetMacro(Value,float);
00105 vtkGetMacro(Value,float);
00107
00109
00114 vtkSetMacro(InsideOut,int);
00115 vtkGetMacro(InsideOut,int);
00116 vtkBooleanMacro(InsideOut,int);
00118
00120
00123 virtual void SetClipFunction(vtkImplicitFunction*);
00124 vtkGetObjectMacro(ClipFunction,vtkImplicitFunction);
00126
00128
00132 vtkSetMacro(GenerateClipScalars,int);
00133 vtkGetMacro(GenerateClipScalars,int);
00134 vtkBooleanMacro(GenerateClipScalars,int);
00136
00138
00140 vtkSetMacro(GenerateClippedOutput,int);
00141 vtkGetMacro(GenerateClippedOutput,int);
00142 vtkBooleanMacro(GenerateClippedOutput,int);
00144
00146 vtkUnstructuredGrid *GetClippedOutput();
00147
00149
00152 vtkSetClampMacro(MergeTolerance,float,0.0001,0.25);
00153 vtkGetMacro(MergeTolerance,float);
00155
00157
00159 void SetLocator(vtkPointLocator *locator);
00160 vtkGetObjectMacro(Locator,vtkPointLocator);
00162
00165 void CreateDefaultLocator();
00166
00168 unsigned long int GetMTime();
00169
00170 protected:
00171 vtkClipVolume(vtkImplicitFunction *cf=NULL);
00172 ~vtkClipVolume();
00173
00174 void Execute();
00175 void ClipVoxel(float value, vtkDataArray *cellScalars, int flip,
00176 float origin[3], float spacing[3], vtkIdList *cellIds,
00177 vtkPoints *cellPts, vtkPointData *inPD, vtkPointData *outPD,
00178 vtkCellData *inCD, vtkIdType cellId, vtkCellData *outCD,
00179 vtkCellData *clippedCD);
00180 vtkImplicitFunction *ClipFunction;
00181 vtkPointLocator *Locator;
00182 int InsideOut;
00183 float Value;
00184 int GenerateClipScalars;
00185 float MergeTolerance;
00186
00187 int GenerateClippedOutput;
00188 vtkUnstructuredGrid *ClippedOutput;
00189
00190 private:
00191 vtkUnstructuredGrid *Mesh;
00192 vtkOrderedTriangulator *Triangulator;
00193
00194 private:
00195 vtkClipVolume(const vtkClipVolume&);
00196 void operator=(const vtkClipVolume&);
00197 };
00198
00199 #endif