예제 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="rotation"></param>
        /// <returns></returns>
        public bool Set(AxisAngle3d rotation)
        {
            if (rotation.IsValid)
            {
                SetImpl(rotation.Axis, rotation.CosAngle, rotation.SinAngle);
                return(true);
            }

            return(false);
        }
예제 #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="rotation"></param>
 public void Set(AxisAngle3d rotation)
 {
     SetImpl(rotation.Axis, rotation.Angle);
 }
예제 #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="rotation"></param>
 public Quaterniond(AxisAngle3d rotation)
     : this()
 {
     Set(rotation);
 }
예제 #4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="rotation"></param>
 /// <param name="point"></param>
 /// <returns></returns>
 public static Orient3d CreateRotationAboutPoint(AxisAngle3d rotation, Vector3d point)
 {
     throw new NotImplementedException();
 }
예제 #5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="other"></param>
 /// <param name="epsilon"></param>
 /// <returns></returns>
 public bool ApproxEquals(AxisAngle3d other, double epsilon = D.ZeroTolerance)
 {
     return
         (SlurMath.ApproxEquals(_angle, other._angle, epsilon) &&
          _axis.ApproxEquals(other._axis, epsilon));
 }
예제 #6
0
 /// <summary>
 /// Applies the given rotation to the axis of this rotation.
 /// </summary>
 /// <param name="rotation"></param>
 public void RotateAxis(AxisAngle3d rotation)
 {
     _axis = rotation.Apply(_axis);
 }
예제 #7
0
 /// <summary>
 /// Applies the given rotation to this object.
 /// </summary>
 /// <param name="rotation"></param>
 public void Rotate(AxisAngle3d rotation)
 {
     SetOrthoXY(rotation.Apply(_x), rotation.Apply(_y));
 }
예제 #8
0
 /// <summary>
 ///
 /// </summary>
 public OrthoBasis3d(AxisAngle3d rotation)
     : this()
 {
     Set(rotation);
 }