Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Graphics/vtkRuledSurfaceFilter.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkRuledSurfaceFilter.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 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 // Usual data generation method 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&); // Not implemented. 00177 void operator=(const vtkRuledSurfaceFilter&); // Not implemented. 00178 }; 00179 00180 #endif 00181 00182