Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Graphics/vtkLinearExtrusionFilter.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkLinearExtrusionFilter.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 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 //BTX 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 //ETX 00135 00136 private: 00137 vtkLinearExtrusionFilter(const vtkLinearExtrusionFilter&); // Not implemented. 00138 void operator=(const vtkLinearExtrusionFilter&); // Not implemented. 00139 }; 00140 00141 #endif