Libraries.Game.Collision.PhysicsPosition3D Documentation

This class stores coordinate systems in 3D space, where the coordinate system represent the position of the 3D item and the tilt of the 3D item with respect to your screen. NOTE: this class can be seen as the class that stores a 4x4 transformation matrix.

Inherits from: Libraries.Language.Object

Actions Documentation

Compare(Libraries.Language.Object object)

This action compares two object hash codes and returns an integer. The result is larger if this hash code is larger than the object passed as a parameter, smaller, or equal. In this case, -1 means smaller, 0 means equal, and 1 means larger. This action was changed in Quorum 7 to return an integer, instead of a CompareResult object, because the previous implementation was causing efficiency issues.

Parameters

Return

integer: The Compare result, Smaller, Equal, or Larger.

Example

Object o
Object t
integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smaller)

Equals(Libraries.Language.Object object)

This action determines if two objects are equal based on their hash code values.

Parameters

Return

boolean: True if the hash codes are equal and false if they are not equal.

Example

use Libraries.Language.Object
use Libraries.Language.Types.Text
Object o
Text t
boolean result = o:Equals(t)

GetBasis()

This action gets the tilt of the 3D object (the rotational part of the transformation matrix).

Return

Libraries.Compute.Matrix3: the tilt of the 3D object.

GetHashCode()

This action gets the hash code for an object.

Return

integer: The integer hash code of the object.

Example

Object o
integer hash = o:GetHashCode()

GetMatrix(Libraries.Compute.Matrix4 matrix)

This action returns a 4x4 transformation matrix representation of this PhysicsPosition3D.

Parameters

Return

Libraries.Compute.Matrix4: a 4x4 transformation matrix representation of this PhysicsPosition3D.

GetOrigin()

This action gets the position of the 3D object (the 3D object's local origin with respect to the global coordinates).

Return

Libraries.Compute.Vector3: the center of the 3D object.

GetRotation()

This action returns a quaternion (another holder of the position and tilt information) that represents the current PhysicsPosition3D.

Return

Libraries.Compute.Quaternion: The current position and tilt of the 3D object represented in the form of a quaternion.

Inverse(Libraries.Game.Collision.PhysicsPosition3D transform)

This action stores the inverse of the transformation matrix passed in.

Parameters

Inverse()

This action calculates the inverse of the transformation matrix stored inside this PhysicsPosition3D.

InverseTransform(Libraries.Compute.Vector3 in, Libraries.Compute.Vector3 out)

This action multiplies "Vector3 in" with the inverse of the current PhysicsPosition3D and store the result in "Vector3 out." Mathematically: out = [currT]^(-1) * in

Parameters

Multiply(Libraries.Game.Collision.PhysicsPosition3D transform)

This action changes the current PhysicsPosition3D with respect to the current PhysicsPosition3D using the "PhysicsPosition3D transform" passed in. A mathematical representation is: [currT] = [currT][passedInT].

Parameters

Multiply(Libraries.Game.Collision.PhysicsPosition3D transform1, Libraries.Game.Collision.PhysicsPosition3D transform2)

This action multiplies two transformation matrices together and store the result in the current PhysicsPosition3D. Mathematically: [currT] = [T_1][T_2].

Parameters

Output()

the position of the 3D object's origin with respect to the origin of the global coordinates

Set(Libraries.Compute.Matrix4 matrix)

This action sets the position of a 3D object using a matrix that contains both the tilt of the object and the position of the 3D object's center with respect to the world center.

Parameters

Set(Libraries.Compute.Matrix3 matrix)

This action sets the tilt of the 3D object and reset the position of the 3D object (the 3D object's local origin) to the global coordinate's origin. If you don't want the origin of the 3D object to be reset, please use the action "Set(Matrix3 basis, Vector3 origin)."

Parameters

Set(Libraries.Game.Collision.PhysicsPosition3D transform)

This action sets the location and the tilt of the 3D object using another PhysicsPosition3D.

Parameters

Set(Libraries.Compute.Matrix3 basis, Libraries.Compute.Vector3 origin)

This action sets the tilt of the 3D object using "Matrix3 basis" and sets the location of the 3D object using "Vector3 origin."

Parameters

SetRotation(Libraries.Compute.Quaternion quaternion)

This action sets the current PhysicsPosition3D using a quaternion that is passed in.

Parameters

SetToIdentity()

This action sets the tilt of the 3D object to be 0 and make the position of the 3D object described by this PhysicsPosition3D to align with the global origin.

Transform(Libraries.Compute.Vector3 vector)

This action turns a point/vector (Vector3 vector) that is described relative to the 3D object and change it so that the point/vector is described in the global coordinates.

Parameters