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

dox/Graphics/vtkClipDataSet.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkClipDataSet.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 =========================================================================*/ 00062 #ifndef __vtkClipDataSet_h 00063 #define __vtkClipDataSet_h 00064 00065 #include "vtkDataSetToUnstructuredGridFilter.h" 00066 00067 class vtkImplicitFunction; 00068 00069 class vtkPointLocator; 00070 00071 class VTK_GRAPHICS_EXPORT vtkClipDataSet : public vtkDataSetToUnstructuredGridFilter 00072 { 00073 public: 00074 vtkTypeRevisionMacro(vtkClipDataSet,vtkDataSetToUnstructuredGridFilter); 00075 void PrintSelf(ostream& os, vtkIndent indent); 00076 00079 static vtkClipDataSet *New(); 00080 00082 00085 vtkSetMacro(Value,double); 00086 vtkGetMacro(Value,double); 00088 00090 00095 vtkSetMacro(InsideOut,int); 00096 vtkGetMacro(InsideOut,int); 00097 vtkBooleanMacro(InsideOut,int); 00099 00101 00104 virtual void SetClipFunction(vtkImplicitFunction*); 00105 vtkGetObjectMacro(ClipFunction,vtkImplicitFunction); 00107 00109 00113 vtkSetMacro(GenerateClipScalars,int); 00114 vtkGetMacro(GenerateClipScalars,int); 00115 vtkBooleanMacro(GenerateClipScalars,int); 00117 00119 00121 vtkSetMacro(GenerateClippedOutput,int); 00122 vtkGetMacro(GenerateClippedOutput,int); 00123 vtkBooleanMacro(GenerateClippedOutput,int); 00125 00127 00131 vtkSetClampMacro(MergeTolerance,double,0.0001,0.25); 00132 vtkGetMacro(MergeTolerance,double); 00134 00136 00137 vtkUnstructuredGrid *GetClippedOutput(); 00138 virtual int GetNumberOfOutputs(); 00140 00142 00144 void SetLocator(vtkPointLocator *locator); 00145 vtkGetObjectMacro(Locator,vtkPointLocator); 00147 00150 void CreateDefaultLocator(); 00151 00153 unsigned long GetMTime(); 00154 00156 00158 vtkGetStringMacro(InputScalarsSelection); 00159 void SelectInputScalars(const char *fieldName) 00160 {this->SetInputScalarsSelection(fieldName);} 00162 00163 protected: 00164 vtkClipDataSet(vtkImplicitFunction *cf=NULL); 00165 ~vtkClipDataSet(); 00166 00167 void Execute(); 00168 vtkImplicitFunction *ClipFunction; 00169 00170 vtkPointLocator *Locator; 00171 int InsideOut; 00172 double Value; 00173 int GenerateClipScalars; 00174 00175 int GenerateClippedOutput; 00176 double MergeTolerance; 00177 00178 char *InputScalarsSelection; 00179 vtkSetStringMacro(InputScalarsSelection); 00180 00181 //helper functions 00182 void ClipVolume(); 00183 00184 private: 00185 vtkClipDataSet(const vtkClipDataSet&); // Not implemented. 00186 void operator=(const vtkClipDataSet&); // Not implemented. 00187 }; 00188 00189 #endif