Libraries.Game.Collision.Item2DNode Documentation

The Item2DNode class represents a node to be contained within a tree. It has an item and a boundingBox plus a node ID and the index of this node among its sibings

Example Code

use Libraries.Game.Collision.DynamicBoundingVolumeTree2D
use Libraries.Game.Collision.Item2DNode

DynamicBoundingVolumeTree2D tree

Item2DNode item1
Item2DNode item2

integer id1 = tree:CreateNode(item1:GetBoundingBox(), item1)
integer id2 = tree:CreateNode(item2:GetBoundingBox(), item2)

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)

GetBoundingBox()

This action returns the BoundingBox2D which contains the item this node represents. This action is used internally.

Return

Libraries.Game.Collision.BoundingBox2D: The BoundingBox2D represented by this Item2DNode.

Example

use Libraries.Game.Collision.Item2DNode
use Libraries.Game.Collision.BoundingBox2D

    Item2DNode node
    BoundingBox2D boundingBox
    boundingBox = node:GetBoundingBox()

GetChildIndex()

This action returns the child index of this node within its tree. This action is used internally.

Return

integer: The child index of this Item2DNode.

Example

use Libraries.Game.Collision.Item2DNode

    Item2DNode node
    integer index = node:GetChildIndex()

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

GetItem()

This action returns the Item2D this node represents. This action is used internally.

Return

Libraries.Interface.Item2D: The Item2D represented by this Item2DNode.

Example

use Libraries.Game.Collision.Item2DNode
use Libraries.Game.Collision.Item2D

    Item2DNode node
    Item2D item
    item = node:GetItem()

GetNodeID()

This action gets the id of this node. This action is used internally.

Return

integer: The id of this node.

Example

use Libraries.Game.Collision.Item2DNode

Item2DNode node
integer id = node:GetID()

SetBoundingBox(Libraries.Game.Collision.BoundingBox2D boundingBox)

This action sets the BoundingBox2D which contains the item this node represents. This action is used internally.

Parameters

Example

use Libraries.Game.Collision.Item2DNode
use Libraries.Game.Collision.BoundingBox2D

    Item2DNode node
    BoundingBox2D boundingBox
    node:SetBoundingBox(boundingBox)

SetChildIndex(integer index)

This action sets the child index of this node within its tree. This action is used internally.

Parameters

  • integer index: The child index of this Item2DNode.

Example

use Libraries.Game.Collision.Item2DNode

    integer nodeCount = 5
    integer counter = 0
    repeat while counter < nodeCount
        Item2DNode node
        node:SetChildIndex(i)
        nodes:Add(node)
        counter = counter + 1
    end

SetItem(Libraries.Interface.Item2D item)

This action sets the Item2D this node represents to be the passed item. This action is used internally.

Parameters

Example

use Libraries.Game.Collision.Item2DNode
use Libraries.Game.Collision.Item2D

    Item2DNode node
    Item2D item
    node:SetItem()

SetNodeID(integer id)

This action sets the id of this node. This action is used internally.

Parameters

  • integer id

Example

use Libraries.Game.Collision.Item2DNode

Item2DNode node
integer nodeID = 0
node:SetID(nodeID)