title: Having problems with RotateTransform3D
body: <p>I'm making a program in which, I'm trying to implement several transformations on ModelVisual3D. I have no problem with TranslateTransform3D, but when I try to rotate an object(ModelVisual3D) its CenterX, CenterY and CenterZ coordinates are going to 0,0,0. I don't have any idea how to remember the last position of the object and when I rotate it, the object stay there where I translated it. I implemented rotate of an object to be when LeftMouseButton is double clicked, but rotation is executing only once.Here is the peace of code, which corresponds for RotateTransform: </p>
  
  <pre><code>MyViewport.MouseMove += (sender, e) =&gt;
  {
      if (modelHit != null &amp;&amp; e.LeftButton == MouseButtonState.Pressed)
      {
  
          Point endPosition = e.GetPosition(gridDesigner);
          Vector3D vector3D = GetTranslationVector3D(modelHit, startPosition, endPosition);
  
          Matrix3D matrix3D = modelHit.Transform.Value;
          vector3D += new Vector3D(matrix3D.OffsetX, matrix3D.OffsetY, matrix3D.OffsetZ);
  
          matrix3D.OffsetX = vector3D.X;
          matrix3D.OffsetY = 0.2f;
          matrix3D.OffsetZ = vector3D.Z;
          modelHit.Transform = new MatrixTransform3D(matrix3D);
          startPosition = endPosition;
  
          MyViewport.MouseLeftButtonDown += (Sender, m) =&gt;
              {
                  if (modelHit != null &amp;&amp; m.LeftButton == MouseButtonState.Pressed)
                  {
                      RotateTransform3D rotateTransform = new RotateTransform3D();
                      AxisAngleRotation3D axisAngleRotation=new AxisAngleRotation3D();
  
                      Matrix3D modelHitCoordinates = modelHit.Transform.Value;
                      rotateTransform.CenterX = modelHitCoordinates.OffsetX;
                      rotateTransform.CenterY = 0.1;
                      rotateTransform.CenterZ = modelHitCoordinates.OffsetZ;
  
                      axisAngleRotation.Axis = new Vector3D(0, 1, 0);
                      axisAngleRotation.Angle = 0;
                      rotateTransform.Rotation = axisAngleRotation;
  
                      if  (m.ClickCount == 2)
                      {
                          axisAngleRotation.Angle += 45;
                          modelHit.Transform = rotateTransform;
  
                      }
  
                  }
              };
      }
  };
  </code></pre>