Libraries.Game.Collision.LocalCollisionPoints3D Documentation
This class records at max 4 collision points during one collision between two objects. When more collision points are calculated by the program, the program will keep the collision points that causes the deepest penetration. This class is also known as the persistent manifold.
Inherits from: Libraries.Language.Object
Variables Table
Variables | Description |
---|---|
integer MAX_COLLISION_POINTS |
Actions Documentation
AddCollisionPoint(Libraries.Game.Collision.CollisionPoint3D newPoint)
This action adds a new collision point to this LocalCollisionPoints3D.
Parameters
- Libraries.Game.Collision.CollisionPoint3D: The collision point to be added.
Return
integer:
ClearCollisionPoints()
This action deletes all of the collision points that is stored inside this LocalCollisionPoints3D class.
ClearPersistentData(Libraries.Game.Collision.CollisionPoint3D point)
This action clears all of the data about forces, impulses, etc. applied at a collision point.
Parameters
- Libraries.Game.Collision.CollisionPoint3D: The collision point of interest.
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
- Libraries.Language.Object: The object to compare to.
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
- Libraries.Language.Object: The to be compared.
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)
GetBody0()
This action returns the first 3D object that is involved in the collision recorded in this LocalCollisionPoints3D.
Return
Libraries.Interface.Item3D: the first 3D object that is involved in the collision recorded in this LocalCollisionPoints3D.
GetBody1()
This action returns the second 3D object that is involved in the collision recorded in this LocalCollisionPoints3D.
Return
Libraries.Interface.Item3D: the second 3D object that is involved in the collision recorded in this LocalCollisionPoints3D.
GetCacheEntry(Libraries.Game.Collision.CollisionPoint3D newPoint)
This action returns the index of a collision point stored inside this LocalCollisionPoints3D that is closest to the "CollisionPoint3D newPoint" that you passed in.
Parameters
- Libraries.Game.Collision.CollisionPoint3D: The collision point that you want to find the closest point that is already in the current LocalCollisionPoints3D
Return
integer: the index of a collision point stored inside this LocalCollisionPoints3D that is closest to the "CollisionPoint3D newPoint."
GetCollisionBreakingThreshold()
This action returns the maximum distance between the two objects for the two objects to still be considered as touching or colliding.
Return
number: 0.2
GetCollisionPoint(integer index)
This action returns a specific collision point based on the array index that you passed in.
Parameters
- integer index: Array index of the collision point that you want to access.
Return
Libraries.Game.Collision.CollisionPoint3D: the specific collision point based on the array index that you passed in.
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()
GetIndexA()
This action returns what index this LocalCollisionPoints3D resides in an array if this LocalCollisionPoints3D was ever push into an array of LocalCollisionPoints3Ds.
Return
integer: what index this LocalCollisionPoints3D resides in an array.
GetPointCount()
This action returns number of collision points being recorded by this LocalCollisionPoints3D.
Return
integer: the number of collision points being recorded by this LocalCollisionPoints3D.
RefreshCollisionPoints(Libraries.Game.Collision.PhysicsPosition3D transformA, Libraries.Game.Collision.PhysicsPosition3D transformB)
This action changes the global coordinates of the collision points on objects A and B.
Parameters
- Libraries.Game.Collision.PhysicsPosition3D: The position of the first object.
- Libraries.Game.Collision.PhysicsPosition3D: The position of the second object.
RemoveCollisionPoint(integer index)
This action deletes a collision point from this LocalCollisionPoints3D.
Parameters
- integer index: The index of the collision point that should be deleted from the current LocalCollisionPoints3D.
ReplaceCollisionPoint(Libraries.Game.Collision.CollisionPoint3D newPoint, integer insertIndex)
This action switches out a collision point stored at the "insertIndex" of this LocalCollisionPoints3D with a "newPoint" that you passed in.
Parameters
- Libraries.Game.Collision.CollisionPoint3D: The collision point that will replace another collision point.
- integer insertIndex: The index to put this new collision point.
Set(Libraries.Interface.Item3D body0, Libraries.Interface.Item3D body1)
This action records the 3D objects that are involved in the collision into this LocalCollisionPoints3D class and reset the number of collision points recorded to 0 and the index of this LocalCollisionPoints3D (if there is ever an array of LocalCollisionPoints3D) to 0.
Parameters
- Libraries.Interface.Item3D: The first item.
- Libraries.Interface.Item3D: The second item.
SetBodies(Libraries.Interface.Item3D body0, Libraries.Interface.Item3D body1)
This action records the 3D objects that are involved in the collision into this LocalCollisionPoints3D class.
Parameters
- Libraries.Interface.Item3D: The first object that is involved in the collision.
- Libraries.Interface.Item3D: The second object that is involved in the collision.
SetIndexA(integer index)
This action sets what index this LocalCollisionPoints3D resides in an array when this LocalCollisionPoints3D is inserted into an array of LocalCollisionPoints3D.
Parameters
- integer index: The index that this LocalCollisionPoints3D resides in, in an array
On this page
Variables TableAction Documentation- AddCollisionPoint(Libraries.Game.Collision.CollisionPoint3D newPoint)
- ClearCollisionPoints()
- ClearPersistentData(Libraries.Game.Collision.CollisionPoint3D point)
- Compare(Libraries.Language.Object object)
- Equals(Libraries.Language.Object object)
- GetBody0()
- GetBody1()
- GetCacheEntry(Libraries.Game.Collision.CollisionPoint3D newPoint)
- GetCollisionBreakingThreshold()
- GetCollisionPoint(integer index)
- GetHashCode()
- GetIndexA()
- GetPointCount()
- RefreshCollisionPoints(Libraries.Game.Collision.PhysicsPosition3D transformA, Libraries.Game.Collision.PhysicsPosition3D transformB)
- RemoveCollisionPoint(integer index)
- ReplaceCollisionPoint(Libraries.Game.Collision.CollisionPoint3D newPoint, integer insertIndex)
- Set(Libraries.Interface.Item3D body0, Libraries.Interface.Item3D body1)
- SetBodies(Libraries.Interface.Item3D body0, Libraries.Interface.Item3D body1)
- SetIndexA(integer index)