Signed Distance Fields 1.0
|
Convex polyhedra. More...
#include <sdf.h>
Public Member Functions | |
SDFConvex (const Box &) | |
Create a convex primitive from a box. More... | |
SDFConvex (const Dodecahedron &) | |
Create a convex from a dodecahedron. More... | |
SDFConvex (const Tetrahedra &) | |
Create a convex from a tetrahedron. More... | |
SDFConvex (const Octahedron &) | |
Create a convex from an octahedron. More... | |
SDFConvex (const Icosahedron &) | |
Create a convex from an icosahedron. More... | |
SDFConvex (const Icosidodecahedron &) | |
Create a convex primitive from an icosidodecahedron. More... | |
SDFConvex (const QVector< Plane > &) | |
Create a convex primitive from a set of planes. More... | |
SDFConvex (const QVector< Plane > &, const Box &) | |
Create a convex primitive from a set of planes, and a bounding box already computed. More... | |
virtual | ~SDFConvex () |
Destructor. | |
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. | |
Public Member Functions inherited from SDFPrimitive | |
SDFPrimitive () | |
Create a primitive. | |
virtual | ~SDFPrimitive () |
Destructor. | |
Public Member Functions inherited from SDFNode | |
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. | |
Protected Attributes | |
QVector< Plane > | planes |
Set of intersecting planes. | |
Protected Attributes inherited from SDFNode | |
Box | box |
Box bounding the surface. | |
double | k |
Lipschitz constant. | |
Additional Inherited Members | |
Static Public Member Functions inherited from SDFNode | |
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 Protected Attributes inherited from SDFNode | |
static constexpr double | Epsilon = 0.01 |
Small constant used for bounding volumes. | |
Convex polyhedra.
The signed distance function is defined as the maximum signed distance to planes.
|
explicit |
Create a convex primitive from a box.
b | The box. |
|
explicit |
Create a convex from a dodecahedron.
dodeca | Dodecahedron. |
|
explicit |
Create a convex from a tetrahedron.
tetra | Tetrahedron. |
|
explicit |
|
explicit |
Create a convex from an icosahedron.
icosa | Icosahedron. |
|
explicit |
Create a convex primitive from an icosidodecahedron.
icosi | Icosidodecahedron. |
|
explicit |
Create a convex primitive from a set of planes.
p | Set of planes. |
Create a convex primitive from a set of planes, and a bounding box already computed.
This constructor avoids the O(n4) computation of the bounding box of the other constructor.
p | Set of planes. |
bbox | Bounding box. |
|
virtual |
|
virtual |
Compute the signed distance.
p | Point. |
Signed distance is defined and computed as the maximum (intersection) of the signed distance field values from the planes.
Reimplemented from SDFPrimitive.
Reimplemented in SDFConvexSmooth.