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);
 }
  protected void setHeading(
      View view,
      AnimationController animControl,
      Angle heading,
      ViewInputAttributes.ActionAttributes attrib) {
    double smoothing = attrib.getSmoothingValue();
    if (!(attrib.isEnableSmoothing() && this.isEnableSmoothing())) smoothing = 0.0;

    AngleAnimator angleAnimator =
        new RotateToAngleAnimator(
            view.getHeading(),
            heading,
            smoothing,
            ViewPropertyAccessor.createHeadingAccessor(view));
    animControl.put(VIEW_ANIM_HEADING, angleAnimator);
  }
  protected void onResetHeading(ViewInputAttributes.ActionAttributes actionAttribs) {

    View view = this.getView();
    if (view == null) // include this test to ensure any derived implementation performs it
    {
      return;
    }
    double smoothing = actionAttribs.getSmoothingValue();
    if (!(actionAttribs.isEnableSmoothing() && this.isEnableSmoothing())) smoothing = 0.0;
    this.gotoAnimControl.put(
        VIEW_ANIM_HEADING,
        new RotateToAngleAnimator(
            view.getHeading(),
            Angle.ZERO,
            smoothing,
            ViewPropertyAccessor.createHeadingAccessor(view)));
    view.firePropertyChange(AVKey.VIEW, null, view);
  }