dox/Graphics/vtkRuledSurfaceFilter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00063 #ifndef __vtkRuledSurfaceFilter_h
00064 #define __vtkRuledSurfaceFilter_h
00065
00066 #include "vtkPolyDataToPolyDataFilter.h"
00067
00068 class vtkIdList;
00069 class vtkPoints;
00070 class vtkPolyData;
00071
00072 #define VTK_RULED_MODE_RESAMPLE 0
00073 #define VTK_RULED_MODE_POINT_WALK 1
00074
00075 class VTK_GRAPHICS_EXPORT vtkRuledSurfaceFilter : public vtkPolyDataToPolyDataFilter
00076 {
00077 public:
00078 vtkTypeRevisionMacro(vtkRuledSurfaceFilter,vtkPolyDataToPolyDataFilter);
00079 void PrintSelf(ostream& os, vtkIndent indent);
00080
00083 static vtkRuledSurfaceFilter *New();
00084
00086
00087 vtkSetClampMacro(DistanceFactor,float,1.0,VTK_LARGE_FLOAT);
00088 vtkGetMacro(DistanceFactor,float);
00090
00092
00095 vtkSetClampMacro(OnRatio,int,1,VTK_LARGE_INTEGER);
00096 vtkGetMacro(OnRatio,int);
00098
00100
00103 vtkSetClampMacro(Offset,int,0,VTK_LARGE_INTEGER);
00104 vtkGetMacro(Offset,int);
00106
00108
00113 vtkSetMacro(CloseSurface,int);
00114 vtkGetMacro(CloseSurface,int);
00115 vtkBooleanMacro(CloseSurface,int);
00117
00119
00123 vtkSetClampMacro(RuledMode,int,
00124 VTK_RULED_MODE_RESAMPLE,VTK_RULED_MODE_POINT_WALK);
00125 vtkGetMacro(RuledMode,int);
00126 void SetRuledModeToResample()
00127 {this->SetRuledMode(VTK_RULED_MODE_RESAMPLE);}
00128 void SetRuledModeToPointWalk()
00129 {this->SetRuledMode(VTK_RULED_MODE_POINT_WALK);}
00130 const char *GetRuledModeAsString();
00132
00134
00139 vtkSetVector2Macro(Resolution, int);
00140 vtkGetVectorMacro(Resolution, int, 2);
00142
00144
00146 vtkSetMacro(PassLines,int);
00147 vtkGetMacro(PassLines,int);
00148 vtkBooleanMacro(PassLines,int);
00150
00151 protected:
00152 vtkRuledSurfaceFilter();
00153 ~vtkRuledSurfaceFilter();
00154
00155
00156 void Execute();
00157
00158 float DistanceFactor;
00159 int OnRatio;
00160 int Offset;
00161 int CloseSurface;
00162 int RuledMode;
00163 int Resolution[2];
00164 int PassLines;
00165
00166 private:
00167 vtkIdList *Ids;
00168 float Weights[4];
00169
00170 void Resample(vtkPolyData *output, vtkPoints *inPts, vtkPoints *newPts,
00171 int npts, vtkIdType *pts, int npts2, vtkIdType *pts2);
00172 void PointWalk(vtkPolyData *output, vtkPoints *inPts,
00173 int npts, vtkIdType *pts, int npts2, vtkIdType *pts2);
00174
00175 private:
00176 vtkRuledSurfaceFilter(const vtkRuledSurfaceFilter&);
00177 void operator=(const vtkRuledSurfaceFilter&);
00178 };
00179
00180 #endif
00181
00182