VTK  9.1.0
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=========================================================================*/
83#ifndef vtkRuledSurfaceFilter_h
84#define vtkRuledSurfaceFilter_h
85
86#include "vtkFiltersModelingModule.h" // For export macro
88
89class vtkIdList;
90class vtkPoints;
91class vtkPolyData;
92
93#define VTK_RULED_MODE_RESAMPLE 0
94#define VTK_RULED_MODE_POINT_WALK 1
95
96class VTKFILTERSMODELING_EXPORT vtkRuledSurfaceFilter : public vtkPolyDataAlgorithm
97{
98public:
100 void PrintSelf(ostream& os, vtkIndent indent) override;
101
107
109
112 vtkSetClampMacro(DistanceFactor, double, 1.0, VTK_DOUBLE_MAX);
113 vtkGetMacro(DistanceFactor, double);
115
117
122 vtkSetClampMacro(OnRatio, int, 1, VTK_INT_MAX);
123 vtkGetMacro(OnRatio, int);
125
127
132 vtkSetClampMacro(Offset, int, 0, VTK_INT_MAX);
133 vtkGetMacro(Offset, int);
135
137
144 vtkSetMacro(CloseSurface, vtkTypeBool);
145 vtkGetMacro(CloseSurface, vtkTypeBool);
146 vtkBooleanMacro(CloseSurface, vtkTypeBool);
148
150
157 vtkSetClampMacro(RuledMode, int, VTK_RULED_MODE_RESAMPLE, VTK_RULED_MODE_POINT_WALK);
158 vtkGetMacro(RuledMode, int);
159 void SetRuledModeToResample() { this->SetRuledMode(VTK_RULED_MODE_RESAMPLE); }
161 const char* GetRuledModeAsString();
163
165
172 vtkSetVector2Macro(Resolution, int);
173 vtkGetVectorMacro(Resolution, int, 2);
175
177
181 vtkSetMacro(PassLines, vtkTypeBool);
182 vtkGetMacro(PassLines, vtkTypeBool);
183 vtkBooleanMacro(PassLines, vtkTypeBool);
185
187
193 vtkSetMacro(OrientLoops, vtkTypeBool);
194 vtkGetMacro(OrientLoops, vtkTypeBool);
195 vtkBooleanMacro(OrientLoops, vtkTypeBool);
197
198protected:
201
202 // Usual data generation method
204
210 int Resolution[2];
213
214private:
215 vtkIdList* Ids;
216 double Weights[4];
217
218 void Resample(vtkPolyData* output, vtkPolyData* input, vtkPoints* inPts, vtkPoints* newPts,
219 int npts, const vtkIdType* pts, int npts2, const vtkIdType* pts2);
220 void PointWalk(vtkPolyData* output, vtkPoints* inPts, int npts, const vtkIdType* pts, int npts2,
221 const vtkIdType* pts2);
222
223private:
225 void operator=(const vtkRuledSurfaceFilter&) = delete;
226};
227
228#endif
list of point or cell ids
Definition: vtkIdList.h:140
a simple class to control print indentation
Definition: vtkIndent.h:113
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
represent and manipulate 3D points
Definition: vtkPoints.h:143
Superclass for algorithms that produce only polydata as output.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:195
generates a surface from a set of lines
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
~vtkRuledSurfaceFilter() override
const char * GetRuledModeAsString()
Set the mode by which to create the ruled surface.
void SetRuledModeToPointWalk()
Set the mode by which to create the ruled surface.
void SetRuledModeToResample()
Set the mode by which to create the ruled surface.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkRuledSurfaceFilter * New()
Construct object with OnRatio=1, Offset=0.
int vtkTypeBool
Definition: vtkABI.h:69
#define VTK_RULED_MODE_RESAMPLE
#define VTK_RULED_MODE_POINT_WALK
int vtkIdType
Definition: vtkType.h:332
#define VTK_DOUBLE_MAX
Definition: vtkType.h:165
#define VTK_INT_MAX
Definition: vtkType.h:155