An animation clip is a collection of animation tracks; each track describes the motion of one joint over time and all of the tracks combined describe the motion of the animated model over time. If you sample an animation clip, you get a pose that describes the configuration of each joint in the animation clip at the specified time.
For a basic clip class, all you need is a vector of transform tracks. Because transform tracks contain the ID of the joint that they affect, you can have a minimal number of tracks per clip. The
Clip class should also keep track of metadata, such as the name of the clip, whether the clip is looping, and information about the time or duration of the clip.
Declaring the Clip class
Clip class needs to maintain a vector of transform tracks. This is the most important data that the clip contains. Other than the tracks, a clip has a name, a start time, and an end time, and the clip should know whether it's looping or not.