Terra 1.0
TerraVertexNoiseRydge Class Reference

Ridged noise over a disc. More...

#include <archestree.h>

Inheritance diagram for TerraVertexNoiseRydge:
TerraVertex TerraPrimitive TerraNode

Public Member Functions

 TerraVertexNoiseRydge (const Vector &, double, double, int, double, double, double, double, const double &, const double &=1.0)
 Creates a flat disc primitive.
 
 TerraVertexNoiseRydge (const Vector2 &, const double &, const double &, const AnalyticMusgrave &)
 Creates a flat disc primitive.
 
virtual ScalarAlpha ElevationAlpha (const Vector2 &) const
 Compute the elevation and weight.
 
virtual int Memory () const
 Compute the size of a node.
 
- Public Member Functions inherited from TerraVertex
 TerraVertex (const Vector &, const double &, const double &=1.0)
 Create a flat point primitive.
 
 TerraVertex (const Vector &, const Vector &, const double &, const double &=1.0)
 Create a disc primitive.
 
 TerraVertex (const Vector &, const Vector2 &, const double &, const double &=1.0)
 Create a disc primitive.
 
virtual 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.
 

Additional Inherited Members

- Protected Attributes inherited from TerraVertex
Vector c
 Center, includes elevation.
 
Vector2 slope
 Slope along x and y directions.
 
- Protected Attributes inherited from TerraPrimitive
double alpha = 1.0
 Weight.
 
- Protected Attributes inherited from TerraNode
Box2 box = Box2::Infinity
 Bounding box.
 
- Static Protected Attributes inherited from TerraNode
static const double epsilon = 1e-2
 Epsilon value for gradient computations.
 

Detailed Description

Ridged noise over a disc.

Constructor & Destructor Documentation

◆ TerraVertexNoiseRydge() [1/2]

TerraVertexNoiseRydge::TerraVertexNoiseRydge ( const Vector & p,
double lac,
double H,
int oc,
double off,
double gain,
double a,
double s,
const double & r,
const double & q = 1.0 )
explicit

Creates a flat disc primitive.

Parameters
pCenter.
rRadius.
lacLacunarity.
HHeight.
ocOctaves.
offOffset;
gainGain.
aAmplitude
sFrequency of the noise
rRadius.
qAlpha.

References TerraVertex::c, and TerraVertex::TerraVertex().

Referenced by Memory().

◆ TerraVertexNoiseRydge() [2/2]

TerraVertexNoiseRydge::TerraVertexNoiseRydge ( const Vector2 & p,
const double & r,
const double & q,
const AnalyticMusgrave & am )
explicit

Creates a flat disc primitive.

Parameters
pCenter.
rRadius.
qAlpha.
amField.

References TerraVertex::TerraVertex().

Member Function Documentation

◆ ElevationAlpha()

ScalarAlpha TerraVertexNoiseRydge::ElevationAlpha ( const Vector2 & p) const
virtual

Compute the elevation and weight.

Parameters
pPoint.

Reimplemented from TerraVertex.

References TerraPrimitive::Alpha(), TerraNode::box, and TerraVertex::c.

◆ Memory()

int TerraVertexNoiseRydge::Memory ( ) const
virtual

Compute the size of a node.

Reimplemented from TerraVertex.

References TerraVertexNoiseRydge().