Blob 1.0
|
Falloff functions with a compact support. More...
#include <blend.h>
Public Member Functions | |
BlendCompact () | |
Empty. | |
BlendCompact (const double &, const double &) | |
Stores the radius of influence and the strength (maximum intensity). More... | |
virtual | ~BlendCompact () |
Empty. | |
virtual double | Eval (const double &) const =0 |
Evaluate falloff function. | |
virtual double | Gradient (const double &) const =0 |
Evaluate the first derivative of the falloff function. | |
virtual BlendCompact * | Copy () const =0 |
Creates a deep copy of the falloff function. | |
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 double | Radius (const double &) const |
Computes the radius of the blending function given a threshold value. More... | |
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 int | Memory () const |
Compute the size of a falloff node. | |
Protected Attributes | |
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. | |
Falloff functions with a compact support.
Those potential functions are characterized by a radius of influence and the maximum intensity of the potential function.
BlendCompact::BlendCompact | ( | const double & | r, |
const double & | s | ||
) |
Stores the radius of influence and the strength (maximum intensity).
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.
s | Intensity scaling factor. |
Reimplemented in BlendAnalytic, BlendQuadric, BlendCubic, and BlendQuartic.
|
virtual |
Computes the radius of the blending function given a threshold value.
This function implements a binary search to converge to the root.
T | Threshold value. |
Reimplemented in BlendQuadric, BlendCubic, and BlendQuartic.
|
virtual |
Scales the radius if the blending function.
This function scales the internal radius, as well as the Lipschitz constant.
s | Radius scaling factor. |
Reimplemented in BlendAnalytic, BlendQuadric, BlendCubic, and BlendQuartic.