|
Terra 1.0
|
Procedural noise over a disc. More...
#include <archestree.h>
Public Member Functions | |
| TerraDiscNoise (const Disc2 &, const double &, const double &, const SimplexTurbulence2 &=SimplexTurbulence2(0.0, 1.0, 1.0, 0.5, 0.5, 4), const double &=1.0) | |
| Create a noise disc primitive. | |
| virtual ScalarAlpha | ElevationAlpha (const Vector2 &) const |
| Compute material at a given point. | |
| virtual int | Memory () const |
| Compute the size of the node. | |
Public Member Functions inherited from TerraDisc | |
| TerraDisc (const Disc2 &, const double &, const double &, const double &=1.0) | |
| Create a flat disc primitive. | |
| void | Draw (QGraphicsScene &) const |
| Renders the node into a QGraphicsScene. | |
Public Member Functions inherited from TerraPrimitive | |
| TerraPrimitive (const double &=1.0, const double &=1.0) | |
| Create a primitive. | |
| ~TerraPrimitive () | |
| Recusively destroy the sub-trees. | |
| int | Traversal (const Vector2 &) const |
| Compute the number of nodes that are traversed when evaluating the tree. | |
| double | Alpha (const double &) const |
| Compute the falloff function. | |
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 | |
| double | t0 |
| Reference noise at the center, internal parameter to speedup computations. | |
| SimplexTurbulence2 | turbulence |
| Turbulence. | |
Protected Attributes inherited from TerraDisc | |
| Disc2 | disc |
| Disc. | |
| double | z |
| Elevation. | |
Protected Attributes inherited from TerraPrimitive | |
| double | alpha = 1.0 |
| Weight. | |
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. | |
Procedural noise over a disc.
|
explicit |
Create a noise disc primitive.
| d | Disc. |
| z | Base elevation. |
| a | Amplitude of the noise. |
| lambda | Fundamental wavelength. |
| r | Radius. |
| al | Alpha. |
References TerraNode::box, Circle2::Center(), Box2::Extended(), Circle2::GetBox(), t0, TerraDisc::TerraDisc(), turbulence, and TerraDisc::z.
Referenced by Memory().
|
virtual |
Compute material at a given point.
| p | Point. |
Reimplemented from TerraDisc.
References TerraPrimitive::Alpha(), TerraNode::box, TerraDisc::disc, t0, turbulence, and TerraDisc::z.