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