Return the length (in time) of a complete animation cycle.
This is mainly a list of key frames. Note that the key frames are not added as sub-objects, but instead they are added directly through the iModelDataAction interface. The reason is that together with every frame a time value has to be stored.
The idea of time values is the following: Every frame comes with the point in time when the frame *ends*, measured in seconds. For example, if your frames last 100msec, 200msec, 50msec and 250msec, the time values are: 0.1, 0.3, 0.35, 0.6. As this is the ending time for each frame, the last time value has three meanings:
It is the end of the whole action
It is the length of the action
It wraps around to the time value 0.0
Another effect of this is that when you start playing an animation cycle, the animation begins at the *last* frame and moves on to the first frame within the time that is stored with the first frame.
Note that the frames are automatically sorted by time.
There are different types of frames. One could imagine vertex states, skeleton states and transformation states (or other types?). Currently only vertex states (iModelDataVertices) are used.
The documentation for this struct was generated from the following file: