Blob 1.0
Public Member Functions | List of all members
BlendAnalytic Class Referenceabstract

Falloff functions with an analytic polynomial representation. More...

#include <blend.h>

Inheritance diagram for BlendAnalytic:
BlendCompact BlendCubic BlendQuadric BlendQuartic BlendWyvill

Public Member Functions

 BlendAnalytic ()
 Empty.
 
 BlendAnalytic (const double &, const double &)
 Stores the radius of influence and the strength (maximum intensity). More...
 
virtual ~BlendAnalytic ()
 Empty.
 
virtual BlendAnalyticCopy () const =0
 Creates a deep copy of the falloff function.
 
virtual void Analytic (const Quadric &, Polynomial &) const =0
 Compute the closed form expression of the field along the ray.
 
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...
 
- 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.
 
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.
 
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 int Memory () const
 Compute the size of a falloff node.
 

Additional Inherited Members

- 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.
 

Detailed Description

Falloff functions with an analytic polynomial representation.

Constructor & Destructor Documentation

◆ BlendAnalytic()

BlendAnalytic::BlendAnalytic ( const double &  r,
const double &  s 
)

Stores the radius of influence and the strength (maximum intensity).

Parameters
rRadius.
sStrength.

Member Function Documentation

◆ Alpha()

void BlendAnalytic::Alpha ( const double &  t)
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 BlendCompact.

Reimplemented in BlendQuadric, BlendCubic, and BlendQuartic.

◆ Scale()

void BlendAnalytic::Scale ( const double &  t)
virtual

Scales the radius if the blending function.

This function scales the internal radius, as well as the Lipschitz constant.

Reimplemented from BlendCompact.

Reimplemented in BlendQuadric, BlendCubic, and BlendQuartic.