|
Signed Distance Fields 1.0
|
Generic primitives. , ,. More...
#include <sdf.h>
Public Member Functions | |
| SDFEuclidean2 () | |
| Create an Euclidean primitive. | |
| virtual | ~SDFEuclidean2 () |
| Destructor. | |
| virtual double | Signed (const Vector2 &) const |
| Compute the signed Euclidean distance function. | |
Public Member Functions inherited from SDFPrimitive2 | |
| SDFPrimitive2 () | |
| Create a primitive. | |
| virtual | ~SDFPrimitive2 () |
| Destructor. | |
| virtual QString | GetCostShader (PrimitiveManager *, std::list< QString > *, bool *) const |
| Compute the GLSL code to compute the cost of a call to sdf. | |
| virtual void | ComputeCostSigned (const Vector2 &) |
| Compute the number of reccursive calls to Signed(). | |
Public Member Functions inherited from SDFNode2 | |
| SDFNode2 () | |
| Create a generic node. | |
| virtual | ~SDFNode2 () |
| Destructor. | |
| virtual Vector2 | Gradient (const Vector2 &) const |
| Compute the gradient of the field. | |
| virtual bool | Inside (const Vector2 &) const |
| Check if a point is inside or outside. | |
| virtual QString | GetShader (PrimitiveManager *, std::list< QString > *, bool *=nullptr) const |
| Compute the GLSL code to render the node. | |
| virtual QString | GetGradientShader (PrimitiveManager *, std::list< QString > *, bool *=nullptr) const |
| Compute the GLSL code to compute the gradient the sdf. | |
| virtual int | Memory () const |
| Return the size of a sub-tree. | |
| virtual double | K () const |
| Return the Lipschitz constant of the node. | |
| Box2 | GetBox () const |
| Return the bounding box of the node. | |
| virtual int | Nodes () const |
| Compute the number of nodes in the sub-tree. | |
Additional Inherited Members | |
Protected Attributes inherited from SDFNode2 | |
| Box2 | box = Box2::Infinity |
| Box bounding the surface. | |
| double | k = 1.0 |
| Lipschitz constant. | |
| int | cost = 1 |
| Cost of the node. | |
Static Protected Attributes inherited from SDFNode2 | |
| static constexpr double | Epsilon = 0.01 |
| Small constant used for bounding volumes. | |
Generic primitives. , ,.
|
explicit |
Create an Euclidean primitive.
Those primitives compute the signed Euclidean distance to a skeleton, thus the Lipschitz constant is 1.
|
virtual |
Compute the signed Euclidean distance function.
By default compute the signed distance to the bounding box of the primitive.
| p | Point. |
Reimplemented from SDFPrimitive2.
Reimplemented in SDFBox2, SDFCapsule2, SDFCircle2, SDFCircleArc2, SDFConvex2, SDFCubicCurveSet2, SDFDisc2, SDFEllipse2, SDFHeart2, SDFHemiDisc2, SDFHexagon2, SDFIsoceleTrapezoid2, SDFPentagon2, SDFPlane2, SDFPolygon2, SDFQuadricCurve2, SDFQuadricCurveSet2, SDFQuadricCurveSetThick2, and SDFTriangle2.