VTK
vtkRuledSurfaceFilter.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkRuledSurfaceFilter.h
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=========================================================================*/
60#ifndef vtkRuledSurfaceFilter_h
61#define vtkRuledSurfaceFilter_h
62
63#include "vtkFiltersModelingModule.h" // For export macro
65
66class vtkIdList;
67class vtkPoints;
68class vtkPolyData;
69
70#define VTK_RULED_MODE_RESAMPLE 0
71#define VTK_RULED_MODE_POINT_WALK 1
72
73class VTKFILTERSMODELING_EXPORT vtkRuledSurfaceFilter : public vtkPolyDataAlgorithm
74{
75public:
77 void PrintSelf(ostream& os, vtkIndent indent);
78
84
86
89 vtkSetClampMacro(DistanceFactor,double,1.0,VTK_DOUBLE_MAX);
90 vtkGetMacro(DistanceFactor,double);
92
94
99 vtkSetClampMacro(OnRatio,int,1,VTK_INT_MAX);
100 vtkGetMacro(OnRatio,int);
102
104
109 vtkSetClampMacro(Offset,int,0,VTK_INT_MAX);
110 vtkGetMacro(Offset,int);
112
114
121 vtkSetMacro(CloseSurface,int);
122 vtkGetMacro(CloseSurface,int);
123 vtkBooleanMacro(CloseSurface,int);
125
127
134 vtkSetClampMacro(RuledMode,int,
136 vtkGetMacro(RuledMode,int);
138 {this->SetRuledMode(VTK_RULED_MODE_RESAMPLE);}
140 {this->SetRuledMode(VTK_RULED_MODE_POINT_WALK);}
141 const char *GetRuledModeAsString();
143
145
152 vtkSetVector2Macro(Resolution, int);
153 vtkGetVectorMacro(Resolution, int, 2);
155
157
161 vtkSetMacro(PassLines,int);
162 vtkGetMacro(PassLines,int);
163 vtkBooleanMacro(PassLines,int);
165
167
173 vtkSetMacro(OrientLoops,int);
174 vtkGetMacro(OrientLoops,int);
175 vtkBooleanMacro(OrientLoops,int);
177
178protected:
181
182 // Usual data generation method
184
190 int Resolution[2];
193
194private:
195 vtkIdList *Ids;
196 double Weights[4];
197
198 void Resample(vtkPolyData *output, vtkPolyData *input,
199 vtkPoints *inPts, vtkPoints *newPts,
200 int npts, vtkIdType *pts, int npts2, vtkIdType *pts2);
201 void PointWalk(vtkPolyData *output, vtkPoints *inPts,
202 int npts, vtkIdType *pts, int npts2, vtkIdType *pts2);
203
204private:
205 vtkRuledSurfaceFilter(const vtkRuledSurfaceFilter&) VTK_DELETE_FUNCTION;
206 void operator=(const vtkRuledSurfaceFilter&) VTK_DELETE_FUNCTION;
207};
208
209#endif
list of point or cell ids
Definition: vtkIdList.h:37
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
represent and manipulate 3D points
Definition: vtkPoints.h:40
Superclass for algorithms that produce only polydata as output.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:86
generates a surface from a set of lines
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
const char * GetRuledModeAsString()
static vtkRuledSurfaceFilter * New()
Construct object with OnRatio=1, Offset=0.
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
#define VTK_RULED_MODE_RESAMPLE
#define VTK_RULED_MODE_POINT_WALK
int vtkIdType
Definition: vtkType.h:287
#define VTK_DOUBLE_MAX
Definition: vtkType.h:163
#define VTK_INT_MAX
Definition: vtkType.h:153