public override void setCurrentData(TimelineData data) { if (propertiesForm.EditInterface != null) { propertiesForm.EditInterface.OnDataNeedsRefresh -= editInterface_OnDataNeedsRefresh; } keyframe = ((OffsetKeyframeData)data).KeyFrame; propertiesForm.EditInterface = keyframe.EditInterface; propertiesForm.EditInterface.OnDataNeedsRefresh += editInterface_OnDataNeedsRefresh; mainWidget.Height = propertiesForm.Height; }
public void blendFrom(OffsetModifierKeyframe previousFrame, float percentage, SimObjectFollowerWithRotation follower) { var simplePreviousFrame = previousFrame as SimpleOffsetModifierKeyframe; if (simplePreviousFrame != null) { follower.TranslationOffset = simplePreviousFrame.translationOffset.lerp(ref translationOffset, ref percentage); follower.RotationOffset = simplePreviousFrame.rotationOffset.nlerp(ref rotationOffset, ref percentage); follower.computePosition(); } }
void trackFilter_AddTrackItem(string name, Object trackUserObject) { if (offsetSequence != null) { OffsetModifierKeyframe keyframe = offsetSequence.createKeyframe(); if (Player != null) { keyframe.deriveOffsetFromFollower(Player.Follower); } keyframe.BlendAmount = timelineView.MarkerTime / Duration; offsetSequence.addKeyframe(keyframe); offsetSequence.sort(); addToTimeline(keyframe); } }
public void blendFrom(OffsetModifierKeyframe previousFrame, float percentage, SimObjectFollowerWithRotation follower) { var orbitPreviousFrame = previousFrame as OrbitOffsetModifierKeyframe; if (orbitPreviousFrame != null) { Vector3 orbitTranslationOffset = orbitPreviousFrame.orbitTranslation.lerp(ref orbitTranslation, ref percentage); Quaternion orbitRotationOffset = orbitPreviousFrame.orbitRotation.nlerp(ref orbitRotation, ref percentage); float radiusOffset = orbitPreviousFrame.orbitRadius.interpolate(orbitRadius, percentage); Quaternion orbiterAdditionalRotationOffset = orbitPreviousFrame.orbiterAdditionalRotation.nlerp(ref orbiterAdditionalRotation, ref percentage); follower.TranslationOffset = orbitTranslationOffset + Quaternion.quatRotate(orbitRotationOffset, orbitStartDirection * radiusOffset); follower.RotationOffset = orbitRotationOffset * orbiterAdditionalRotationOffset; follower.computePosition(); } }
public void removeFrame(OffsetModifierKeyframe frame) { keyframes.Remove(frame); }
public void addKeyframe(OffsetModifierKeyframe frame) { keyframes.Add(frame); }
public OffsetKeyframeData(OffsetModifierKeyframe keyframe, OffsetModifierSequence sequence, OffsetSequenceEditor editor) { this.keyframe = keyframe; this.sequence = sequence; this.editor = editor; }
internal void addToTimeline(OffsetModifierKeyframe state) { timelineView.addData(new OffsetKeyframeData(state, offsetSequence, this)); }