C# 클래스 Axiom.Animating.NodeAnimationTrack

상속: AnimationTrack
파일 보기 프로젝트 열기: WolfgangSt/axiom 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
isSplineRebuildNeeded bool
positionSpline PositionalSpline
rotationSpline RotationalSpline
scaleSpline PositionalSpline
target Node
useShortestPath bool

공개 메소드들

메소드 설명
Apply ( float time, float weight, bool accumulate, float scale ) : void

Applies an animation track at a certain position to the target node.

When a track has bee associated with a target node, you can eaisly apply the animation to the target by calling this method.

ApplyToNode ( Node node, float time, float weight, bool accumulate, float scale ) : void

Same as the Apply method, but applies to a specified Node instead of it's associated node.

CreateKeyFrameImpl ( float time ) : KeyFrame

Specialised keyframe creation

CreateNodeKeyFrame ( float time ) : TransformKeyFrame

Creates a new KeyFrame and adds it to this animation at the given time index.

It is better to create KeyFrames in time order. Creating them out of order can result in expensive reordering processing. Note that a KeyFrame at time index 0.0 is always created for you, so you don't need to create this one, just access it using getKeyFrame(0);

GetInterpolatedKeyFrame ( float time, KeyFrame kf ) : KeyFrame

Gets a KeyFrame object which contains the interpolated transforms at the time index specified.

The KeyFrame objects held by this class are transformation snapshots at discrete points in time. Normally however, you want to interpolate between these keyframes to produce smooth movement, and this method allows you to do this easily. In animation terminology this is called 'tweening'.

GetNodeKeyFrame ( ushort index ) : TransformKeyFrame

Returns the KeyFrame at the specified index.

HasNonZeroKeyFrames ( ) : bool

Method to determine if this track has any KeyFrames which are doing anything useful - can be used to determine if this track can be optimised out.

NodeAnimationTrack ( Animation parent ) : System
NodeAnimationTrack ( Animation parent, Node target ) : System

Internal constructor, to prevent direction instantiation. Should be created via a call to the CreateTrack method of an Animation.

NodeAnimationTrack ( Animation parent, ushort handle ) : System
OnKeyFrameDataChanged ( ) : void

Called internally when keyframes belonging to this track are changed, in order to trigger a rebuild of the animation splines.

Optimise ( ) : void

Optimise the current track by removing any duplicate keyframes.

보호된 메소드들

메소드 설명
BuildInterpolationSplines ( ) : void

Used to rebuild the internal interpolation splines for translations, rotations, and scaling.

메소드 상세

Apply() 공개 메소드

Applies an animation track at a certain position to the target node.
When a track has bee associated with a target node, you can eaisly apply the animation to the target by calling this method.
public Apply ( float time, float weight, bool accumulate, float scale ) : void
time float The time position in the animation to apply.
weight float The influence to give to this track, 1.0 for full influence, less to blend with /// other animations.
accumulate bool
scale float
리턴 void

ApplyToNode() 공개 메소드

Same as the Apply method, but applies to a specified Node instead of it's associated node.
public ApplyToNode ( Node node, float time, float weight, bool accumulate, float scale ) : void
node Axiom.Core.Node
time float
weight float
accumulate bool
scale float
리턴 void

BuildInterpolationSplines() 보호된 메소드

Used to rebuild the internal interpolation splines for translations, rotations, and scaling.
protected BuildInterpolationSplines ( ) : void
리턴 void

CreateKeyFrameImpl() 공개 메소드

Specialised keyframe creation
public CreateKeyFrameImpl ( float time ) : KeyFrame
time float
리턴 KeyFrame

CreateNodeKeyFrame() 공개 메소드

Creates a new KeyFrame and adds it to this animation at the given time index.
It is better to create KeyFrames in time order. Creating them out of order can result in expensive reordering processing. Note that a KeyFrame at time index 0.0 is always created for you, so you don't need to create this one, just access it using getKeyFrame(0);
public CreateNodeKeyFrame ( float time ) : TransformKeyFrame
time float
리턴 TransformKeyFrame

GetInterpolatedKeyFrame() 공개 메소드

Gets a KeyFrame object which contains the interpolated transforms at the time index specified.
The KeyFrame objects held by this class are transformation snapshots at discrete points in time. Normally however, you want to interpolate between these keyframes to produce smooth movement, and this method allows you to do this easily. In animation terminology this is called 'tweening'.
public GetInterpolatedKeyFrame ( float time, KeyFrame kf ) : KeyFrame
time float The time (in relation to the whole animation sequence).
kf KeyFrame
리턴 KeyFrame

GetNodeKeyFrame() 공개 메소드

Returns the KeyFrame at the specified index.
public GetNodeKeyFrame ( ushort index ) : TransformKeyFrame
index ushort
리턴 TransformKeyFrame

HasNonZeroKeyFrames() 공개 메소드

Method to determine if this track has any KeyFrames which are doing anything useful - can be used to determine if this track can be optimised out.
public HasNonZeroKeyFrames ( ) : bool
리턴 bool

NodeAnimationTrack() 공개 메소드

public NodeAnimationTrack ( Animation parent ) : System
parent Animation
리턴 System

NodeAnimationTrack() 공개 메소드

Internal constructor, to prevent direction instantiation. Should be created via a call to the CreateTrack method of an Animation.
public NodeAnimationTrack ( Animation parent, Node target ) : System
parent Animation
target Axiom.Core.Node
리턴 System

NodeAnimationTrack() 공개 메소드

public NodeAnimationTrack ( Animation parent, ushort handle ) : System
parent Animation
handle ushort
리턴 System

OnKeyFrameDataChanged() 공개 메소드

Called internally when keyframes belonging to this track are changed, in order to trigger a rebuild of the animation splines.
public OnKeyFrameDataChanged ( ) : void
리턴 void

Optimise() 공개 메소드

Optimise the current track by removing any duplicate keyframes.
public Optimise ( ) : void
리턴 void

프로퍼티 상세

isSplineRebuildNeeded 보호되어 있는 프로퍼티

Flag indicating we need to rebuild the splines next time.
protected bool isSplineRebuildNeeded
리턴 bool

positionSpline 보호되어 있는 프로퍼티

Spline for position interpolation.
protected PositionalSpline positionSpline
리턴 PositionalSpline

rotationSpline 보호되어 있는 프로퍼티

Spline for rotation interpolation.
protected RotationalSpline rotationSpline
리턴 RotationalSpline

scaleSpline 보호되어 있는 프로퍼티

Spline for scale interpolation.
protected PositionalSpline scaleSpline
리턴 PositionalSpline

target 보호되어 있는 프로퍼티

Target node to be animated.
protected Node target
리턴 Node

useShortestPath 보호되어 있는 프로퍼티

Defines if rotation is done using shortest path
protected bool useShortestPath
리턴 bool