|
Signed Distance Fields 1.0
|
Difference operator. More...
#include <sdf.h>
Public Member Functions | |
| SDFDifference2 (SDFNode2 *, SDFNode2 *) | |
| Create a difference node. | |
| SDFDifference2 (SDFNode2 *, SDFNode2 *, SDFNode2 *) | |
| Create a difference hierarchy. | |
| SDFDifference2 (SDFNode2 *, SDFNode2 *, SDFNode2 *, SDFNode2 *) | |
| Create a difference hierarchy. | |
| virtual | ~SDFDifference2 () |
| Destructor. | |
| double | Signed (const Vector2 &) const |
| Compute the signed distance. | |
| QString | GetShader (PrimitiveManager &, std::list< QString > &, bool &) const |
| Compute the GLSL code to render the node. | |
| virtual int | Memory () const |
| Return the size of a sub-tree. | |
| virtual SDFNode2 * | Copy () const |
| Deep copy. | |
| Public Member Functions inherited from SDFBinary2 | |
| SDFBinary2 (SDFNode2 *, SDFNode2 *) | |
| Create a binary node2. | |
| virtual | ~SDFBinary2 () |
| Recursively destroy the sub-trees. | |
| int | Nodes () const |
| Compute the number of nodes in the sub-tree. | |
| virtual void | SetShaderId (PrimitiveManager &primitives) |
| Set up an id for generating GLSL code. | |
| virtual void | ResetShaderId () |
| Reset the id for generating GLSL code. | |
| 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. | |
| void | ResetShaderId () |
| Reset the id for generating GLSL code. | |
| virtual QString | GetGradientShader (PrimitiveManager &, std::list< QString > &, bool &) const |
| Compute the GLSL code to compute the gradient the sdf. | |
| virtual QJsonValue | ToJson () const |
| Conversion to JavaScript Object Notation. | |
| virtual double | K () const |
| Return the Lipschitz constant of the node. | |
| Box2 | GetBox () const |
| Return the bounding box of the node. | |
Additional Inherited Members | |
| Static Public Member Functions inherited from SDFNode2 | |
| static SDFNode2 * | FromJson (const QJsonValue &json) |
| Conversion from JavaScript Object Notation. | |
| Protected Attributes inherited from SDFBinary2 | |
| SDFNode2 * | e [2] = { nullptr,nullptr } |
| Sub-trees. | |
| 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. | |
Difference operator.
Create a difference node.
| a,b | Sub-trees. |
Create a difference hierarchy.
Create the tree (A \ B) \ C.
| a,b,c | Sub-trees. |
Create a difference hierarchy.
Create the tree ((A \ B) \ C) \ D.
| a,b,c,d | Sub-trees. |
|
virtual |
Compute the GLSL code to render the node.
Reimplemented from SDFNode2.
|
virtual |
Return the size of a sub-tree.
Reimplemented from SDFNode2.