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

Planar symmetry operator. More...

#include <sdf.h>

Inheritance diagram for SDFPlanarSymmetry2:
SDFUnary2 Axis2 SDFNode2

Public Member Functions

 SDFPlanarSymmetry2 (SDFNode2 *, const Vector2 &, const Vector2 &, bool=false)
 Create a planar symmetry node. More...
 
double Signed (const Vector2 &) const
 Compute the signed distance function. More...
 
int Memory () const
 Compute the memory used by this node.
 
virtual SDFNode2Copy () const
 Deep copy.
 
- Public Member Functions inherited from SDFUnary2
 SDFUnary2 (SDFNode2 *)
 Create an unary planar node. More...
 
virtual ~SDFUnary2 ()
 Destroy the sub-tree.
 
virtual double K () const
 Return the Lipschitz constant of the node. More...
 
virtual 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.
 
Box2 GetBox () const
 Return the bounding box of the node.
 

Protected Attributes

bool alone
 To compute the symmetric alone or not.
 
- Protected Attributes inherited from SDFUnary2
SDFNode2e = nullptr
 Sub-tree.
 
- 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

Planar symmetry operator.

Author
Lucie Fournier

Constructor & Destructor Documentation

◆ SDFPlanarSymmetry2()

SDFPlanarSymmetry2::SDFPlanarSymmetry2 ( SDFNode2 n,
const Vector2 a,
const Vector2 b,
bool  alone = false 
)
explicit

Create a planar symmetry node.

Parameters
nSub-tree.
a,bPoints defining the symmetry axis.
aloneFlag indicating whether the object is symmetrically replicated (true) or only mirrored (false).

Member Function Documentation

◆ Signed()

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

Compute the signed distance function.

This operator preserves the Euclidean distance.

Parameters
pPoint.

Reimplemented from SDFUnary2.