Libraries.Game.Physics.Mass2D Documentation

Mass2D is a class representing a mass in 2D space.

Example Code

use Libraries.Game.Physics.Mass2D
use Libraries.Compute.Vector2

Vector2 vectorSetting
vectorSetting:Set(8.0, 9.0)
Mass2D mass
mass:SetMass(5.0)
mass:SetInertia(2.0)
mass:SetCenter(vectorSetting)

number newMass = mass:GetMass()
number newInertia = mass:GetInertia()
number newX = mass:GetCenter():GetX()
number newY = mass:GetCenter():GetY()
output "The new mass has a mass of " + newMass + ", inertia of: " + newInertia + ", x center at: " + newX + ", and y center at: " + newY

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)

Copy()

This action returns a copy of the current mass. The copied mass will have the same mass, center, and inertia as the current mass.

Return

Libraries.Game.Physics.Mass2D: a mass in 2D space.

Example

use Libraries.Game.Physics.Mass2D
use Libraries.Compute.Vector2

Vector2 vectorSetting
vectorSetting:Set(8.0, 9.0)
Mass2D massBeingCopied

//setting the mass that we will copy
massBeingCopied:SetMass(5.0)
massBeingCopied:SetInertia(2.0)
massBeingCopied:SetCenter(vectorSetting)


//copy the mass
Mass2D copyMass
copyMass = massBeingCopied:Copy()
number copiedMass = copyMass:GetMass()
number copiedInertia = copyMass:GetInertia()
number copiedX = copyMass:GetCenter():GetX()
number copiedY = copyMass:GetCenter():GetY()
output "The copy of the mass has a mass of " + copiedMass + ", inertia of: " + copiedInertia + ", x center at: " + copiedX + ", and y center at: " + copiedY

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)

GetCenter()

This action gets the vector that points to the center of the mass in 2D.

Return

Libraries.Compute.Vector2: a 2D vector that points to the center of the mass in 2D.

Example

use Libraries.Game.Physics.Mass2D
use Libraries.Compute.Vector2

Vector2 centerOfMassSetting
centerOfMassSetting:Set(1.0, 3.0)

Mass2D mass
mass:SetCenter(centerOfMassSetting)

Vector2 centerOfMass
centerOfMass = mass:GetCenter()

number xComponent = centerOfMass:GetX()
number yComponent = centerOfMass:GetY()
output "The center of mass vector is: <" + xComponent + ", " + yComponent + ">"

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()

GetInertia()

This action sets the inertia of a mass in 2D space.

Return

number: the value of inertia of the current 2D mass.

Example

use Libraries.Game.Physics.Mass2D

number inertiaSetting = 5.0
Mass2D mass
mass:SetInertia(inertiaSetting)

number inertiaValue = mass:GetInertia()
output "The inertia of mass in 2D is: " + inertiaValue

GetMass()

This action returns the mass of a mass in 2D space.

Return

number: the value of mass.

Example

use Libraries.Game.Physics.Mass2D

Mass2D mass
mass:SetMass(0.5)

number massValue = mass:GetMass()
output "The mass that you have set is: " + massValue

Set(Libraries.Game.Physics.Mass2D mass)

This action sets the properties of a 2D mass using another 2D mass.

Parameters

Example

use Libraries.Game.Physics.Mass2D
use Libraries.Compute.Vector2

Vector2 vectorSetting
vectorSetting:Set(8.0, 9.0)
Mass2D mass1
Mass2D mass2
mass1:SetMass(5.0)
mass1:SetInertia(2.0)
mass1:SetCenter(vectorSetting)

mass2:Set(mass1)
number newMass = mass2:GetMass()
number newInertia = mass2:GetInertia()
number newX = mass2:GetCenter():GetX()
number newY = mass2:GetCenter():GetY()
output "The new mass has a mass of " + newMass + ", inertia of: " + newInertia + ", x center at: " + newX + ", and y center at: " + newY

SetCenter(Libraries.Compute.Vector2 center)

This action sets the vector that points to the center of a mass in 2D space.

Parameters

Example

use Libraries.Game.Physics.Mass2D
use Libraries.Compute.Vector2

Vector2 centerOfMassSetting
centerOfMassSetting:Set(1.0, 3.0)

Mass2D mass
mass:SetCenter(centerOfMassSetting)

Vector2 centerOfMass
centerOfMass = mass:GetCenter()

number xComponent = centerOfMass:GetX()
number yComponent = centerOfMass:GetY()
output "The center of mass vector is: <" + xComponent + ", " + yComponent + ">"

SetInertia(number inertia)

This action sets the inertia of a mass in 2D space.

Parameters

  • number inertia: The value of inertia of a 2D mass.

Example

use Libraries.Game.Physics.Mass2D

number inertiaSetting = 5.0
Mass2D mass
mass:SetInertia(inertiaSetting)

number inertiaValue = mass:GetInertia()
output "The inertia of mass in 2D is: " + inertiaValue

SetMass(number mass)

This action sets the value of mass of a mass in 2D space.

Parameters

  • number mass: The value of mass that is used to set the property of a 2D mass.

Example

use Libraries.Game.Physics.Mass2D

Mass2D mass
mass:SetMass(5.5)

number massValue = mass:GetMass()
output "The mass of this mass in 2D is: " + massValue