Example #1
0
        /// <summary>Calculate the absolute orientation of the hard point (relative to the ship heading)</summary>
        /// <param name="orientation"> </param>
        /// <returns></returns>
        private Vector GetAbsoluteOrientation(Vector orientation)
        {
            if (Ship.Heading == Vector.Zero)
                return orientation;

            var upVector = new Vector(0, 1);

            var rightVector = (Ship.Heading * upVector);

            var rotate = Vector.Angle(upVector, Ship.Heading);
            return rightVector.Z < 0d
                ? orientation.RotateZ(rotate)
                : orientation.RotateZ(-rotate);
        }