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

dox/Filtering/vtkImplicitSelectionLoop.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkImplicitSelectionLoop.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 =========================================================================*/ 00050 #ifndef __vtkImplicitSelectionLoop_h 00051 #define __vtkImplicitSelectionLoop_h 00052 00053 #include "vtkImplicitFunction.h" 00054 00055 class vtkPoints; 00056 class vtkPolygon; 00057 00058 class VTK_FILTERING_EXPORT vtkImplicitSelectionLoop : public vtkImplicitFunction 00059 { 00060 public: 00061 vtkTypeRevisionMacro(vtkImplicitSelectionLoop,vtkImplicitFunction); 00062 void PrintSelf(ostream& os, vtkIndent indent); 00063 00065 static vtkImplicitSelectionLoop *New(); 00066 00068 00069 double EvaluateFunction(double x[3]); 00070 double EvaluateFunction(double x, double y, double z) 00071 {return this->vtkImplicitFunction::EvaluateFunction(x, y, z); } ; 00073 00075 void EvaluateGradient(double x[3], double n[3]); 00076 00078 00080 virtual void SetLoop(vtkPoints*); 00081 vtkGetObjectMacro(Loop,vtkPoints); 00083 00085 00088 vtkSetMacro(AutomaticNormalGeneration,int); 00089 vtkGetMacro(AutomaticNormalGeneration,int); 00090 vtkBooleanMacro(AutomaticNormalGeneration,int); 00092 00094 00096 vtkSetVector3Macro(Normal,double); 00097 vtkGetVectorMacro(Normal,double,3); 00099 00101 unsigned long GetMTime(); 00102 00103 protected: 00104 vtkImplicitSelectionLoop(); 00105 ~vtkImplicitSelectionLoop(); 00106 00107 vtkPoints *Loop; 00108 double Normal[3]; 00109 int AutomaticNormalGeneration; 00110 00111 private: 00112 void Initialize(); 00113 vtkPolygon *Polygon; 00114 00115 double Origin[3]; 00116 double Bounds[6]; 00117 double DeltaX; 00118 double DeltaY; 00119 double DeltaZ; 00120 00121 vtkTimeStamp InitializationTime; 00122 00123 private: 00124 vtkImplicitSelectionLoop(const vtkImplicitSelectionLoop&); // Not implemented. 00125 void operator=(const vtkImplicitSelectionLoop&); // Not implemented. 00126 }; 00127 00128 #endif 00129 00130