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 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00059 #ifndef __vtkRuledSurfaceFilter_h 00060 #define __vtkRuledSurfaceFilter_h 00061 00062 #include "vtkPolyDataToPolyDataFilter.h" 00063 00064 class vtkIdList; 00065 class vtkPoints; 00066 class vtkPolyData; 00067 00068 #define VTK_RULED_MODE_RESAMPLE 0 00069 #define VTK_RULED_MODE_POINT_WALK 1 00070 00071 class VTK_GRAPHICS_EXPORT vtkRuledSurfaceFilter : public vtkPolyDataToPolyDataFilter 00072 { 00073 public: 00074 vtkTypeRevisionMacro(vtkRuledSurfaceFilter,vtkPolyDataToPolyDataFilter); 00075 void PrintSelf(ostream& os, vtkIndent indent); 00076 00079 static vtkRuledSurfaceFilter *New(); 00080 00082 00083 vtkSetClampMacro(DistanceFactor,double,1.0,VTK_DOUBLE_MAX); 00084 vtkGetMacro(DistanceFactor,double); 00086 00088 00091 vtkSetClampMacro(OnRatio,int,1,VTK_LARGE_INTEGER); 00092 vtkGetMacro(OnRatio,int); 00094 00096 00099 vtkSetClampMacro(Offset,int,0,VTK_LARGE_INTEGER); 00100 vtkGetMacro(Offset,int); 00102 00104 00109 vtkSetMacro(CloseSurface,int); 00110 vtkGetMacro(CloseSurface,int); 00111 vtkBooleanMacro(CloseSurface,int); 00113 00115 00120 vtkSetClampMacro(RuledMode,int, 00121 VTK_RULED_MODE_RESAMPLE,VTK_RULED_MODE_POINT_WALK); 00122 vtkGetMacro(RuledMode,int); 00123 void SetRuledModeToResample() 00124 {this->SetRuledMode(VTK_RULED_MODE_RESAMPLE);} 00125 void SetRuledModeToPointWalk() 00126 {this->SetRuledMode(VTK_RULED_MODE_POINT_WALK);} 00127 const char *GetRuledModeAsString(); 00129 00131 00136 vtkSetVector2Macro(Resolution, int); 00137 vtkGetVectorMacro(Resolution, int, 2); 00139 00141 00143 vtkSetMacro(PassLines,int); 00144 vtkGetMacro(PassLines,int); 00145 vtkBooleanMacro(PassLines,int); 00147 00148 protected: 00149 vtkRuledSurfaceFilter(); 00150 ~vtkRuledSurfaceFilter(); 00151 00152 // Usual data generation method 00153 void Execute(); 00154 00155 double DistanceFactor; 00156 int OnRatio; 00157 int Offset; 00158 int CloseSurface; 00159 int RuledMode; 00160 int Resolution[2]; 00161 int PassLines; 00162 00163 private: 00164 vtkIdList *Ids; 00165 double Weights[4]; 00166 00167 void Resample(vtkPolyData *output, vtkPoints *inPts, vtkPoints *newPts, 00168 int npts, vtkIdType *pts, int npts2, vtkIdType *pts2); 00169 void PointWalk(vtkPolyData *output, vtkPoints *inPts, 00170 int npts, vtkIdType *pts, int npts2, vtkIdType *pts2); 00171 00172 private: 00173 vtkRuledSurfaceFilter(const vtkRuledSurfaceFilter&); // Not implemented. 00174 void operator=(const vtkRuledSurfaceFilter&); // Not implemented. 00175 }; 00176 00177 #endif 00178 00179