VTK
vtkQuadRotationalExtrusionFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: Visualization Toolkit
4 Module: $RCSfile: vtkQuadRotationalExtrusionFilter.h,v $
5 
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
64 #ifndef vtkQuadRotationalExtrusionFilter_h
65 #define vtkQuadRotationalExtrusionFilter_h
66 
67 #include "vtkFiltersModelingModule.h" // For export macro
69 #include <vtksys/stl/map> // STL vector need for per block angles
70 
71 class vtkPoints;
72 class vtkPointData;
73 
75 {
76  public:
78  void PrintSelf(ostream& os, vtkIndent indent);
79 
83 
84 //BTX
86  {
87  USE_X = 0,
88  USE_Y = 1,
89  USE_Z = 2
90  };
91 //ETX
92 
94 
95  vtkSetClampMacro(Axis, int, 0, 2);
96  vtkGetMacro(Axis, int);
97  void SetAxisToX() { this->SetAxis(USE_X); };
98  void SetAxisToY() { this->SetAxis(USE_Y); };
99  void SetAxisToZ() { this->SetAxis(USE_Z); };
101 
103 
105  vtkSetClampMacro(Resolution,int,1,VTK_INT_MAX);
106  vtkGetMacro(Resolution,int);
108 
110 
111  vtkSetMacro(Capping,int);
112  vtkGetMacro(Capping,int);
113  vtkBooleanMacro(Capping,int);
115 
117 
118  vtkSetMacro(DefaultAngle,double);
119  vtkGetMacro(DefaultAngle,double);
121 
123 
125  void AddPerBlockAngle(vtkIdType blockId, double angle);
127 
129 
130  vtkSetMacro(Translation,double);
131  vtkGetMacro(Translation,double);
133 
135 
136  vtkSetMacro(DeltaRadius,double);
137  vtkGetMacro(DeltaRadius,double);
139 
140  protected:
143 
148 
149  int RotateAroundAxis( double,
150  vtkIdType,
151  vtkPoints*,
152  vtkPoints*,
153  vtkPointData*,
154  vtkPointData* );
155  int Axis;
157  int Capping;
158  double DefaultAngle;
159  double Translation;
160  double DeltaRadius;
161 
162 //BTX
163  vtksys_stl::map<vtkIdType,double> PerBlockAngles;
164 //ETX
165 
166  private:
168  void operator=(const vtkQuadRotationalExtrusionFilter&); // Not implemented.
169 };
170 
171 #endif
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:39
vtkQuadRotationalExtrusionFilter::Axis
int Axis
Definition: vtkQuadRotationalExtrusionFilter.h:155
VTK_INT_MAX
#define VTK_INT_MAX
Definition: vtkType.h:132
vtkPointData
represent and manipulate point attribute data
Definition: vtkPointData.h:37
vtkQuadRotationalExtrusionFilter::RemoveAllPerBlockAngles
void RemoveAllPerBlockAngles()
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkQuadRotationalExtrusionFilter::SetAxisToX
void SetAxisToX()
Definition: vtkQuadRotationalExtrusionFilter.h:97
vtkQuadRotationalExtrusionFilter::Resolution
int Resolution
Definition: vtkQuadRotationalExtrusionFilter.h:156
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkFiltersModelingModule.h
vtkQuadRotationalExtrusionFilter::RotationAxis
RotationAxis
Definition: vtkQuadRotationalExtrusionFilter.h:86
vtkQuadRotationalExtrusionFilter::PerBlockAngles
vtksys_stl::map< vtkIdType, double > PerBlockAngles
Definition: vtkQuadRotationalExtrusionFilter.h:163
vtkQuadRotationalExtrusionFilter
sweep polygonal data creating "skirt" from free edges and lines, and lines from vertices
Definition: vtkQuadRotationalExtrusionFilter.h:75
vtkQuadRotationalExtrusionFilter::SetAxisToZ
void SetAxisToZ()
Definition: vtkQuadRotationalExtrusionFilter.h:99
vtkSetClampMacro
#define vtkSetClampMacro(name, type, min, max)
Definition: vtkSetGet.h:143
vtkQuadRotationalExtrusionFilter::vtkQuadRotationalExtrusionFilter
vtkQuadRotationalExtrusionFilter()
vtkQuadRotationalExtrusionFilter::RotateAroundAxis
int RotateAroundAxis(double, vtkIdType, vtkPoints *, vtkPoints *, vtkPointData *, vtkPointData *)
vtkQuadRotationalExtrusionFilter::Capping
int Capping
Definition: vtkQuadRotationalExtrusionFilter.h:157
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkQuadRotationalExtrusionFilter::AddPerBlockAngle
void AddPerBlockAngle(vtkIdType blockId, double angle)
vtkQuadRotationalExtrusionFilter::DefaultAngle
double DefaultAngle
Definition: vtkQuadRotationalExtrusionFilter.h:158
vtkMultiBlockDataSetAlgorithm.h
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkQuadRotationalExtrusionFilter::FillInputPortInformation
int FillInputPortInformation(int, vtkInformation *)
vtkQuadRotationalExtrusionFilter::Translation
double Translation
Definition: vtkQuadRotationalExtrusionFilter.h:159
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkQuadRotationalExtrusionFilter::DeltaRadius
double DeltaRadius
Definition: vtkQuadRotationalExtrusionFilter.h:160
vtkQuadRotationalExtrusionFilter::New
static vtkQuadRotationalExtrusionFilter * New()
vtkgl::angle
GLfloat angle
Definition: vtkgl.h:18174
VTKFILTERSMODELING_EXPORT
#define VTKFILTERSMODELING_EXPORT
Definition: vtkFiltersModelingModule.h:15
vtkQuadRotationalExtrusionFilter::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkQuadRotationalExtrusionFilter::~vtkQuadRotationalExtrusionFilter
~vtkQuadRotationalExtrusionFilter()
Definition: vtkQuadRotationalExtrusionFilter.h:142
vtkQuadRotationalExtrusionFilter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkQuadRotationalExtrusionFilter::SetAxisToY
void SetAxisToY()
Definition: vtkQuadRotationalExtrusionFilter.h:98
vtkMultiBlockDataSetAlgorithm
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
Definition: vtkMultiBlockDataSetAlgorithm.h:32