|
| TreeAlpha (const double &, TreeNode *) |
| Creates an alpha field function scaling node given one of child node. More...
|
|
virtual | ~TreeAlpha () |
| Recursively destroys an alpha node.
|
|
double | Intensity (const Vector &) const |
| Compute the field value at a given point in space.
|
|
Vector | Gradient (const Vector &) const |
| Compute the gradient of the field function at a given point in space. More...
|
|
virtual TreeNode * | Copy () const |
| Creates a deep copy of the node.
|
|
double | K () const |
| Computes the gradient Lipschitz constant of the sub-tree. More...
|
|
double | K (const Box &) const |
| Compute the local Lipschitz constant in a box. More...
|
|
double | K (const Ray &) const |
| Computes the Lipschitz constant along a ray. More...
|
|
double | K (const Segment &) const |
| Computes the Lipschitz constant. More...
|
|
double | K (const Sphere &) const |
| Computes the Lipschitz constant. More...
|
|
Color | GetMaterial (const Vector &, const Vector &=Vector::Null) const |
| Computes the texture of an alpha-node. Simply scales the texture parameters. More...
|
|
TreeNode * | Cut (const Box &) const |
| Cuts the node to simplify its structure inside a box. More...
|
|
virtual int | Memory () const |
| Compute the size of the sub-tree.
|
|
virtual TreeNode * | Alpha (const double &) |
| Scale the scalar field by a given real value. More...
|
|
| TreeUnary (TreeNode *) |
| Create a generic warping node. More...
|
|
virtual | ~TreeUnary () |
| Recursively destroys the structure.
|
|
virtual int | Nodes () const |
| Compute the number of nodes of the sub-tree. More...
|
|
virtual int | Depth () const |
| Compute the dpeth of the sub-tree. More...
|
|
virtual void | SetThreshold (const double &) |
| Recursively setup the threshold value. More...
|
|
| TreeOperator () |
| Creates an operator node.
|
|
virtual | ~TreeOperator () |
| Destroys an operator.
|
|
| TreeNode () |
| Create a virtual node of the Blob-Tree structure.
|
|
virtual | ~TreeNode () |
| Destroys a node.
|
|
virtual void | IntensityGradient (const Vector &, double &, Vector &) const |
| Computes the field value and the gradient at a given point in space. More...
|
|
virtual TreeNode * | Blend (TreeNode *) |
| Insert a blending node that blends the old and the new sub-tree together. More...
|
|
virtual TreeNode * | Union (TreeNode *) |
| Insert a union node that unions the old and the new sub-tree together. More...
|
|
virtual TreeNode * | Difference (TreeNode *) |
| Insert a difference node. More...
|
|
virtual TreeNode * | Translate (const Vector &) |
| Insert a translation node. More...
|
|
virtual TreeNode * | Rotate (const Matrix &) |
| Insert a rotation node. More...
|
|
virtual TreeNode * | Scale (const Vector &) |
| Insert a scaling node. More...
|
|
virtual double | K (const RayStep &) const |
| Compute the Lipschitz constant along an optimized ray-stepping segment. More...
|
|
Box | GetBox () const |
| Return the bounding box of the node.
|
|
virtual Vector | Dichotomy (Vector, Vector, double, double, double, const double &=1.0e-4) |
| Compute the intersection between the implicit surface and a segment. More...
|
|
A simple field function scaling node.
The field of the child node is scaled by a constant scaling factor.
Note that this operation is different than scaling the primitive with a TreeFrame node, which scales the geometry instead.
This node is usefull when performing cross-dissolving effects between two models.
Implementaiton note: since the node shares exactly the same box as its sub-tree, we do not perform box checks in member functions; they will be done by the sub-tree.
,