Terra 1.0
|
Image function. More...
#include <archestree.h>
Public Member Functions | |
TerraCurveThick (const QuadricCurve2Set &curve, const double &radius, const double &radius_external, const double ¢ral_weight, const ScalarField2 &, const ScalarField2 &) | |
Create a cubic curve skeleton. More... | |
TerraCurveThick (const QuadricCurve2Set &curve, const double &radius, const double &radius_external, const CubicSet &curve_z, const ScalarField2 &, const ScalarField2 &) | |
Create a cubic curve skeleton. More... | |
ScalarAlpha | ElevationAlpha (const Vector2 &) const |
Compute a value with the turbulence. More... | |
bool | ComputeUV (const Vector2 &, double &u, double &v) const |
Computes the U and V (parametrized arguments) of a 2D point. More... | |
virtual void | Draw (QGraphicsScene &) const |
Draw. | |
![]() | |
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... | |
![]() | |
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. | |
virtual int | Memory () const |
Compute the size of a node. | |
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 | |
QuadricCurve2Set | m_curve_xy |
2D Curve footprint (at more than distance == not defined) | |
![]() | |
Box2 | box = Box2::Infinity |
Bounding box. | |
Additional Inherited Members | |
![]() | |
static const double | epsilon = 1e-2 |
Epsilon value for gradient computations. | |
Image function.
TerraCurveThick::TerraCurveThick | ( | const QuadricCurve2Set & | curve, |
const double & | radius, | ||
const double & | radius_external, | ||
const double & | central_weight, | ||
const ScalarField2 & | h, | ||
const ScalarField2 & | a | ||
) |
Create a cubic curve skeleton.
curve_ | 2D Cubic Curve. |
References TerraNode::box, Box2::Extended(), QuadricCurve2Set::GetBox(), Cubic::Hermite(), m_curve_xy, and QuadricCurve2Set::Size().
TerraCurveThick::TerraCurveThick | ( | const QuadricCurve2Set & | curve, |
const double & | radius, | ||
const double & | radius_external, | ||
const CubicSet & | curve_z, | ||
const ScalarField2 & | h, | ||
const ScalarField2 & | a | ||
) |
Create a cubic curve skeleton.
curve_ | 2D Cubic Curve. |
References TerraNode::box, Box2::Extended(), QuadricCurve2Set::GetBox(), and m_curve_xy.
bool TerraCurveThick::ComputeUV | ( | const Vector2 & | pt, |
double & | u, | ||
double & | v | ||
) | const |
Computes the U and V (parametrized arguments) of a 2D point.
pt | Point. |
References TerraNode::box, Box2::Inside(), m_curve_xy, QuadricCurve2Set::R(), and Vector2::ToVector().
Referenced by ElevationAlpha().
|
virtual |
Compute a value with the turbulence.
p | Point. |
Reimplemented from TerraNode.
References ComputeUV(), ScalarAlpha::Empty, and ScalarField2::Value().