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

Graphics/vtkClipDataSet.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkClipDataSet.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 =========================================================================*/
00066 #ifndef __vtkClipDataSet_h
00067 #define __vtkClipDataSet_h
00068 
00069 #include "vtkDataSetToUnstructuredGridFilter.h"
00070 
00071 class vtkImplicitFunction;
00072 
00073 class vtkPointLocator;
00074 
00075 class VTK_GRAPHICS_EXPORT vtkClipDataSet : public vtkDataSetToUnstructuredGridFilter
00076 {
00077 public:
00078   vtkTypeRevisionMacro(vtkClipDataSet,vtkDataSetToUnstructuredGridFilter);
00079   void PrintSelf(ostream& os, vtkIndent indent);
00080 
00083   static vtkClipDataSet *New();
00084 
00086 
00089   vtkSetMacro(Value,float);
00090   vtkGetMacro(Value,float);
00092   
00094 
00099   vtkSetMacro(InsideOut,int);
00100   vtkGetMacro(InsideOut,int);
00101   vtkBooleanMacro(InsideOut,int);
00103 
00105 
00108   virtual void SetClipFunction(vtkImplicitFunction*);
00109   vtkGetObjectMacro(ClipFunction,vtkImplicitFunction);
00111 
00113 
00117   vtkSetMacro(GenerateClipScalars,int);
00118   vtkGetMacro(GenerateClipScalars,int);
00119   vtkBooleanMacro(GenerateClipScalars,int);
00121 
00123 
00125   vtkSetMacro(GenerateClippedOutput,int);
00126   vtkGetMacro(GenerateClippedOutput,int);
00127   vtkBooleanMacro(GenerateClippedOutput,int);
00129 
00131 
00135   vtkSetClampMacro(MergeTolerance,float,0.0001,0.25);
00136   vtkGetMacro(MergeTolerance,float);
00138   
00140 
00141   vtkUnstructuredGrid *GetClippedOutput();
00142   virtual int GetNumberOfOutputs();
00144 
00146 
00148   void SetLocator(vtkPointLocator *locator);
00149   vtkGetObjectMacro(Locator,vtkPointLocator);
00151 
00154   void CreateDefaultLocator();
00155 
00157   unsigned long GetMTime();
00158 
00159 protected:
00160   vtkClipDataSet(vtkImplicitFunction *cf=NULL);
00161   ~vtkClipDataSet();
00162 
00163   void Execute();
00164   vtkImplicitFunction *ClipFunction;
00165   
00166   vtkPointLocator *Locator;
00167   int InsideOut;
00168   float Value;
00169   int GenerateClipScalars;
00170 
00171   int GenerateClippedOutput;
00172   float MergeTolerance;
00173 
00174   char *InputScalarsSelection;
00175   vtkSetStringMacro(InputScalarsSelection);
00176 
00177   //helper functions
00178   void ClipVolume();
00179 
00180 private:
00181   vtkClipDataSet(const vtkClipDataSet&);  // Not implemented.
00182   void operator=(const vtkClipDataSet&);  // Not implemented.
00183 };
00184 
00185 #endif