Terra 1.0
|
Image-based primitive along a curve. More...
#include <archestree.h>
Public Member Functions | |
TerraCubicImage (const Vector &, const Vector &, const Vector &, const Vector &, const double &, const double &, const QString &, const QString &, const double &=0.5) | |
Create an image-based primitive along a curve. | |
virtual ScalarAlpha | ElevationAlpha (const Vector2 &) const |
Compute the elevation and weight. | |
virtual int | Memory () const |
Compute the size of a node. | |
![]() | |
TerraCubic (const CubicCurve &, const double &, const double &, const double &, const double &=1.0, bool=true) | |
Create a generate cubic curve skeletal element. | |
![]() | |
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. | |
![]() | |
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. | |
virtual void | Draw (QGraphicsScene &) const |
Renders the node into a QGraphicsScene. | |
![]() | |
TerraField (const QString &) | |
Create the node. | |
TerraField (const QString &, const QString &) | |
Create an image primitive. | |
Additional Inherited Members | |
![]() | |
static void | Store (const ScalarField2 &, const QString &) |
Store an image in the set of image instances. | |
static void | Store (const QImage &, const QString &) |
Store an image in the set of image instances. | |
static void | Store (const QString &, const QString &) |
Store an image in the set of image instances. | |
![]() | |
CubicCurve2 | cubic |
Cubic curve in the plane. | |
double | rb |
Offset radius. | |
bool | cut |
Boolean for round or straight cut. | |
![]() | |
const ScalarField2 & | GetImage (int) const |
Get the reference to the k-th image in the atlas. | |
![]() | |
static bool | ExistsInStorage (const QString &) |
Checks if an image exists in the atlas. | |
static int | IndexInStorage (const QString &) |
Checks if an image exists in the atlas, and returns its index. | |
![]() | |
double | alpha = 1.0 |
Weight. | |
![]() | |
Box2 | box = Box2::Infinity |
Bounding box. | |
![]() | |
int | alf = -1 |
Indexes storing the reference to the field and the alpha mask. | |
![]() | |
static const double | epsilon = 1e-6 |
Epsilon value for computing the limit of the curvilinear absisca of a point along the curve. | |
![]() | |
static const double | epsilon = 1e-2 |
Epsilon value for gradient computations. | |
![]() | |
static QVector< ScalarField2 > | images |
Set of images that will be shared by the instances of TerraField. | |
static QVector< QString > | aliases |
Identifier as names of the images. | |
Image-based primitive along a curve.
|
explicit |
Create an image-based primitive along a curve.
a,b | Control points. |
ta,tb | Control tangents. |
r | Radius. |
z | Elevation. |
References TerraPrimitive::alpha, TerraNode::box, TerraCubic::TerraCubic(), and TerraField::TerraField().
Referenced by Memory().
|
virtual |
Compute the elevation and weight.
p | Point. |
Reimplemented from TerraCubic.
References TerraNode::box, TerraCubic::cubic, and TerraCubic::rb.