00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00027
#ifndef __vtkCutMaterial_h
00028
#define __vtkCutMaterial_h
00029
00030
#include "vtkDataSetToPolyDataFilter.h"
00031
00032
class vtkPlane;
00033
00034 class VTK_PARALLEL_EXPORT vtkCutMaterial :
public vtkDataSetToPolyDataFilter
00035 {
00036
public:
00037
void PrintSelf(ostream& os,
vtkIndent indent);
00038 vtkTypeRevisionMacro(vtkCutMaterial,
vtkDataSetToPolyDataFilter);
00039
static vtkCutMaterial *
New();
00040
00042
00043 vtkSetStringMacro(MaterialArrayName);
00044 vtkGetStringMacro(MaterialArrayName);
00046
00048
00049 vtkSetMacro(Material,
int);
00050 vtkGetMacro(Material,
int);
00052
00054
00055 vtkSetStringMacro(ArrayName);
00056 vtkGetStringMacro(ArrayName);
00058
00060
00061 vtkSetVector3Macro(UpVector,
double);
00062 vtkGetVector3Macro(UpVector,
double);
00064
00066
00068 vtkGetVector3Macro(MaximumPoint,
double);
00069 vtkGetVector3Macro(CenterPoint,
double);
00070 vtkGetVector3Macro(Normal,
double);
00072
00073
protected:
00074 vtkCutMaterial();
00075 ~vtkCutMaterial();
00076
00077
void Execute();
00078
void ComputeMaximumPoint(
vtkDataSet *input);
00079
void ComputeNormal();
00080
00081 char *MaterialArrayName;
00082 int Material;
00083 char *ArrayName;
00084 double UpVector[3];
00085 double MaximumPoint[3];
00086 double CenterPoint[3];
00087 double Normal[3];
00088
00089 vtkPlane *PlaneFunction;
00090
00091
private:
00092 vtkCutMaterial(
const vtkCutMaterial&);
00093
void operator=(
const vtkCutMaterial&);
00094 };
00095
00096
#endif