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

dox/Imaging/vtkSampleFunction.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkSampleFunction.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 =========================================================================*/ 00035 #ifndef __vtkSampleFunction_h 00036 #define __vtkSampleFunction_h 00037 00038 #include "vtkImageSource.h" 00039 00040 class vtkImplicitFunction; 00041 class vtkDataArray; 00042 00043 class VTK_IMAGING_EXPORT vtkSampleFunction : public vtkImageSource 00044 { 00045 public: 00046 vtkTypeRevisionMacro(vtkSampleFunction,vtkImageSource); 00047 void PrintSelf(ostream& os, vtkIndent indent); 00048 00052 static vtkSampleFunction *New(); 00053 00055 00056 virtual void SetImplicitFunction(vtkImplicitFunction*); 00057 vtkGetObjectMacro(ImplicitFunction,vtkImplicitFunction); 00059 00061 00062 vtkSetMacro(OutputScalarType,int); 00063 vtkGetMacro(OutputScalarType,int); 00064 void SetOutputScalarTypeToDouble() 00065 {this->SetOutputScalarType(VTK_DOUBLE);} 00066 void SetOutputScalarTypeToFloat() 00067 {this->SetOutputScalarType(VTK_FLOAT);} 00068 void SetOutputScalarTypeToLong() 00069 {this->SetOutputScalarType(VTK_LONG);} 00070 void SetOutputScalarTypeToUnsignedLong() 00071 {this->SetOutputScalarType(VTK_UNSIGNED_LONG);}; 00072 void SetOutputScalarTypeToInt() 00073 {this->SetOutputScalarType(VTK_INT);} 00074 void SetOutputScalarTypeToUnsignedInt() 00075 {this->SetOutputScalarType(VTK_UNSIGNED_INT);} 00076 void SetOutputScalarTypeToShort() 00077 {this->SetOutputScalarType(VTK_SHORT);} 00078 void SetOutputScalarTypeToUnsignedShort() 00079 {this->SetOutputScalarType(VTK_UNSIGNED_SHORT);} 00080 void SetOutputScalarTypeToChar() 00081 {this->SetOutputScalarType(VTK_CHAR);} 00082 void SetOutputScalarTypeToUnsignedChar() 00083 {this->SetOutputScalarType(VTK_UNSIGNED_CHAR);} 00085 00089 virtual void SetScalars(vtkDataArray *da); 00090 00092 void SetSampleDimensions(int i, int j, int k); 00093 00095 00096 void SetSampleDimensions(int dim[3]); 00097 vtkGetVectorMacro(SampleDimensions,int,3); 00099 00101 00103 vtkSetVector6Macro(ModelBounds,double); 00104 vtkGetVectorMacro(ModelBounds,double,6); 00106 00108 00111 vtkSetMacro(Capping,int); 00112 vtkGetMacro(Capping,int); 00113 vtkBooleanMacro(Capping,int); 00115 00117 00118 vtkSetMacro(CapValue,double); 00119 vtkGetMacro(CapValue,double); 00121 00123 00124 vtkSetMacro(ComputeNormals,int); 00125 vtkGetMacro(ComputeNormals,int); 00126 vtkBooleanMacro(ComputeNormals,int); 00128 00130 unsigned long GetMTime(); 00131 00132 protected: 00133 vtkSampleFunction(); 00134 ~vtkSampleFunction(); 00135 00136 void ExecuteData(vtkDataObject *); 00137 void ExecuteInformation(); 00138 void Cap(vtkDataArray *s); 00139 00140 int OutputScalarType; 00141 int SampleDimensions[3]; 00142 double ModelBounds[6]; 00143 int Capping; 00144 double CapValue; 00145 vtkImplicitFunction *ImplicitFunction; 00146 int ComputeNormals; 00147 private: 00148 vtkSampleFunction(const vtkSampleFunction&); // Not implemented. 00149 void operator=(const vtkSampleFunction&); // Not implemented. 00150 }; 00151 00152 #endif 00153 00154