Public Attributes

IBezPoint3Key Class Reference

This reference page is linked to from the following overview topics: Keyframe Data Access Classes and Methods.


Search for all occurrences

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>

Inheritance diagram for IBezPoint3Key:
Inheritance graph
[legend]

List of all members.

Public Attributes

Point3  intan
Point3  outtan
Point3  val
Point3  inLength
Point3  outLength

Member Data Documentation


IBezPoint3Key IBezPoint3Key IBezPoint3Key IBezPoint3Key IBezPoint3Key IBezPoint3Key IBezPoint3Key IBezPoint3Key IBezPoint3Key IBezPoint3Key
IBezPoint3Key IBezPoint3Key IBezPoint3Key IBezPoint3Key IBezPoint3Key IBezPoint3Key IBezPoint3Key IBezPoint3Key IBezPoint3Key IBezPoint3Key