Abstract base class for warp hierarchy. More...
Inherits jbt_ngnode.
Inherited by jbt_bend, jbt_extrude, jbt_taper and jbt_twist.
This class provides a sampled normal based on the gradient returned by the base class. You may elect in a sub-class to implement a proper normal if possible.
Sets the smoothness of the application of the warp. The two parameters correspond to the parameters that are passed to the smoothstep function in jgl. The default values are 0 and 1. This causes a nice smooth cubic which varies from 0..1. Calling this function and setting these does not guarantee any difference. It is up to the base class to use the values. If it does not make sense to use them then nothing will happen. Pass 0 and 0 to ensure no smoothing happens.
[pure virtual]Precompute warp-specific parameters.
Reimplemented in jbt_twist, jbt_taper, jbt_extrude and jbt_bend.
[pure virtual]Moves a point from warped space to normal space.
Reimplemented in jbt_twist, jbt_taper, jbt_extrude and jbt_bend.
[pure virtual]Moves a point from normal space to warped space.
Reimplemented in jbt_twist, jbt_taper, jbt_extrude and jbt_bend.
[protected]Pass the child to have affected by the warp.
[protected]
Reimplemented from jbt_ngnode.
[protected]
Reimplemented from jbt_ngnode.
[protected]
Reimplemented from jbt_ngnode.
[protected]Smooth the 0..1 parameter according to the parameters passed to setSmooth.
[protected]This default bracketing for warped BlobTrees is not efficient. If your warp subclass is easy to provide brackets for you are well advised to do so. This bracketing simply defers to jbt_blobtree::bracket() which is a brute force method.
Reimplemented from jbt_ngnode.
[protected]Smooth parameters. Call smoothstep with these parameters to ease the amount of warp.
Reimplemented in jbt_bend.
[protected]Smooth parameters. Call smoothstep with these parameters to ease the amount of warp.
Reimplemented in jbt_bend.