|
Terra 1.0
|
Generic n-ary operators in the tree. More...
#include <archestree.h>
Public Member Functions | |
| TerraOperator (const QVector< TerraNode * > &) | |
| Create a generic operator. | |
| TerraOperator (TerraNode *, TerraNode *=nullptr, TerraNode *=nullptr, TerraNode *=nullptr) | |
| Create a node with several children nodes. | |
| ~TerraOperator () | |
| Recursively destroys the complete 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 ScalarAlpha | ElevationAlpha (const Vector2 &) const |
| Compute the elevation and weight. | |
| 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. | |
| virtual int | Traversal (const Vector2 &) const |
| Compute the number of nodes that are traversed when evaluating the tree. | |
| 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. | |
| virtual void | Draw (QGraphicsScene &) const |
| Renders the node into a QGraphicsScene. | |
Protected Attributes | |
| QVector< TerraNode * > | nodes |
| Array of nodes that will be combined. | |
Protected Attributes inherited from TerraNode | |
| Box2 | box = Box2::Infinity |
| Bounding box. | |
Additional Inherited Members | |
Static Protected Attributes inherited from TerraNode | |
| static const double | epsilon = 1e-2 |
| Epsilon value for gradient computations. | |
Generic n-ary operators in the tree.
Combination nodes should derive from this class.
|
explicit |
Create a generic operator.
| nodes | Sub-tree nodes. |
References TerraNode::box, and nodes.
Referenced by TerraBlend::TerraBlend(), and TerraBlend::TerraBlend().
|
explicit |
Create a node with several children nodes.
Note that the first two argments should not be 0.
| a,b,c,d | Argument children. |
References TerraNode::box, nodes, and TerraNode::TerraNode().