Terra 1.0
|
Procedural noise over a disc. More...
#include <archestree.h>
Public Member Functions | |
TerraDiscNoise (const Disc2 &, const double &, const double &, const double &, const double &, const double &=1.0) | |
Create a noise disc primitive. More... | |
virtual ScalarAlpha | ElevationAlpha (const Vector2 &) const |
Compute material at a given point. More... | |
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. More... | |
void | Draw (QGraphicsScene &) const |
Renders the node into a QGraphicsScene. More... | |
Public Member Functions inherited from TerraSkeleton | |
TerraSkeleton (const double &, const double &) | |
Create a primitive with a radial falloff function. More... | |
double | Alpha (const double &) const |
Compute the falloff function. More... | |
Public Member Functions inherited from TerraPrimitive | |
TerraPrimitive () | |
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. More... | |
Public Member Functions inherited from TerraNode | |
TerraNode (const Box2 &=Box2::Infinity) | |
Create a node. More... | |
virtual Box2 | GetBox () const |
Returns the bouding box of a node. | |
virtual double | Elevation (const Vector2 &) const |
Compute the elevation at a given position. More... | |
virtual double | Alpha (const Vector2 &) const |
Compute the alpha mask at a given position. More... | |
virtual Vector2 | Gradient (const Vector2 &) const |
Compute the gradient at a given position. More... | |
virtual Vector | Normal (const Vector2 &) const |
Compute the normal at a given position. More... | |
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. More... | |
ScalarField2 | Alpha (const Array2 &) const |
Create a discrete scalar field by sampling the elevation over a given domain. More... | |
void | Blend (HeightField &) const |
Blend a given node with an existing terrain over an input heightfield. More... | |
void | Add (HeightField &) const |
Add a given node with an existing heightfield. More... | |
Protected Attributes | |
double | a |
Amplitude of the noise. | |
double | lambda |
Fundamental wavelength. | |
double | t0 |
Reference noise at the center, internal parameter to speedup computations. | |
Protected Attributes inherited from TerraDisc | |
Disc2 | disc |
Disc. | |
double | z |
Elevation. | |
Protected Attributes inherited from TerraSkeleton | |
double | alpha |
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(), lambda, t0, SimplexTurbulence2::Value(), and TerraDisc::z.
Referenced by Memory().
|
virtual |
Compute material at a given point.
p | Point. |
Reimplemented from TerraDisc.
References a, TerraSkeleton::Alpha(), TerraNode::box, TerraDisc::disc, Box2::Inside(), lambda, Disc2::R(), t0, SimplexTurbulence2::Value(), and TerraDisc::z.