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=========================================================================*/
63#ifndef vtkRuledSurfaceFilter_h
64#define vtkRuledSurfaceFilter_h
65
66#include "vtkFiltersModelingModule.h" // For export macro
68
69class vtkIdList;
70class vtkPoints;
71class vtkPolyData;
72
73#define VTK_RULED_MODE_RESAMPLE 0
74#define VTK_RULED_MODE_POINT_WALK 1
75
76class VTKFILTERSMODELING_EXPORT vtkRuledSurfaceFilter : public vtkPolyDataAlgorithm
77{
78public:
80 void PrintSelf(ostream& os, vtkIndent indent) override;
81
87
89
92 vtkSetClampMacro(DistanceFactor, double, 1.0, VTK_DOUBLE_MAX);
93 vtkGetMacro(DistanceFactor, double);
95
97
102 vtkSetClampMacro(OnRatio, int, 1, VTK_INT_MAX);
103 vtkGetMacro(OnRatio, int);
105
107
112 vtkSetClampMacro(Offset, int, 0, VTK_INT_MAX);
113 vtkGetMacro(Offset, int);
115
117
124 vtkSetMacro(CloseSurface, vtkTypeBool);
125 vtkGetMacro(CloseSurface, vtkTypeBool);
126 vtkBooleanMacro(CloseSurface, vtkTypeBool);
128
130
137 vtkSetClampMacro(RuledMode, int, VTK_RULED_MODE_RESAMPLE, VTK_RULED_MODE_POINT_WALK);
138 vtkGetMacro(RuledMode, int);
139 void SetRuledModeToResample() { this->SetRuledMode(VTK_RULED_MODE_RESAMPLE); }
141 const char* GetRuledModeAsString();
143
145
152 vtkSetVector2Macro(Resolution, int);
153 vtkGetVectorMacro(Resolution, int, 2);
155
157
161 vtkSetMacro(PassLines, vtkTypeBool);
162 vtkGetMacro(PassLines, vtkTypeBool);
163 vtkBooleanMacro(PassLines, vtkTypeBool);
165
167
173 vtkSetMacro(OrientLoops, vtkTypeBool);
174 vtkGetMacro(OrientLoops, vtkTypeBool);
175 vtkBooleanMacro(OrientLoops, vtkTypeBool);
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, vtkPoints* inPts, vtkPoints* newPts,
199 int npts, const vtkIdType* pts, int npts2, const vtkIdType* pts2);
200 void PointWalk(vtkPolyData* output, vtkPoints* inPts, int npts, const vtkIdType* pts, int npts2,
201 const vtkIdType* pts2);
202
203private:
205 void operator=(const vtkRuledSurfaceFilter&) = delete;
206};
207
208#endif
list of point or cell ids
Definition: vtkIdList.h:40
a simple class to control print indentation
Definition: vtkIndent.h:43
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
represent and manipulate 3D points
Definition: vtkPoints.h:43
Superclass for algorithms that produce only polydata as output.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:95
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