vtkLinearExtrusionFilter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00057 #ifndef __vtkLinearExtrusionFilter_h
00058 #define __vtkLinearExtrusionFilter_h
00059
00060 #include "vtkPolyDataToPolyDataFilter.h"
00061
00062 class vtkDataArray;
00063
00064 #define VTK_VECTOR_EXTRUSION 1
00065 #define VTK_NORMAL_EXTRUSION 2
00066 #define VTK_POINT_EXTRUSION 3
00067
00068 class VTK_GRAPHICS_EXPORT vtkLinearExtrusionFilter : public vtkPolyDataToPolyDataFilter
00069 {
00070 public:
00071 vtkTypeRevisionMacro(vtkLinearExtrusionFilter,vtkPolyDataToPolyDataFilter);
00072 void PrintSelf(ostream& os, vtkIndent indent);
00073
00076 static vtkLinearExtrusionFilter *New();
00077
00079
00080 vtkSetClampMacro(ExtrusionType,int,VTK_VECTOR_EXTRUSION,VTK_POINT_EXTRUSION);
00081 vtkGetMacro(ExtrusionType,int);
00082 void SetExtrusionTypeToVectorExtrusion()
00083 {this->SetExtrusionType(VTK_VECTOR_EXTRUSION);};
00084 void SetExtrusionTypeToNormalExtrusion()
00085 {this->SetExtrusionType(VTK_NORMAL_EXTRUSION);};
00086 void SetExtrusionTypeToPointExtrusion()
00087 {this->SetExtrusionType(VTK_POINT_EXTRUSION);};
00089
00091
00092 vtkSetMacro(Capping,int);
00093 vtkGetMacro(Capping,int);
00094 vtkBooleanMacro(Capping,int);
00096
00098
00099 vtkSetMacro(ScaleFactor,float);
00100 vtkGetMacro(ScaleFactor,float);
00102
00104
00106 vtkSetVector3Macro(Vector,float);
00107 vtkGetVectorMacro(Vector,float,3);
00109
00111
00113 vtkSetVector3Macro(ExtrusionPoint,float);
00114 vtkGetVectorMacro(ExtrusionPoint,float,3);
00116
00117 protected:
00118 vtkLinearExtrusionFilter();
00119 ~vtkLinearExtrusionFilter() {};
00120
00121 void Execute();
00122 int ExtrusionType;
00123 int Capping;
00124 float ScaleFactor;
00125 float Vector[3];
00126 float ExtrusionPoint[3];
00127
00128
00129 float *(vtkLinearExtrusionFilter::*ExtrudePoint)(float x[3], vtkIdType id,
00130 vtkDataArray *normals);
00131 float *ViaNormal(float x[3], vtkIdType id, vtkDataArray *normals);
00132 float *ViaVector(float x[3], vtkIdType id, vtkDataArray *normals=0);
00133 float *ViaPoint(float x[3], vtkIdType id, vtkDataArray *normals=0);
00134
00135
00136 private:
00137 vtkLinearExtrusionFilter(const vtkLinearExtrusionFilter&);
00138 void operator=(const vtkLinearExtrusionFilter&);
00139 };
00140
00141 #endif