|
Signed Distance Fields 1.0
|
Cloning operator. More...
#include <sdf.h>
Public Member Functions | |
| SDFCloneRevolution (SDFNode *, const Axis &, int) | |
| Create n virtual clones of the sub-tree, and locate them by rotating colones around the axis. | |
| virtual | ~SDFCloneRevolution () |
| Destructor. | |
| virtual double | Signed (const Vector &) const |
| Compute the signed distance function. | |
| virtual Vector | Gradient (const Vector &) const |
| Compute the signed distance function. | |
| QString | GetShader (PrimitiveManager *, std::list< QString > *, bool *) const |
| Compute the GLSL code to render the node. | |
| QString | GetCostShader (PrimitiveManager *, std::list< QString > *, bool *) const |
| Compute the GLSL code to compute the cost of a call to sdf. | |
| QString | GetGradientShader (PrimitiveManager *, std::list< QString > *, bool *) const |
| Compute the GLSL code to compute the gradient the sdf. | |
| QString | GetMaterialShader (PrimitiveManager *, std::list< QString > *, bool *) const |
| Compute the GLSL code to compute the material the sdf at a given point 'p' with a given normal 'n'. | |
| virtual int | Memory () const |
| Return the size of a sub-tree. | |
| virtual SDFNode * | Copy () const |
| Deep copy. | |
| virtual int | Nodes () const |
| Compute the number of nodes in the sub-tree. | |
Public Member Functions inherited from SDFUnary | |
| SDFUnary (SDFNode *) | |
| Create an unary node. | |
| virtual | ~SDFUnary () |
| Destroy the sub-tree. | |
| virtual double | K (const Box &) const |
| Return the local Lipschitz constant. | |
| virtual void | ComputeCostSigned (const Vector &) |
| Compute the number of reccursive calls to Signed(). | |
Public Member Functions inherited from SDFNode | |
| SDFNode () | |
| Create a generic node. | |
| virtual | ~SDFNode () |
| Destructor. | |
| virtual double | BID (const Vector &) const |
| Compute a lower bound of the signed distance. | |
| virtual bool | Inside (const Vector &) const |
| Check if a point is inside or outside. | |
| virtual Color | GetColor (const Vector &) const |
| Computes the color. | |
| virtual double | K () const |
| Return the Lipschitz constant of the node. | |
| Box | GetBox () const |
| Return the bounding box of the node. | |
| virtual void | ComputeCostBID (const Vector &) |
| Compute the number of reccursive calls to BID() and Signed(). | |
Protected Attributes | |
| Axis | axis |
| Revolution axis. | |
| int | n |
| Rotation matrix. | |
Protected Attributes inherited from SDFUnary | |
| SDFNode * | e = nullptr |
| Sub-tree. | |
Protected Attributes inherited from SDFNode | |
| Box | box = Box::Infinity |
| Box bounding the surface. | |
| double | k = 1.0 |
| Lipschitz constant. | |
| int | cost = 1 |
| Relative computation cost. | |
Additional Inherited Members | |
Static Public Member Functions inherited from SDFNode | |
| static void | ResetReccursiveCalls () |
| Reset the reccursive call property of the tree. | |
| static int | ReccursiveCalls () |
| Returns the number of reccursive calls to Value() and BID(). | |
| static void | addReccursiveCalls (int) |
| Add a nulber to the nbreccursiveCalls. | |
| 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. | |
| 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. | |
| static int | reccursiveCalls = 0 |
| Recursive calls to BID or Value. | |
Cloning operator.
Create n virtual clones of the sub-tree, and locate them by rotating colones around the axis.
| s | Sub-tree. |
| a | Axis. |
| n | Number of clones. |
|
virtual |
Compute the GLSL code to compute the cost of a call to sdf.
Reimplemented from SDFUnary.
|
virtual |
Compute the GLSL code to compute the gradient the sdf.
Reimplemented from SDFNode.
|
virtual |
Compute the GLSL code to compute the material the sdf at a given point 'p' with a given normal 'n'.
Reimplemented from SDFUnary.
|
virtual |
Compute the GLSL code to render the node.
Reimplemented from SDFNode.
Compute the signed distance function.
This operator preserves the Euclidean distance (if argument sub-trees provide a Euclidean distance).
| p | Point. |
Reimplemented from SDFNode.
|
virtual |
Return the size of a sub-tree.
Reimplemented from SDFNode.
|
virtual |
Compute the number of nodes in the sub-tree.
Reimplemented from SDFUnary.
|
virtual |
Compute the signed distance function.
This operator preserves the Euclidean distance (if argument sub-trees provide a Euclidean distance).
| p | Point. |
Reimplemented from SDFUnary.
|
protected |
Rotation matrix.
Number of clones.