00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00062
#ifndef __vtkClipDataSet_h
00063
#define __vtkClipDataSet_h
00064
00065
#include "vtkDataSetToUnstructuredGridFilter.h"
00066
00067
class vtkImplicitFunction;
00068
00069
class vtkPointLocator;
00070
00071 class VTK_GRAPHICS_EXPORT vtkClipDataSet :
public vtkDataSetToUnstructuredGridFilter
00072 {
00073
public:
00074 vtkTypeRevisionMacro(vtkClipDataSet,
vtkDataSetToUnstructuredGridFilter);
00075
void PrintSelf(ostream& os,
vtkIndent indent);
00076
00079
static vtkClipDataSet *
New();
00080
00082
00085 vtkSetMacro(Value,
double);
00086 vtkGetMacro(Value,
double);
00088
00090
00095 vtkSetMacro(InsideOut,
int);
00096 vtkGetMacro(InsideOut,
int);
00097 vtkBooleanMacro(InsideOut,
int);
00099
00101
00104
virtual void SetClipFunction(
vtkImplicitFunction*);
00105 vtkGetObjectMacro(ClipFunction,
vtkImplicitFunction);
00107
00109
00113 vtkSetMacro(GenerateClipScalars,
int);
00114 vtkGetMacro(GenerateClipScalars,
int);
00115 vtkBooleanMacro(GenerateClipScalars,
int);
00117
00119
00121 vtkSetMacro(GenerateClippedOutput,
int);
00122 vtkGetMacro(GenerateClippedOutput,
int);
00123 vtkBooleanMacro(GenerateClippedOutput,
int);
00125
00127
00131 vtkSetClampMacro(MergeTolerance,
double,0.0001,0.25);
00132 vtkGetMacro(MergeTolerance,
double);
00134
00136
00137
vtkUnstructuredGrid *GetClippedOutput();
00138
virtual int GetNumberOfOutputs();
00140
00142
00144
void SetLocator(
vtkPointLocator *locator);
00145 vtkGetObjectMacro(Locator,
vtkPointLocator);
00147
00150
void CreateDefaultLocator();
00151
00153
unsigned long GetMTime();
00154
00156
00158 vtkGetStringMacro(InputScalarsSelection);
00159 void SelectInputScalars(
const char *fieldName)
00160 {this->SetInputScalarsSelection(fieldName);}
00162
00163
protected:
00164 vtkClipDataSet(
vtkImplicitFunction *cf=NULL);
00165 ~vtkClipDataSet();
00166
00167
void Execute();
00168 vtkImplicitFunction *ClipFunction;
00169
00170 vtkPointLocator *Locator;
00171 int InsideOut;
00172 double Value;
00173 int GenerateClipScalars;
00174
00175 int GenerateClippedOutput;
00176 double MergeTolerance;
00177
00178 char *InputScalarsSelection;
00179 vtkSetStringMacro(InputScalarsSelection);
00180
00181
00182
void ClipVolume();
00183
00184
private:
00185 vtkClipDataSet(
const vtkClipDataSet&);
00186
void operator=(
const vtkClipDataSet&);
00187 };
00188
00189
#endif