Hyper sphere primitive.
More...
#include <sdf.h>
|
| SDFHyperSphere (const Vector &, double, double) |
| Create a hyper-sphere scalar field. More...
|
|
| SDFHyperSphere (const Sphere &, double) |
| Create a hyper-sphere scalar field. More...
|
|
virtual | ~SDFHyperSphere () |
| Destructor.
|
|
double | Signed (const Vector &) const |
| Compute the signed distance function. More...
|
|
int | Memory () const |
| Return the size of a sub-tree. More...
|
|
virtual SDFNode * | Copy () const |
| Deep copy.
|
|
| SDFPrimitive () |
| Create a primitive.
|
|
virtual | ~SDFPrimitive () |
| Destructor.
|
|
| 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...
|
|
virtual double | K (const Box &) const |
| Return the local Lipschitz constant. More...
|
|
Box | GetBox () const |
| Return the bounding box of the node.
|
|
virtual int | Nodes () const |
| Compute the number of nodes in the sub-tree.
|
|
|
double | e |
| Exponent.
|
|
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.
|
|
Hyper sphere primitive.
The Lipschitz constant is K=1 if the e>2, otherwise K=31/e-1/2.
- See also
- Sphere, SDFHyperEdge, SDFHyperDisc
◆ SDFHyperSphere() [1/2]
SDFHyperSphere::SDFHyperSphere |
( |
const Vector & |
c, |
|
|
double |
r, |
|
|
double |
e |
|
) |
| |
|
explicit |
Create a hyper-sphere scalar field.
- See also
- SDFSphere, SDFHyperEdge
- Parameters
-
c | Center. |
r | Radius. |
e | Exponent, should be > 1. |
◆ SDFHyperSphere() [2/2]
SDFHyperSphere::SDFHyperSphere |
( |
const Sphere & |
s, |
|
|
double |
e |
|
) |
| |
|
explicit |
Create a hyper-sphere scalar field.
- Parameters
-
s | Sphere. |
e | Exponent, should be >1. |
◆ Memory()
int SDFHyperSphere::Memory |
( |
| ) |
const |
|
virtual |
Return the size of a sub-tree.
Reimplemented from SDFNode.
◆ Signed()
double SDFHyperSphere::Signed |
( |
const Vector & |
p | ) |
const |
|
virtual |
Compute the signed distance function.
By default compute the signed distance to the bounding box of the primitive.
- Parameters
-
Reimplemented from SDFPrimitive.