Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages
Filtering/vtkImplicitSum.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00070 #ifndef __vtkImplicitSum_h
00071 #define __vtkImplicitSum_h
00072
00073 #include "vtkImplicitFunction.h"
00074
00075 class vtkFloatArray;
00076 class vtkImplicitFunctionCollection;
00077
00078 class VTK_FILTERING_EXPORT vtkImplicitSum : public vtkImplicitFunction
00079 {
00080 public:
00081 static vtkImplicitSum *New();
00082
00083 vtkTypeRevisionMacro(vtkImplicitSum,vtkImplicitFunction);
00084 void PrintSelf(ostream& os, vtkIndent indent);
00085
00087
00088 float EvaluateFunction(float x[3]);
00089 float EvaluateFunction(float x, float y, float z)
00090 {return this->vtkImplicitFunction::EvaluateFunction(x, y, z); } ;
00092
00095 void EvaluateGradient(float x[3], float g[3]);
00096
00098 unsigned long GetMTime();
00099
00102 void AddFunction(vtkImplicitFunction *in, float weight);
00103
00106 void AddFunction(vtkImplicitFunction *in) { this->AddFunction(in, 1.0); }
00107
00109 void RemoveAllFunctions();
00110
00112 void SetFunctionWeight(vtkImplicitFunction *f, float weight);
00113
00115
00120 vtkSetMacro(NormalizeByWeight, int);
00121 vtkGetMacro(NormalizeByWeight, int);
00122 vtkBooleanMacro(NormalizeByWeight, int);
00124
00125 protected:
00126 vtkImplicitSum();
00127 ~vtkImplicitSum();
00128
00129 vtkImplicitFunctionCollection *FunctionList;
00130 vtkFloatArray *Weights;
00131 float TotalWeight;
00132
00133 void CalculateTotalWeight(void);
00134 int NormalizeByWeight;
00135
00136 private:
00137 vtkImplicitSum(const vtkImplicitSum&);
00138 void operator=(const vtkImplicitSum&);
00139 };
00140
00141 #endif