Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
Graphics/vtkLinearExtrusionFilter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00069 #ifndef __vtkLinearExtrusionFilter_h
00070 #define __vtkLinearExtrusionFilter_h
00071
00072 #include "vtkPolyDataToPolyDataFilter.h"
00073
00074 class vtkDataArray;
00075
00076 #define VTK_VECTOR_EXTRUSION 1
00077 #define VTK_NORMAL_EXTRUSION 2
00078 #define VTK_POINT_EXTRUSION 3
00079
00080 class VTK_GRAPHICS_EXPORT vtkLinearExtrusionFilter : public vtkPolyDataToPolyDataFilter
00081 {
00082 public:
00083 vtkTypeRevisionMacro(vtkLinearExtrusionFilter,vtkPolyDataToPolyDataFilter);
00084 void PrintSelf(ostream& os, vtkIndent indent);
00085
00088 static vtkLinearExtrusionFilter *New();
00089
00091
00092 vtkSetClampMacro(ExtrusionType,int,VTK_VECTOR_EXTRUSION,VTK_POINT_EXTRUSION);
00093 vtkGetMacro(ExtrusionType,int);
00094 void SetExtrusionTypeToVectorExtrusion()
00095 {this->SetExtrusionType(VTK_VECTOR_EXTRUSION);};
00096 void SetExtrusionTypeToNormalExtrusion()
00097 {this->SetExtrusionType(VTK_NORMAL_EXTRUSION);};
00098 void SetExtrusionTypeToPointExtrusion()
00099 {this->SetExtrusionType(VTK_POINT_EXTRUSION);};
00101
00103
00104 vtkSetMacro(Capping,int);
00105 vtkGetMacro(Capping,int);
00106 vtkBooleanMacro(Capping,int);
00108
00110
00111 vtkSetMacro(ScaleFactor,float);
00112 vtkGetMacro(ScaleFactor,float);
00114
00116
00118 vtkSetVector3Macro(Vector,float);
00119 vtkGetVectorMacro(Vector,float,3);
00121
00123
00125 vtkSetVector3Macro(ExtrusionPoint,float);
00126 vtkGetVectorMacro(ExtrusionPoint,float,3);
00128
00129 protected:
00130 vtkLinearExtrusionFilter();
00131 ~vtkLinearExtrusionFilter() {};
00132
00133 void Execute();
00134 int ExtrusionType;
00135 int Capping;
00136 float ScaleFactor;
00137 float Vector[3];
00138 float ExtrusionPoint[3];
00139
00140
00141 float *(vtkLinearExtrusionFilter::*ExtrudePoint)(float x[3], vtkIdType id,
00142 vtkDataArray *normals);
00143 float *ViaNormal(float x[3], vtkIdType id, vtkDataArray *normals);
00144 float *ViaVector(float x[3], vtkIdType id, vtkDataArray *normals=0);
00145 float *ViaPoint(float x[3], vtkIdType id, vtkDataArray *normals=0);
00146
00147
00148 private:
00149 vtkLinearExtrusionFilter(const vtkLinearExtrusionFilter&);
00150 void operator=(const vtkLinearExtrusionFilter&);
00151 };
00152
00153 #endif