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 r^3+17/9 r^2-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.