protected void onResetHeadingPitchRoll(ViewInputAttributes.ActionAttributes actionAttribs) { View view = this.getView(); if (view == null) // include this test to ensure any derived implementation performs it { return; } double smoothing = 0.95; this.gotoAnimControl.put( VIEW_ANIM_HEADING, new RotateToAngleAnimator( view.getHeading(), Angle.ZERO, smoothing, ViewPropertyAccessor.createHeadingAccessor(view))); this.gotoAnimControl.put( VIEW_ANIM_PITCH, new RotateToAngleAnimator( view.getPitch(), Angle.POS90, smoothing, ViewPropertyAccessor.createPitchAccessor(view))); this.gotoAnimControl.put( VIEW_ANIM_ROLL, new RotateToAngleAnimator( view.getPitch(), Angle.ZERO, smoothing, ViewPropertyAccessor.createRollAccessor(view))); view.firePropertyChange(AVKey.VIEW, null, view); }
/** * Set the roll in a view. * * @param view View to modify. * @param animControl Animator controller for the view. * @param roll new roll value. * @param attrib action that caused the roll to change. */ protected void setRoll( View view, AnimationController animControl, Angle roll, ViewInputAttributes.ActionAttributes attrib) { double smoothing = attrib.getSmoothingValue(); if (!(attrib.isEnableSmoothing() && this.isEnableSmoothing())) smoothing = 0.0; AngleAnimator angleAnimator = new RotateToAngleAnimator( view.getRoll(), roll, smoothing, ViewPropertyAccessor.createRollAccessor(view)); animControl.put(VIEW_ANIM_ROLL, angleAnimator); }