/// <summary>Get Euler rotation of this turret's heading and pitch nodes.</summary> /// <description> /// /// </description> /// <returns>the orientation of the turret's heading and pitch nodes in the form of rotations around the X, Y and Z axes in degrees.</returns> public Point3F GetTurretEulerRotation() { InternalUnsafeMethods.GetTurretEulerRotation__Args _args = new InternalUnsafeMethods.GetTurretEulerRotation__Args() { }; Point3F.InternalStruct _engineResult = InternalUnsafeMethods.GetTurretEulerRotation()(ObjectPtr, _args); return(new Point3F(_engineResult)); }
/// <description> /// Get the starting point of an off-mesh link. /// </description> public Point3F GetLinkStart(uint id) { InternalUnsafeMethods.GetLinkStart__Args _args = new InternalUnsafeMethods.GetLinkStart__Args() { id = id, }; Point3F.InternalStruct _engineResult = InternalUnsafeMethods.GetLinkStart()(ObjectPtr, _args); return(new Point3F(_engineResult)); }
/// <summary>Get a specified node along the path.</summary> public Point3F GetNode(int idx) { InternalUnsafeMethods.GetNode__Args _args = new InternalUnsafeMethods.GetNode__Args() { idx = idx, }; Point3F.InternalStruct _engineResult = InternalUnsafeMethods.GetNode()(ObjectPtr, _args); return(new Point3F(_engineResult)); }
/// <description> /// Transform 3D screen-space coordinates (x, y, depth) to world space. /// This method can be, for example, used to find the world-space position relating to the current mouse cursor position. /// </description> /// <param name="screenPosition">The x/y position on the screen plus the depth from the screen-plane outwards.</param> /// <returns>The world-space position corresponding to the given screen-space coordinates.</returns> public Point3F Unproject(Point3F screenPosition) { screenPosition.Alloc(); InternalUnsafeMethods.Unproject__Args _args = new InternalUnsafeMethods.Unproject__Args() { screenPosition = screenPosition.internalStructPtr, }; Point3F.InternalStruct _engineResult = InternalUnsafeMethods.Unproject()(ObjectPtr, _args); screenPosition.Free(); return(new Point3F(_engineResult)); }
/// <description> /// Transform world-space coordinates to screen-space (x, y, depth) coordinates. /// </description> /// <param name="worldPosition">The world-space position to transform to screen-space.</param> /// <returns>The</returns> public Point3F Project(Point3F worldPosition) { worldPosition.Alloc(); InternalUnsafeMethods.Project__Args _args = new InternalUnsafeMethods.Project__Args() { worldPosition = worldPosition.internalStructPtr, }; Point3F.InternalStruct _engineResult = InternalUnsafeMethods.Project()(ObjectPtr, _args); worldPosition.Free(); return(new Point3F(_engineResult)); }
/// <summary>Mount objB to this object at the desired slot with optional transform.</summary> /// <description> /// /// </description> /// <param name="objB">Object to mount onto us</param> /// <param name="slot">Mount slot ID</param> /// <param name="txfm">(optional) mount offset transform</param> /// <returns>true if successful, false if failed (objB is not valid)</returns> public Point3F GetNodePosition(int node = -1) { InternalUnsafeMethods.GetNodePosition__Args _args = new InternalUnsafeMethods.GetNodePosition__Args() { node = node, }; Point3F.InternalStruct _engineResult = InternalUnsafeMethods.GetNodePosition()(ObjectPtr, _args); return(new Point3F(_engineResult)); }
/// <summary>Apply an impulse to this object as defined by a world position and velocity vector.</summary> /// <description> /// /// </description> /// <param name="pos">impulse world position</param> /// <param name="vel">impulse velocity (impulse force F = m * v)</param> /// <returns>Always true</returns> /// <remarks> Not all objects that derrive from GameBase have this defined. /// </remarks> public Point3F GetCollisionNormal(int collisionIndex) { InternalUnsafeMethods.GetCollisionNormal__Args _args = new InternalUnsafeMethods.GetCollisionNormal__Args() { collisionIndex = collisionIndex, }; Point3F.InternalStruct _engineResult = InternalUnsafeMethods.GetCollisionNormal()(ObjectPtr, _args); return(new Point3F(_engineResult)); }
/// <summary>Mount objB to this object at the desired slot with optional transform.</summary> /// <description> /// /// </description> /// <param name="objB">Object to mount onto us</param> /// <param name="slot">Mount slot ID</param> /// <param name="txfm">(optional) mount offset transform</param> /// <returns>true if successful, false if failed (objB is not valid)</returns> public Point3F GetNodeEulerRot(int node = -1, bool radToDeg = true) { InternalUnsafeMethods.GetNodeEulerRot__Args _args = new InternalUnsafeMethods.GetNodeEulerRot__Args() { node = node, radToDeg = radToDeg, }; Point3F.InternalStruct _engineResult = InternalUnsafeMethods.GetNodeEulerRot()(ObjectPtr, _args); return(new Point3F(_engineResult)); }