Detailed Description
- See also:
- Class IKey, Class
Point3.
- Description:
- This class stores a Bezier Point3 key.
The value of the intan and outtan values of IBezPoint3Key returned from
GetKey is actually the tangent of the angle that is spanned between
the horizontal axis and the tangent. In order to get the actual
handle of the tangent it is important to know that the horizontal
(time) distance from the handle to the key value is dependent on
the previous (for intan) or next (for outtan) point. The horizontal
distance is basically a third of the total distance between the
current key and the previous (or next) key :
Control *c =
node->GetTMController()->GetPositionController();
dt =
(c->GetKeyTime(PreviousIdx)-c->GetKeyTime(CurrentIdx)) /
3.0f;
since the value in IBezPoint3Key pos_key.intan.x is
the tan(alpha), you can easily get the vertical location of the
handle by calculating :
tan(alpha) = pos_key.intan.x = dy/dt -> dy = pos_key.intan.x
* dt
dt is the horizontal coordinate of the tangent handle relative to
the key value.
dy is the vertical coordinate of the tangent handle relative to the
key value.
- Data Members:
- Point3
intan;
The incoming tangent vector. This can be thought of as the tangent
handle of a 3D spline. The value is relative to val.
Point3
outtan;
The outgoing tangent vector. This can be thought of as the tangent
handle of a 3D spline. The value is relative to val.
Point3 val;
The value of the key.
Point3
inLength;
The in length of the horizontal handle.
Point3
outLength;
The out length of the horizontal handle.
#include <istdplug.h>
List of all
members.
Member Data Documentation
IBezPoint3Key IBezPoint3Key
IBezPoint3Key IBezPoint3Key IBezPoint3Key IBezPoint3Key
IBezPoint3Key IBezPoint3Key IBezPoint3Key IBezPoint3Key
IBezPoint3Key IBezPoint3Key
IBezPoint3Key IBezPoint3Key IBezPoint3Key IBezPoint3Key
IBezPoint3Key IBezPoint3Key IBezPoint3Key IBezPoint3Key