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=========================================================================*/
54#ifndef vtkRuledSurfaceFilter_h
55#define vtkRuledSurfaceFilter_h
56
57#include "vtkFiltersModelingModule.h" // For export macro
59
60class vtkIdList;
61class vtkPoints;
62class vtkPolyData;
63
64#define VTK_RULED_MODE_RESAMPLE 0
65#define VTK_RULED_MODE_POINT_WALK 1
66
67class VTKFILTERSMODELING_EXPORT vtkRuledSurfaceFilter : public vtkPolyDataAlgorithm
68{
69public:
71 void PrintSelf(ostream& os, vtkIndent indent) override;
72
78
80
83 vtkSetClampMacro(DistanceFactor, double, 1.0, VTK_DOUBLE_MAX);
84 vtkGetMacro(DistanceFactor, double);
86
88
93 vtkSetClampMacro(OnRatio, int, 1, VTK_INT_MAX);
94 vtkGetMacro(OnRatio, int);
96
98
103 vtkSetClampMacro(Offset, int, 0, VTK_INT_MAX);
104 vtkGetMacro(Offset, int);
106
108
115 vtkSetMacro(CloseSurface, vtkTypeBool);
116 vtkGetMacro(CloseSurface, vtkTypeBool);
117 vtkBooleanMacro(CloseSurface, vtkTypeBool);
119
121
128 vtkSetClampMacro(RuledMode, int, VTK_RULED_MODE_RESAMPLE, VTK_RULED_MODE_POINT_WALK);
129 vtkGetMacro(RuledMode, int);
130 void SetRuledModeToResample() { this->SetRuledMode(VTK_RULED_MODE_RESAMPLE); }
132 const char* GetRuledModeAsString();
134
136
143 vtkSetVector2Macro(Resolution, int);
144 vtkGetVectorMacro(Resolution, int, 2);
146
148
152 vtkSetMacro(PassLines, vtkTypeBool);
153 vtkGetMacro(PassLines, vtkTypeBool);
154 vtkBooleanMacro(PassLines, vtkTypeBool);
156
158
164 vtkSetMacro(OrientLoops, vtkTypeBool);
165 vtkGetMacro(OrientLoops, vtkTypeBool);
166 vtkBooleanMacro(OrientLoops, vtkTypeBool);
168
169protected:
172
173 // Usual data generation method
175
181 int Resolution[2];
184
185private:
186 vtkIdList* Ids;
187 double Weights[4];
188
189 void Resample(vtkPolyData* output, vtkPolyData* input, vtkPoints* inPts, vtkPoints* newPts,
190 int npts, const vtkIdType* pts, int npts2, const vtkIdType* pts2);
191 void PointWalk(vtkPolyData* output, vtkPoints* inPts, int npts, const vtkIdType* pts, int npts2,
192 const vtkIdType* pts2);
193
194private:
196 void operator=(const vtkRuledSurfaceFilter&) = delete;
197};
198
199#endif
list of point or cell ids
Definition: vtkIdList.h:31
a simple class to control print indentation
Definition: vtkIndent.h:34
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
represent and manipulate 3D points
Definition: vtkPoints.h:34
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 *) 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