Smooth union operator.
More...
#include <sdf.h>
|
| SDFSmoothUnion (SDFNode *, SDFNode *, const double &) |
| Create a smooth union. More...
|
|
| SDFSmoothUnion (SDFNode *, SDFNode *, SDFNode *, const double &) |
| Create a smooth union. More...
|
|
| SDFSmoothUnion (SDFNode *, SDFNode *, SDFNode *, SDFNode *, const double &) |
| Create a smooth union. More...
|
|
double | Signed (const Vector &) const |
| Compute the signed distance. More...
|
|
int | Memory () const |
| Return the size of a sub-tree. More...
|
|
virtual SDFNode * | Copy () const |
| Deep copy.
|
|
| SDFBinary (SDFNode *, SDFNode *) |
| Create a binary node. More...
|
|
virtual | ~SDFBinary () |
| Recursively destroy the sub-trees.
|
|
virtual double | K (const Box &) const |
| Return the local Lipschitz constant. More...
|
|
int | Nodes () const |
| Compute the number of nodes in the sub-tree. More...
|
|
| SDFNode () |
| Create a generic node.
|
|
virtual | ~SDFNode () |
| Destructor.
|
|
virtual Vector | Gradient (const Vector &) const |
| Compute the gradient of the field. More...
|
|
virtual bool | Inside (const Vector &) const |
| Check if a point is inside or outside. More...
|
|
virtual double | K () const |
| Return the Lipschitz constant of the node. More...
|
|
Box | GetBox () const |
| Return the bounding box of the node.
|
|
|
double | smooth |
| Smoothing distance.
|
|
SDFNode * | e [2] = { nullptr,nullptr } |
| Sub-trees.
|
|
Box | box |
| Box bounding the surface.
|
|
double | k |
| Lipschitz constant.
|
|
|
static double | SmoothingPolynomialCubic (double d1, double d2, double sr) |
| Generalized C2 polynomial smoothing function between two distances. More...
|
|
static double | SmoothingPolynomial (double d1, double d2, double sr) |
| Generalized C1 polynomial smoothing function between two distances. More...
|
|
static double | SmoothingQuilez (double d1, double d2, double sr) |
| Generalized polynomial smoothing function between two distances. More...
|
|
static double | SmoothingExp (double d1, double d2, double sr) |
| Generalized exponential smoothing function between two distances. More...
|
|
static SDFNode * | Stalactite (const Vector &p, const double &h, const double &r, bool noise=true, Random &random=Random::R239, const double &largeur=0.25, const double &espacement=0.61) |
| Procedural parameterized stalactite. More...
|
|
static SDFNode * | SpherePieces () |
| Sphere carved, placed on a cylinder. Nice scene for testing sharp features reconstruction.
|
|
static constexpr double | Epsilon = 0.01 |
| Small constant used for bounding volumes.
|
|
◆ SDFSmoothUnion() [1/3]
SDFSmoothUnion::SDFSmoothUnion |
( |
SDFNode * |
a, |
|
|
SDFNode * |
b, |
|
|
const double & |
s |
|
) |
| |
|
explicit |
Create a smooth union.
Resembles the blending operator of the BlobTree.
- Parameters
-
a,b | Sub-trees. |
s | Smoothing distance. |
◆ SDFSmoothUnion() [2/3]
Create a smooth union.
- Parameters
-
a,b,c | Sub-trees. |
s | Smoothing distance. |
◆ SDFSmoothUnion() [3/3]
Create a smooth union.
- Parameters
-
a,b,c,d | Sub-trees. |
s | Smoothing distance. |
◆ Memory()
int SDFSmoothUnion::Memory |
( |
| ) |
const |
|
virtual |
Return the size of a sub-tree.
Reimplemented from SDFNode.
◆ Signed()
double SDFSmoothUnion::Signed |
( |
const Vector & |
p | ) |
const |
|
virtual |
Compute the signed distance.
- Parameters
-
Reimplemented from SDFNode.