VTK
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 =========================================================================*/
59 #ifndef __vtkRuledSurfaceFilter_h
60 #define __vtkRuledSurfaceFilter_h
61 
62 #include "vtkPolyDataAlgorithm.h"
63 
64 class vtkIdList;
65 class vtkPoints;
66 class vtkPolyData;
67 
68 #define VTK_RULED_MODE_RESAMPLE 0
69 #define VTK_RULED_MODE_POINT_WALK 1
70 
72 {
73 public:
75  void PrintSelf(ostream& os, vtkIndent indent);
76 
79  static vtkRuledSurfaceFilter *New();
80 
82 
83  vtkSetClampMacro(DistanceFactor,double,1.0,VTK_DOUBLE_MAX);
84  vtkGetMacro(DistanceFactor,double);
86 
88 
91  vtkSetClampMacro(OnRatio,int,1,VTK_LARGE_INTEGER);
92  vtkGetMacro(OnRatio,int);
94 
96 
99  vtkSetClampMacro(Offset,int,0,VTK_LARGE_INTEGER);
100  vtkGetMacro(Offset,int);
102 
104 
109  vtkSetMacro(CloseSurface,int);
110  vtkGetMacro(CloseSurface,int);
111  vtkBooleanMacro(CloseSurface,int);
113 
115 
120  vtkSetClampMacro(RuledMode,int,
122  vtkGetMacro(RuledMode,int);
124  {this->SetRuledMode(VTK_RULED_MODE_RESAMPLE);}
126  {this->SetRuledMode(VTK_RULED_MODE_POINT_WALK);}
127  const char *GetRuledModeAsString();
129 
131 
136  vtkSetVector2Macro(Resolution, int);
137  vtkGetVectorMacro(Resolution, int, 2);
139 
141 
143  vtkSetMacro(PassLines,int);
144  vtkGetMacro(PassLines,int);
145  vtkBooleanMacro(PassLines,int);
147 
149 
153  vtkSetMacro(OrientLoops,int);
154  vtkGetMacro(OrientLoops,int);
155  vtkBooleanMacro(OrientLoops,int);
157 
158 protected:
161 
162  // Usual data generation method
164 
166  int OnRatio;
167  int Offset;
170  int Resolution[2];
173 
174 private:
175  vtkIdList *Ids;
176  double Weights[4];
177 
178  void Resample(vtkPolyData *output, vtkPolyData *input,
179  vtkPoints *inPts, vtkPoints *newPts,
180  int npts, vtkIdType *pts, int npts2, vtkIdType *pts2);
181  void PointWalk(vtkPolyData *output, vtkPoints *inPts,
182  int npts, vtkIdType *pts, int npts2, vtkIdType *pts2);
183 
184 private:
185  vtkRuledSurfaceFilter(const vtkRuledSurfaceFilter&); // Not implemented.
186  void operator=(const vtkRuledSurfaceFilter&); // Not implemented.
187 };
188 
189 #endif
#define VTK_GRAPHICS_EXPORT
#define VTK_DOUBLE_MAX
Definition: vtkType.h:133
Store vtkAlgorithm input/output information.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
int vtkIdType
Definition: vtkType.h:255
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:81
static vtkPolyDataAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent)
Superclass for algorithms that produce only polydata as output.
#define VTK_RULED_MODE_POINT_WALK
a simple class to control print indentation
Definition: vtkIndent.h:37
list of point or cell ids
Definition: vtkIdList.h:34
#define VTK_RULED_MODE_RESAMPLE
Store zero or more vtkInformation instances.
#define VTK_LARGE_INTEGER
Definition: vtkType.h:148
generates a surface from a set of lines
represent and manipulate 3D points
Definition: vtkPoints.h:38