VTK  9.4.20241222
vtkRuledSurfaceFilter.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
74#ifndef vtkRuledSurfaceFilter_h
75#define vtkRuledSurfaceFilter_h
76
77#include "vtkFiltersModelingModule.h" // For export macro
79
80VTK_ABI_NAMESPACE_BEGIN
81class vtkIdList;
82class vtkPoints;
83class vtkPolyData;
84
85#define VTK_RULED_MODE_RESAMPLE 0
86#define VTK_RULED_MODE_POINT_WALK 1
87
88class VTKFILTERSMODELING_EXPORT vtkRuledSurfaceFilter : public vtkPolyDataAlgorithm
89{
90public:
92 void PrintSelf(ostream& os, vtkIndent indent) override;
93
99
101
104 vtkSetClampMacro(DistanceFactor, double, 1.0, VTK_DOUBLE_MAX);
105 vtkGetMacro(DistanceFactor, double);
107
109
114 vtkSetClampMacro(OnRatio, int, 1, VTK_INT_MAX);
115 vtkGetMacro(OnRatio, int);
117
119
124 vtkSetClampMacro(Offset, int, 0, VTK_INT_MAX);
125 vtkGetMacro(Offset, int);
127
129
136 vtkSetMacro(CloseSurface, vtkTypeBool);
137 vtkGetMacro(CloseSurface, vtkTypeBool);
138 vtkBooleanMacro(CloseSurface, vtkTypeBool);
140
142
149 vtkSetClampMacro(RuledMode, int, VTK_RULED_MODE_RESAMPLE, VTK_RULED_MODE_POINT_WALK);
150 vtkGetMacro(RuledMode, int);
151 void SetRuledModeToResample() { this->SetRuledMode(VTK_RULED_MODE_RESAMPLE); }
153 const char* GetRuledModeAsString();
155
157
164 vtkSetVector2Macro(Resolution, int);
165 vtkGetVectorMacro(Resolution, int, 2);
167
169
173 vtkSetMacro(PassLines, vtkTypeBool);
174 vtkGetMacro(PassLines, vtkTypeBool);
175 vtkBooleanMacro(PassLines, vtkTypeBool);
177
179
185 vtkSetMacro(OrientLoops, vtkTypeBool);
186 vtkGetMacro(OrientLoops, vtkTypeBool);
187 vtkBooleanMacro(OrientLoops, vtkTypeBool);
189
190protected:
193
194 // Usual data generation method
196
202 int Resolution[2];
205
206private:
207 vtkIdList* Ids;
208 double Weights[4];
209
210 void Resample(vtkPolyData* output, vtkPolyData* input, vtkPoints* inPts, vtkPoints* newPts,
211 int npts, const vtkIdType* pts, int npts2, const vtkIdType* pts2);
212 void PointWalk(vtkPolyData* output, vtkPoints* inPts, int npts, const vtkIdType* pts, int npts2,
213 const vtkIdType* pts2);
214
216 void operator=(const vtkRuledSurfaceFilter&) = delete;
217};
218
219VTK_ABI_NAMESPACE_END
220#endif
list of point or cell ids
Definition vtkIdList.h:133
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
represent and manipulate 3D points
Definition vtkPoints.h:139
Superclass for algorithms that produce only polydata as output.
concrete dataset represents vertices, lines, polygons, and triangle strips
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:64
#define VTK_RULED_MODE_RESAMPLE
#define VTK_RULED_MODE_POINT_WALK
int vtkIdType
Definition vtkType.h:315
#define VTK_DOUBLE_MAX
Definition vtkType.h:154
#define VTK_INT_MAX
Definition vtkType.h:144