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

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 

Generated on Mon Jan 21 23:07:19 2008 for VTK by  doxygen 1.4.3-20050530