Blob 1.0
BlendWyvill Class Reference

Wyvill's cubic falloff function. More...

#include <blend.h>

Inheritance diagram for BlendWyvill:
BlendCubic BlendCompact

Public Member Functions

 BlendWyvill (const double &, const double &=1.0)
 Creates Wyvill's cubic falloff function.
 
virtual ~BlendWyvill ()
 Empty.
 
virtual BlendWyvillCopy () const
 Deep copy.
 
virtual double Eval (const double &) const
 Computes the falloff function value.
 
virtual double Gradient (const double &) const
 Computes the first derivative of the falloff function.
 
- Public Member Functions inherited from BlendCubic
 BlendCubic (const double &, const double &=1.0)
 Creates a cubic polynomial potential function.
 
virtual double K (const double &, const double &) const
 Returns the Lipschitz constant of the blend.
 
double Radius (const double &) const
 Computes the radius of the blend given a threshold value.
 
void Analytic (const Quadric &, Polynomial &) const
 Compute the closed form expression of the field along the ray.
 
virtual double K () const
 Returns the Lipschitz constant.
 
- Public Member Functions inherited from BlendCompact
 BlendCompact ()
 Empty.
 
 BlendCompact (const double &, const double &)
 Stores the radius of influence and the strength (maximum intensity).
 
virtual ~BlendCompact ()
 Empty.
 
double R () const
 Returns the radius of the blend.
 
double I () const
 Returns the strength (maximum intensity) of the blend.
 
virtual void Scale (const double &)
 Scales the radius if the blending function.
 
virtual void Alpha (const double &)
 Scales the maximum intensity of the blending function.
 
virtual int Memory () const
 Compute the size of a falloff node.
 

Protected Member Functions

Cubic GetPoly () const
 Compute the cubic polynomial.
 
- Protected Member Functions inherited from BlendCubic
Cubic GetPoly () const
 Compute the cubic polynomial.
 

Additional Inherited Members

- Protected Attributes inherited from BlendCompact
double r = 1.0
 Radius.
 
double strength = 1.0
 Strength, i.e., maximum intensity.
 
double k = 1.0
 Lipschitz constant.
 

Detailed Description

Wyvill's cubic falloff function.

The cubic is defined as p(r)=-4/9 r3+17/9 r2-22/9 r+1.

Constructor & Destructor Documentation

◆ BlendWyvill()

BlendWyvill::BlendWyvill ( const double & r,
const double & s = 1.0 )
explicit

Creates Wyvill's cubic falloff function.

Parameters
rRadius.
sStrength.

Member Function Documentation

◆ Eval()

double BlendWyvill::Eval ( const double & u) const
virtual

Computes the falloff function value.

Parameters
uSquared distance.

Reimplemented from BlendCubic.

◆ Gradient()

double BlendWyvill::Gradient ( const double & u) const
virtual

Computes the first derivative of the falloff function.

Parameters
uSquared distance.

Reimplemented from BlendCubic.