|
| SDFNode () |
| Create a generic node.
|
|
virtual | ~SDFNode () |
| Destructor.
|
|
virtual double | Signed (const Vector &) const |
| Compute the signed distance. More...
|
|
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 int | Memory () const |
| Return the size of a sub-tree.
|
|
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.
|
|
|
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.
|
|
Base signed distance node.
double SDFNode::Signed |
( |
const Vector & |
p | ) |
const |
|
virtual |
Compute the signed distance.
- Parameters
-
Reimplemented in SDFPrimitive, SDFEuclidean, SDFSphere, SDFRotational, SDFSegment, SDFBubble, SDFDisc, SDFLink, SDFHemiSphere, SDFCapsule, SDFTorus, SDFCircleArc, SDFPlane, SDFSlab, SDFCylinder, SDFQuadricCylinder, SDFCone, SDFTetra, SDFRectangle, SDFTubular, SDFVirtualHeightField, SDFHeightField, SDFBox, SDFHyperSphere, SDFHyperEllipsoid, SDFHyperEdge, SDFHyperDisc, SDFCage, SDFCylinderCage, SDFSphereCage, SDFOctahedron, SDFPyramid, SDFEgg, SDFConvex, SDFIcosahedron, SDFIcosidodecahedron, SDFCuboctahedron, SDFConvexSmooth, SDFQuadricCurve, SDFQuadricSweptSphere, SDFQuadricTube, SDFCubicCurve, SDFDodecahedron, SDFSphereNoiseRadial, SDFSegmentNoiseRadial, SDFEllipsoid, SDFVoronoi, SDFDifference, SDFSmoothDifference, SDFUnion, SDFContact, SDFUnionR, SDFSmoothUnion, SDFSmoothUnionSphereLOD, SDFIntersection, SDFSmoothIntersection, SDFUnary, SDFBlob, SDFBoundingBox, SDFBoundingSphere, SDFRound, SDFTaper, SDFTwist, SDFScale, SDFUniformScale, SDFRotate, SDFTranslate, SDFFrame, SDFPlanarSymmetry, SDFVoxelize, SDFTriplanar, SDFNoise, SDFTurbulence, SDFWarpTurbulence, SDFAddSphere, SDFLodSphere, SDFClone, SDFCloneRevolution, SDFPolygonExtruded, SDFExtrudedEllipse, SDFHexagonal, SDFVoxel, SDFVolume, SDFSorQuadricTube, SDFExtrusionAxis, SDFRevolution, SDFExtrusionInterpolation, SDFExtrusionNoise, SDFExtrusionCurve, SDFExtrusionCubicCurve, SDFMesh, SDFMeshClamped, and SDFCylinderNoise.
double SDFNode::SmoothingExp |
( |
double |
a, |
|
|
double |
b, |
|
|
double |
s |
|
) |
| |
|
inlinestatic |
Generalized exponential smoothing function between two distances.
Union: SmoothingExp(a, b, smooth); Inter: -SmoothingExp(-a, -b, smooth); Diffe: SmoothingExp(-d1, d2, smooth);
The function is associative.
- Parameters
-
a,b | Distances. |
s | Smoothing radius. |
double SDFNode::SmoothingPolynomial |
( |
double |
a, |
|
|
double |
b, |
|
|
double |
sr |
|
) |
| |
|
inlinestatic |
Generalized C1 polynomial smoothing function between two distances.
This is a general version of the union, intersection and difference function of Media Molecule using in the Dreams video game. Union: SmoothingPolynomial(a, b, smooth); Inter: -SmoothingPolynomial(-a, -b, smooth); Diffe: SmoothingPolynomial(-d1, d2, smooth);
The function is not associative.
- Parameters
-
a,b | Distances. |
sr | Smoothing radius. |
double SDFNode::SmoothingPolynomialCubic |
( |
double |
a, |
|
|
double |
b, |
|
|
double |
sr |
|
) |
| |
|
inlinestatic |
Generalized C2 polynomial smoothing function between two distances.
This is a general version of the union, intersection and difference function of Media Molecule using in the video game Dreams. Union: SmoothingPolynomialCubic(a, b, smooth); Inter: -SmoothingPolynomialCubic(-a, -b, smooth); Diffe: SmoothingPolynomialCubic(-d1, d2, smooth);
The function is not associative.
- Parameters
-
a,b | Distances. |
sr | Smoothing radius. |
double SDFNode::SmoothingQuilez |
( |
double |
a, |
|
|
double |
b, |
|
|
double |
sr |
|
) |
| |
|
inlinestatic |
Generalized polynomial smoothing function between two distances.
This is a general version of the union, intersection and difference function of Inigo Quilez. Union: SmoothingQuilez(a, b, smooth); Inter: -SmoothingQuilez(-a, -b, smooth); Diffe: SmoothingQuilez(-d1, d2, smooth);
The function is not associative.
- Parameters
-
a,b | Distances. |
sr | Smoothing radius. |