26#ifndef vtkImplicitSum_h
27#define vtkImplicitSum_h
29#include "vtkCommonDataModelModule.h"
dynamic, self-adjusting array of double
maintain a list of implicit functions
abstract interface for implicit functions
virtual double EvaluateFunction(double x[3])=0
Evaluate function at position x-y-z and return value.
implicit sum of other implicit functions
static vtkImplicitSum * New()
void AddFunction(vtkImplicitFunction *in, double weight)
Add another implicit function to the list of functions, along with a weighting factor.
void AddFunction(vtkImplicitFunction *in)
Add another implicit function to the list of functions, weighting it by a factor of 1.
void CalculateTotalWeight(void)
void SetFunctionWeight(vtkImplicitFunction *f, double weight)
Set the weight (coefficient) of the given function to be weight.
void RemoveAllFunctions()
Remove all functions from the list.
double EvaluateFunction(double x[3]) override
Evaluate implicit function using current functions and weights.
vtkMTimeType GetMTime() override
Override modified time retrieval because of object dependencies.
~vtkImplicitSum() override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkImplicitFunctionCollection * FunctionList
void EvaluateGradient(double x[3], double g[3]) override
Evaluate gradient of the weighted sum of functions.
vtkTypeBool NormalizeByWeight
a simple class to control print indentation
vtkTypeUInt32 vtkMTimeType