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