import type { IMmdAnimation } from "./IMmdAnimation"; import type { IMmdBoneAnimationTrack, IMmdMorphAnimationTrack, IMmdMovableBoneAnimationTrack, IMmdPropertyAnimationTrack } from "./IMmdAnimationTrack"; import type { MmdCameraAnimationTrack } from "./mmdAnimationTrack"; /** * Mmd Animation Base class for runtime injection */ export declare abstract class MmdAnimationBase implements IMmdAnimation { /** * Animation name for identification */ readonly name: string; /** * Bone animation tracks for one `mesh.skeleton` * * it contains rotation and rotation cubic interpolation data */ readonly boneTracks: readonly TBoneTrack[]; /** * Movable bone animation tracks for one `mesh.skeleton` * * it contains position, rotation and their cubic interpolation data */ readonly movableBoneTracks: readonly TMovableBoneTrack[]; /** * Morph animation tracks for one `mesh.morphTargetManager` * * it contains weight and weight linear interpolation data */ readonly morphTracks: readonly TMorphTrack[]; /** * Property animation track for one `mmdModel` * * it contains visibility and ik toggle keyframe data */ readonly propertyTrack: TPropertyTrack; /** * Camera animation track for one `mmdCamera` * * it contains position, rotation, distance and fov cubic interpolation data */ readonly cameraTrack: MmdCameraAnimationTrack; /** * The start frame of this animation */ readonly startFrame: number; /** * The end frame of this animation */ readonly endFrame: number; /** * Create a new `MmdAnimationBase` instance * @param name animation name for identification * @param boneTracks bone animation tracks * @param movableBoneTracks movable bone animation tracks * @param morphTracks morph animation tracks * @param propertyTrack property animation track * @param cameraTrack camera animation track */ constructor(name: string, boneTracks: readonly TBoneTrack[], movableBoneTracks: readonly TMovableBoneTrack[], morphTracks: readonly TMorphTrack[], propertyTrack: TPropertyTrack, cameraTrack: MmdCameraAnimationTrack); }