Blob 1.0
|
Quartic polynomial potential function. More...
#include <blend.h>
Public Member Functions | |
BlendQuartic (const double &, const double &=1.0) | |
Creates a quartic polynomial potential function. More... | |
virtual | ~BlendQuartic () |
Empty. | |
virtual double | Eval (const double &) const |
Computes the blending function intensity given a squared distance value. | |
virtual double | Gradient (const double &) const |
Computes the first derivative of the blending function given a squared distance value. | |
virtual void | Scale (const double &) |
Scales the radius if the blending function. More... | |
virtual void | Alpha (const double &) |
Scales the maximum intensity of the blending function. More... | |
virtual BlendQuartic * | Copy () const |
Deep copy. | |
double | Radius (const double &) const |
Computes the radius of the blend given a threshold value. More... | |
void | Analytic (const Quadric &, Polynomial &) const |
Compute the closed form expression of the field along the ray. More... | |
Public Member Functions inherited from BlendAnalytic | |
BlendAnalytic () | |
Empty. | |
BlendAnalytic (const double &, const double &) | |
Stores the radius of influence and the strength (maximum intensity). More... | |
virtual | ~BlendAnalytic () |
Empty. | |
Public Member Functions inherited from BlendCompact | |
BlendCompact () | |
Empty. | |
BlendCompact (const double &, const double &) | |
Stores the radius of influence and the strength (maximum intensity). More... | |
virtual | ~BlendCompact () |
Empty. | |
double | R () const |
Returns the radius of the blend. | |
double | I () const |
Returns the strength (maximum intensity) of the blend. | |
virtual double | K () const |
Returns the Lipschitz constant. | |
virtual double | K (const double &, const double &) const |
Returns the Lipschitz constant of the blend. | |
virtual int | Memory () const |
Compute the size of a falloff node. | |
Protected Attributes | |
Quartic | blend |
Quartic blending function. | |
Protected Attributes inherited from BlendCompact | |
double | r [2] = { 1.0,1.0 } |
Radius and squared radius. | |
double | strength = 1.0 |
Strength, i.e., maximum intensity. | |
double | k = 1.0 |
Lipschitz constant. | |
Quartic polynomial potential function.
g(r)=(1-r2)4.
The Lipschitz constants are computed and stored internally.
|
explicit |
Creates a quartic polynomial potential function.
r | Radius. |
s | Strength. |
|
virtual |
Scales the maximum intensity of the blending function.
This function scales the internal strength parameter of the blending function radius, as well as the Lipschitz constant.
Reimplemented from BlendAnalytic.
|
virtual |
Compute the closed form expression of the field along the ray.
Simply plug-in the quadric equation of the distance along the ray into the equation of the blending function.
r | Equation of the squared distance to the skeleton. |
p | Closed form expression of the field along the ray. |
Implements BlendAnalytic.
|
virtual |
Computes the radius of the blend given a threshold value.
This function uses the closed form expression of the quadric, cubic or quartic blending function to compute the root of the equation.
T | Threshold value |
Reimplemented from BlendCompact.
|
virtual |
Scales the radius if the blending function.
This function scales the internal radius, as well as the Lipschitz constant.
Reimplemented from BlendAnalytic.