Terra 1.0
Public Member Functions | Protected Attributes | List of all members
Terra2013VertexSlopeNoise Class Reference

Slope disc primitive with noise. More...

#include <archestree.h>

Inheritance diagram for Terra2013VertexSlopeNoise:
TerraVertexSlope TerraVertex TerraSkeleton TerraPrimitive TerraNode

Public Member Functions

 Terra2013VertexSlopeNoise (const Vector &, const Vector &, const double &, const double &, const double &, const double &)
 Creation. More...
 
virtual ScalarAlpha ElevationAlpha (const Vector2 &) const
 Compute the fields. More...
 
virtual int Memory () const
 Compute the size of a node. More...
 
- Public Member Functions inherited from TerraVertexSlope
 TerraVertexSlope (const Vector &, const Vector &, const double &, const double &=1.0)
 Create a disc primitive. More...
 
 TerraVertexSlope (const Vector &, const double &, const double &, const double &, const double &=1.0)
 Create a disc primitive. More...
 
- Public Member Functions inherited from TerraVertex
 TerraVertex (const Vector &, const double &, const double &=1.0)
 Create a point primitive. More...
 
virtual 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 s
 Scaling of the noise.
 
double na
 Amplitude of the noise.
 
- Protected Attributes inherited from TerraVertexSlope
double sy
 Slope along x and y directions.
 
- Protected Attributes inherited from TerraVertex
Vector c
 Center, includes 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.
 

Detailed Description

Slope disc primitive with noise.

Constructor & Destructor Documentation

◆ Terra2013VertexSlopeNoise()

Terra2013VertexSlopeNoise::Terra2013VertexSlopeNoise ( const Vector p,
const Vector q,
const double &  r,
const double &  a,
const double &  sa,
const double &  na 
)

Creation.

Parameters
pCenter.
q?
rRadius.
aAmplitude weighting the alpha function.
naAmplitude of the noise.
saScaling of the noise.

References na, and s.

Referenced by Memory().

Member Function Documentation

◆ ElevationAlpha()

ScalarAlpha Terra2013VertexSlopeNoise::ElevationAlpha ( const Vector2 p) const
virtual

Compute the fields.

Parameters
pPoint.

Reimplemented from TerraVertexSlope.

References TerraSkeleton::Alpha(), TerraNode::box, TerraVertex::c, Box2::Inside(), na, s, TerraVertexSlope::sy, and Vector::Z.

◆ Memory()

int Terra2013VertexSlopeNoise::Memory ( ) const
virtual

Compute the size of a node.

Reimplemented from TerraVertexSlope.

References Terra2013VertexSlopeNoise().