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 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 =========================================================================*/ 00054 #ifndef __vtkImplicitSelectionLoop_h 00055 #define __vtkImplicitSelectionLoop_h 00056 00057 #include "vtkImplicitFunction.h" 00058 00059 class vtkPoints; 00060 class vtkPolygon; 00061 00062 class VTK_FILTERING_EXPORT vtkImplicitSelectionLoop : public vtkImplicitFunction 00063 { 00064 public: 00065 vtkTypeRevisionMacro(vtkImplicitSelectionLoop,vtkImplicitFunction); 00066 void PrintSelf(ostream& os, vtkIndent indent); 00067 00069 static vtkImplicitSelectionLoop *New(); 00070 00072 00073 float EvaluateFunction(float x[3]); 00074 float EvaluateFunction(float x, float y, float z) 00075 {return this->vtkImplicitFunction::EvaluateFunction(x, y, z); } ; 00077 00079 void EvaluateGradient(float x[3], float n[3]); 00080 00082 00084 virtual void SetLoop(vtkPoints*); 00085 vtkGetObjectMacro(Loop,vtkPoints); 00087 00089 00092 vtkSetMacro(AutomaticNormalGeneration,int); 00093 vtkGetMacro(AutomaticNormalGeneration,int); 00094 vtkBooleanMacro(AutomaticNormalGeneration,int); 00096 00098 00100 vtkSetVector3Macro(Normal,float); 00101 vtkGetVectorMacro(Normal,float,3); 00103 00105 unsigned long GetMTime(); 00106 00107 protected: 00108 vtkImplicitSelectionLoop(); 00109 ~vtkImplicitSelectionLoop(); 00110 00111 vtkPoints *Loop; 00112 float Normal[3]; 00113 int AutomaticNormalGeneration; 00114 00115 private: 00116 void Initialize(); 00117 vtkPolygon *Polygon; 00118 00119 float Origin[3]; 00120 float Bounds[6]; 00121 float DeltaX; 00122 float DeltaY; 00123 float DeltaZ; 00124 00125 vtkTimeStamp InitializationTime; 00126 00127 private: 00128 vtkImplicitSelectionLoop(const vtkImplicitSelectionLoop&); // Not implemented. 00129 void operator=(const vtkImplicitSelectionLoop&); // Not implemented. 00130 }; 00131 00132 #endif 00133 00134