public Joint(string symbol, string name, Matrix4 revbind, Matrix4 initialpose, IEnumerable<Joint> children, AnimationSequence anim) { Symbol = symbol; Name = name; ReverseBindingMatrix = revbind; InitialPose = initialpose; Children = children.Select(j => j.Clone()).ToArray(); Animation = anim == null ? new AnimationSequence(24.0, new AnimationFrame[0], 0) : anim.Clone(); }
public IndexedJoint(int index, string symbol, string name, Matrix4 revbind, Matrix4 initialpose, IEnumerable <Joint> children, AnimationSequence anim) : base(symbol, name, revbind, initialpose, children, anim) { Index = index; }
protected AnimationSequence(AnimationSequence clonefrom) : this(clonefrom.FrameRate, clonefrom.InitialPose, clonefrom.Frames, clonefrom.NumFrames) { }
public Joint WithTrimmedAnimation(int startframe, int numframes, double framerate) { AnimationSequence seq = Animation.Trim(startframe, numframes, framerate); return(new Joint(Symbol, Name, ReverseBindingMatrix, seq.InitialPose, Children.Select(j => j.WithTrimmedAnimation(startframe, numframes, framerate)), seq)); }
public Joint(string symbol, string name, Matrix4 revbind, Matrix4 initialpose, IEnumerable <Joint> children, AnimationSequence anim) { Symbol = symbol; Name = name; ReverseBindingMatrix = revbind; InitialPose = initialpose; Children = children.Select(j => j.Clone()).ToArray(); Animation = anim == null ? new AnimationSequence(24.0, new AnimationFrame[0], 0) : anim.Clone(); }