VTK  9.3.0
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
45#ifndef vtkRuledSurfaceFilter_h
46#define vtkRuledSurfaceFilter_h
47
48#include "vtkFiltersModelingModule.h" // For export macro
50
51VTK_ABI_NAMESPACE_BEGIN
52class vtkIdList;
53class vtkPoints;
54class vtkPolyData;
55
56#define VTK_RULED_MODE_RESAMPLE 0
57#define VTK_RULED_MODE_POINT_WALK 1
58
59class VTKFILTERSMODELING_EXPORT vtkRuledSurfaceFilter : public vtkPolyDataAlgorithm
60{
61public:
63 void PrintSelf(ostream& os, vtkIndent indent) override;
64
70
72
75 vtkSetClampMacro(DistanceFactor, double, 1.0, VTK_DOUBLE_MAX);
76 vtkGetMacro(DistanceFactor, double);
78
80
85 vtkSetClampMacro(OnRatio, int, 1, VTK_INT_MAX);
86 vtkGetMacro(OnRatio, int);
88
90
95 vtkSetClampMacro(Offset, int, 0, VTK_INT_MAX);
96 vtkGetMacro(Offset, int);
98
100
107 vtkSetMacro(CloseSurface, vtkTypeBool);
108 vtkGetMacro(CloseSurface, vtkTypeBool);
109 vtkBooleanMacro(CloseSurface, vtkTypeBool);
111
113
120 vtkSetClampMacro(RuledMode, int, VTK_RULED_MODE_RESAMPLE, VTK_RULED_MODE_POINT_WALK);
121 vtkGetMacro(RuledMode, int);
122 void SetRuledModeToResample() { this->SetRuledMode(VTK_RULED_MODE_RESAMPLE); }
124 const char* GetRuledModeAsString();
126
128
135 vtkSetVector2Macro(Resolution, int);
136 vtkGetVectorMacro(Resolution, int, 2);
138
140
144 vtkSetMacro(PassLines, vtkTypeBool);
145 vtkGetMacro(PassLines, vtkTypeBool);
146 vtkBooleanMacro(PassLines, vtkTypeBool);
148
150
156 vtkSetMacro(OrientLoops, vtkTypeBool);
157 vtkGetMacro(OrientLoops, vtkTypeBool);
158 vtkBooleanMacro(OrientLoops, vtkTypeBool);
160
161protected:
164
165 // Usual data generation method
167
173 int Resolution[2];
176
177private:
178 vtkIdList* Ids;
179 double Weights[4];
180
181 void Resample(vtkPolyData* output, vtkPolyData* input, vtkPoints* inPts, vtkPoints* newPts,
182 int npts, const vtkIdType* pts, int npts2, const vtkIdType* pts2);
183 void PointWalk(vtkPolyData* output, vtkPoints* inPts, int npts, const vtkIdType* pts, int npts2,
184 const vtkIdType* pts2);
185
187 void operator=(const vtkRuledSurfaceFilter&) = delete;
188};
189
190VTK_ABI_NAMESPACE_END
191#endif
list of point or cell ids
Definition vtkIdList.h:23
a simple class to control print indentation
Definition vtkIndent.h:29
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
represent and manipulate 3D points
Definition vtkPoints.h:29
Superclass for algorithms that produce only polydata as output.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition vtkPolyData.h:80
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