|
Terra 1.0
|
Add noise to the surface. More...
#include <archestree.h>
Public Member Functions | |
| TerraAddNoise (TerraNode *node, const Vector2 &, const double &, const SimplexTurbulence2 &) | |
| Create a blending node. | |
| virtual ScalarAlpha | ElevationAlpha (const Vector2 &) const |
| Compute the weight and the height of a given point in the plane. | |
| void | Draw (QGraphicsScene &) const |
| Draw the sub-tree. | |
| int | Traversal (const Vector2 &) const |
| Compute the number of nodes that are traversed when evaluating the tree. | |
Public Member Functions inherited from TerraUnary | |
| TerraUnary (TerraNode *) | |
| Create an unary node. | |
| ~TerraUnary () | |
| Recusively destroy the sub-tree. | |
| virtual int | Memory () const |
| Compute the size of a node. | |
Public Member Functions inherited from TerraNode | |
| TerraNode (const Box2 &=Box2::Infinity) | |
| Create a node. | |
| virtual Box2 | GetBox () const |
| Returns the bouding box of a node. | |
| virtual double | Elevation (const Vector2 &) const |
| Compute the elevation at a given position. | |
| virtual double | Alpha (const Vector2 &) const |
| Compute the alpha mask at a given position. | |
| virtual Vector2 | Gradient (const Vector2 &) const |
| Compute the gradient at a given position. | |
| virtual Vector | Normal (const Vector2 &) const |
| Compute the normal at a given position. | |
| virtual void | writeJson (QJsonObject &) |
| Compute the Json Document of the subtree. | |
| ScalarField2 | Sample (const Array2 &) const |
| Create a discrete scalar field by sampling the elevation over a given domain. | |
| ScalarField2 | Alpha (const Array2 &) const |
| Create a discrete scalar field by sampling the elevation over a given domain. | |
| void | Blend (HeightField &) const |
| Blend a given node with an existing terrain over an input heightfield. | |
| void | Add (HeightField &) const |
| Add a given node with an existing heightfield. | |
Protected Attributes | |
| SimplexTurbulence2 | fractal |
| Turbulence. | |
| SmoothVertex2 | vertex |
| Smooth vertex kernel. | |
Protected Attributes inherited from TerraUnary | |
| TerraNode * | node = nullptr |
| Sub-tree. | |
Protected Attributes inherited from TerraNode | |
| Box2 | box = Box2::Infinity |
| Bounding box. | |
Additional Inherited Members | |
Static Public Member Functions inherited from TerraUnary | |
| static TerraNode * | PutAt (TerraNode *, const Vector &, const double &, const Vector2 &) |
| Place a node at a given location. | |
| static TerraNode * | PutAt (TerraNode *, const double &, const Vector2 &) |
| Place a node at a given location. | |
Static Protected Attributes inherited from TerraNode | |
| static const double | epsilon = 1e-2 |
| Epsilon value for gradient computations. | |
Add noise to the surface.
This class is an convenience class equivalent to the following sub-tree:
| TerraAddNoise::TerraAddNoise | ( | TerraNode * | node, |
| const Vector2 & | c, | ||
| const double & | r, | ||
| const SimplexTurbulence2 & | fractal ) |
Create a blending node.
| v | Argument children. |
References fractal, TerraUnary::node, TerraUnary::TerraUnary(), and vertex.
|
virtual |
Compute the weight and the height of a given point in the plane.
| p | Point. |
Reimplemented from TerraNode.
References TerraNode::box, fractal, TerraUnary::node, ScalarAlpha::SetValue(), ScalarAlpha::Value(), and vertex.
|
virtual |
Compute the number of nodes that are traversed when evaluating the tree.
| p | Point. |
Reimplemented from TerraUnary.
References TerraNode::box, and TerraUnary::node.