00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00066
#ifndef __vtkClipDataSet_h
00067
#define __vtkClipDataSet_h
00068
00069
#include "vtkDataSetToUnstructuredGridFilter.h"
00070
00071
class vtkImplicitFunction;
00072
00073
class vtkPointLocator;
00074
00075 class VTK_GRAPHICS_EXPORT vtkClipDataSet :
public vtkDataSetToUnstructuredGridFilter
00076 {
00077
public:
00078 vtkTypeRevisionMacro(vtkClipDataSet,
vtkDataSetToUnstructuredGridFilter);
00079
void PrintSelf(ostream& os,
vtkIndent indent);
00080
00083
static vtkClipDataSet *
New();
00084
00086
00089 vtkSetMacro(Value,
float);
00090 vtkGetMacro(Value,
float);
00092
00094
00099 vtkSetMacro(InsideOut,
int);
00100 vtkGetMacro(InsideOut,
int);
00101 vtkBooleanMacro(InsideOut,
int);
00103
00105
00108
virtual void SetClipFunction(
vtkImplicitFunction*);
00109 vtkGetObjectMacro(ClipFunction,
vtkImplicitFunction);
00111
00113
00117 vtkSetMacro(GenerateClipScalars,
int);
00118 vtkGetMacro(GenerateClipScalars,
int);
00119 vtkBooleanMacro(GenerateClipScalars,
int);
00121
00123
00125 vtkSetMacro(GenerateClippedOutput,
int);
00126 vtkGetMacro(GenerateClippedOutput,
int);
00127 vtkBooleanMacro(GenerateClippedOutput,
int);
00129
00131
00135 vtkSetClampMacro(MergeTolerance,
float,0.0001,0.25);
00136 vtkGetMacro(MergeTolerance,
float);
00138
00140
00141
vtkUnstructuredGrid *GetClippedOutput();
00142
virtual int GetNumberOfOutputs();
00144
00146
00148
void SetLocator(
vtkPointLocator *locator);
00149 vtkGetObjectMacro(Locator,
vtkPointLocator);
00151
00154
void CreateDefaultLocator();
00155
00157
unsigned long GetMTime();
00158
00159
protected:
00160 vtkClipDataSet(
vtkImplicitFunction *cf=NULL);
00161 ~vtkClipDataSet();
00162
00163
void Execute();
00164 vtkImplicitFunction *ClipFunction;
00165
00166 vtkPointLocator *Locator;
00167 int InsideOut;
00168 float Value;
00169 int GenerateClipScalars;
00170
00171 int GenerateClippedOutput;
00172 float MergeTolerance;
00173
00174 char *InputScalarsSelection;
00175 vtkSetStringMacro(InputScalarsSelection);
00176
00177
00178
void ClipVolume();
00179
00180
private:
00181 vtkClipDataSet(
const vtkClipDataSet&);
00182
void operator=(
const vtkClipDataSet&);
00183 };
00184
00185
#endif