50 #ifndef vtkImplicitFunction_h
51 #define vtkImplicitFunction_h
53 #include "vtkCommonDataModelModule.h"
78 double FunctionValue(const
double x[3]);
79 double FunctionValue(
double x,
double y,
double z) {
80 double xyz[3] = {x, y, z};
return this->FunctionValue(xyz); };
88 void FunctionGradient(
const double x[3],
double g[3]);
90 this->FunctionGradient(x,this->ReturnValue);
91 return this->ReturnValue; };
93 double xyz[3] = {x, y, z};
return this->FunctionGradient(xyz); };
102 virtual void SetTransform(
const double elements[16]);
113 virtual double EvaluateFunction(
double x[3]) = 0;
116 double xyz[3] = {x, y, z};
return this->EvaluateFunction(xyz); };
125 virtual void EvaluateGradient(
double x[3],
double g[3]) = 0;
132 double ReturnValue[3];
abstract interface for implicit functions
double * FunctionGradient(double x, double y, double z)
Evaluate function gradient at position x-y-z and pass back vector.
abstract base class for most VTK objects
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkTypeUInt32 vtkMTimeType
double * FunctionGradient(const double x[3])
Evaluate function gradient at position x-y-z and pass back vector.
a simple class to control print indentation
abstract superclass for arrays of numeric data
virtual vtkMTimeType GetMTime()
Return this object's modified time.
virtual double EvaluateFunction(double x, double y, double z)
Evaluate function at position x-y-z and return value.