/// <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); }
/// <summary> /// /// </summary> /// <param name="rotation"></param> public void Set(AxisAngle3d rotation) { SetImpl(rotation.Axis, rotation.Angle); }
/// <summary> /// /// </summary> /// <param name="rotation"></param> public Quaterniond(AxisAngle3d rotation) : this() { Set(rotation); }
/// <summary> /// /// </summary> /// <param name="rotation"></param> /// <param name="point"></param> /// <returns></returns> public static Orient3d CreateRotationAboutPoint(AxisAngle3d rotation, Vector3d point) { throw new NotImplementedException(); }
/// <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)); }
/// <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); }
/// <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)); }
/// <summary> /// /// </summary> public OrthoBasis3d(AxisAngle3d rotation) : this() { Set(rotation); }