Libraries.Game.Collision.CollisionPointsResult3D Documentation
This class stores the collision points between the two objects colliding in addition to providing functions that calculates the friction and restitution between these two objects.
Inherits from: Libraries.Language.Object
Summary
Actions Summary Table
Actions | Description |
---|---|
AddCollisionPoint(Libraries.Compute.Vector3 normalOnBInWorld, Libraries.Compute.Vector3 pointInWorld, number depth) | This action adds a collision point to this CollisionPointsResult3D class. |
CalculateCombinedFriction(Libraries.Interface.Item3D body0, Libraries.Interface.Item3D body1) | This action calculates the friction between the two objects. |
CalculateCombinedRestitution(Libraries.Interface.Item3D body0, Libraries.Interface.Item3D body1) | This action calculates the restitution between the two objects. |
Compare(Libraries.Language.Object object) | This action compares two object hash codes and returns an integer. |
Equals(Libraries.Language.Object object) | This action determines if two objects are equal based on their hash code values. |
GetCollisionPoints() | This action returns a bundle of collision points to this CollisionPointsResult3D using the collision points bundled inside LocalCollisionPoints3D. |
GetHashCode() | This action gets the hash code for an object. |
Initialize(Libraries.Interface.Item3D body0, Libraries.Interface.Item3D body1) | This action adds the bodies that are colliding into this CollisionPointsResult3D class. |
RefreshCollisionPoints() | This action changes the collision points between the two objects to new points calculated. |
SetCollisionPoints(Libraries.Game.Collision.LocalCollisionPoints3D collisionPoints) | This action allows you to add a bundle of collision points to this CollisionPointsResult3D using the collision points bundled inside LocalCollisionPoints3D. |
SetShapeIdentifiers(integer partID0, integer index0, integer partID1, integer index1) | This action allows you to set if objects A and B are a convex part of a larger object or is in a triangular mesh. |
Actions Documentation
AddCollisionPoint(Libraries.Compute.Vector3 normalOnBInWorld, Libraries.Compute.Vector3 pointInWorld, number depth)
This action adds a collision point to this CollisionPointsResult3D class.
Parameters
- Libraries.Compute.Vector3
- Libraries.Compute.Vector3: The collision point on B in world coordinates.
- number depth: The shortest distance from the collision point on B to the collision point on A.
CalculateCombinedFriction(Libraries.Interface.Item3D body0, Libraries.Interface.Item3D body1)
This action calculates the friction between the two objects.
Parameters
Return
number: the friction between the two objects.
CalculateCombinedRestitution(Libraries.Interface.Item3D body0, Libraries.Interface.Item3D body1)
This action calculates the restitution between the two objects.
Parameters
Return
number: the restitution between the two objects.
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.
Example Code
Object o
Object t
integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smaller)
Parameters
- Libraries.Language.Object: The object to compare to.
Return
integer: The Compare result, Smaller, Equal, or Larger.
Equals(Libraries.Language.Object object)
This action determines if two objects are equal based on their hash code values.
Example Code
use Libraries.Language.Object
use Libraries.Language.Types.Text
Object o
Text t
boolean result = o:Equals(t)
Parameters
- Libraries.Language.Object: The to be compared.
Return
boolean: True if the hash codes are equal and false if they are not equal.
GetCollisionPoints()
This action returns a bundle of collision points to this CollisionPointsResult3D using the collision points bundled inside LocalCollisionPoints3D.
Return
Libraries.Game.Collision.LocalCollisionPoints3D: the collision points.
GetHashCode()
This action gets the hash code for an object.
Example Code
Object o
integer hash = o:GetHashCode()
Return
integer: The integer hash code of the object.
Initialize(Libraries.Interface.Item3D body0, Libraries.Interface.Item3D body1)
This action adds the bodies that are colliding into this CollisionPointsResult3D class.
Parameters
- Libraries.Interface.Item3D: The first body that is colliding.
- Libraries.Interface.Item3D: The second body that is colliding.
RefreshCollisionPoints()
This action changes the collision points between the two objects to new points calculated.
SetCollisionPoints(Libraries.Game.Collision.LocalCollisionPoints3D collisionPoints)
This action allows you to add a bundle of collision points to this CollisionPointsResult3D using the collision points bundled inside LocalCollisionPoints3D.
Parameters
SetShapeIdentifiers(integer partID0, integer index0, integer partID1, integer index1)
This action allows you to set if objects A and B are a convex part of a larger object or is in a triangular mesh.
Parameters
- integer partID0: The part ID of object A.
- integer index0: The index of object A.
- integer partID1: The part ID of object B.
- integer index1: The index of object B.