Signed Distance Fields 1.0
Public Member Functions | Protected Attributes | List of all members
SDFSmoothUnion2 Class Reference

Smooth union 2 operator. More...

#include <sdf.h>

Inheritance diagram for SDFSmoothUnion2:
SDFBinary2 SDFNode2

Public Member Functions

 SDFSmoothUnion2 (SDFNode2 *, SDFNode2 *, const double &)
 Create a smooth union. More...
 
 SDFSmoothUnion2 (SDFNode2 *, SDFNode2 *, SDFNode2 *, const double &)
 Create a smooth union. More...
 
 SDFSmoothUnion2 (SDFNode2 *, SDFNode2 *, SDFNode2 *, SDFNode2 *, const double &)
 Create a smooth union. More...
 
double Signed (const Vector2 &) const
 Compute the signed distance. More...
 
int Memory () const
 Return the size of a sub-tree. More...
 
virtual SDFNode2Copy () const
 Deep copy.
 
- Public Member Functions inherited from SDFBinary2
 SDFBinary2 (SDFNode2 *, SDFNode2 *)
 Sub-trees. More...
 
virtual ~SDFBinary2 ()
 Recursively destroy the sub-trees.
 
int Nodes () const
 Compute the number of nodes in the sub-tree. More...
 
- Public Member Functions inherited from SDFNode2
 SDFNode2 ()
 Create a generic node. More...
 
virtual ~SDFNode2 ()
 Destructor.
 
virtual double K () const
 Return the Lipschitz constant of the node. More...
 
Box2 GetBox () const
 Return the bounding box of the node.
 

Protected Attributes

double smooth
 Smoothing distance.
 
- Protected Attributes inherited from SDFNode2
Box2 box
 Box bounding the surface.
 
double k
 Lipschitz constant.
 

Additional Inherited Members

- Static Protected Attributes inherited from SDFNode2
static constexpr double Epsilon = 0.01
 Small constant used for bounding volumes.
 

Detailed Description

Smooth union 2 operator.

Author
Lucie Fournier

Constructor & Destructor Documentation

◆ SDFSmoothUnion2() [1/3]

SDFSmoothUnion2::SDFSmoothUnion2 ( SDFNode2 a,
SDFNode2 b,
const double &  s 
)
explicit

Create a smooth union.

Resembles the blending operator of the BlobTree.

Parameters
a,bSub-trees.
sSmoothing distance.

◆ SDFSmoothUnion2() [2/3]

SDFSmoothUnion2::SDFSmoothUnion2 ( SDFNode2 a,
SDFNode2 b,
SDFNode2 c,
const double &  s 
)
explicit

Create a smooth union.

Parameters
a,b,cSub-trees.
sSmoothing distance.

◆ SDFSmoothUnion2() [3/3]

SDFSmoothUnion2::SDFSmoothUnion2 ( SDFNode2 a,
SDFNode2 b,
SDFNode2 c,
SDFNode2 d,
const double &  s 
)
explicit

Create a smooth union.

Parameters
a,b,c,dSub-trees.
sSmoothing distance.

Member Function Documentation

◆ Memory()

int SDFSmoothUnion2::Memory ( ) const
virtual

Return the size of a sub-tree.

Reimplemented from SDFNode2.

◆ Signed()

double SDFSmoothUnion2::Signed ( const Vector2 p) const
virtual

Compute the signed distance.

Parameters
pPoint.

Reimplemented from SDFNode2.