declare namespace pc { /** * @name pc.Skeleton * @property {Boolean} looping Determines whether skeleton is looping its animation. * @class Represents a skeleton used to play animations. * @param {pc.GraphNode} graph The root pc.GraphNode of the skeleton. */ class Skeleton { constructor(graph: pc.GraphNode) /** * @function * @name pc.Skeleton#addTime * @description Progresses the animation assigned to the specified skeleton by the * supplied time delta. If the delta takes the animation passed its end point, if * the skeleton is set to loop, the animation will continue from the beginning. * Otherwise, the animation's current time will remain at its duration (i.e. the * end). * @param {Number} delta The time in seconds to progress the skeleton's animation. * @author Will Eastcott */ addTime(delta: number): void; /** * @function * @name pc.Skeleton#blend * @description Blends two skeletons together. * @param {pc.Skeleton} skel1 Skeleton holding the first pose to be blended. * @param {pc.Skeleton} skel2 Skeleton holding the second pose to be blended. * @param {Number} alpha The value controlling the interpolation in relation to the two input * skeletons. The value is in the range 0 to 1, 0 generating skel1, 1 generating skel2 and anything * in between generating a spherical interpolation between the two. * @author Will Eastcott */ blend(skel1: pc.Skeleton, skel2: pc.Skeleton, alpha: number): void; /** * @name pc.Skeleton#animation * @type pc.Animation * @description Animation currently assigned to skeleton. */ animation: pc.Animation; /** * @name pc.Skeleton#currentTime * @type Number * @description Current time of currently active animation in seconds. * This value is between zero and the duration of the animation. */ currentTime: number; /** * @readonly * @name pc.Skeleton#numNodes * @type Number * @description Read-only property that returns number of nodes of a skeleton. */ readonly numNodes: number; /** * @function * @name pc.Skeleton#setGraph * @description Links a skeleton to a node hierarchy. The nodes animated skeleton are * then subsequently used to drive the local transformation matrices of the node * hierarchy. * @param {pc.GraphNode} graph The root node of the graph that the skeleton is to drive. * @author Will Eastcott */ setGraph(graph: pc.GraphNode): void; /** * @function * @name pc.Skeleton#updateGraph * @description Synchronizes the currently linked node hierarchy with the current state of the * skeleton. Internally, this function converts the interpolated keyframe at each node in the * skeleton into the local transformation matrix at each corresponding node in the linked node * hierarchy. * @author Will Eastcott */ updateGraph(): void; } }