Class Fox::FXRange

In: | FXRange.rb
Parent: | Object

Represents a range in 3-D space.

Methods

clipTo contains? corners empty? include intersects? new overlaps? side

Attributes

center | [R] | Center point [FXVec]
depth | [R] | Depth of box [Float]
diagonal | [R] | Length of the diagonal [Float]
height | [R] | Height of box [Float]
longest | [R] | Length of longest side [Float]
shortest | [R] | Length of shortest side [Float]
width | [R] | Width of box [Float]

Public Class methods

new(xlo=0.0, xhi=0.0, ylo=0.0, yhi=0.0, zlo=0.0, zhi=0.0)

Initialize

Public Instance methods

side(i)

Return the length of side i, where i is 0, 1 or 2.

empty?()

Returns `true` if this is an empty range (i.e. if any of the side lengths is zero or less).

overlaps?(other)

Returns `true` if any part of this range overlaps the other range.

contains?(x, y, z)

Returns `true` if this range contains the point (x, y, z).

include(*args)

Include the given range or point into this range. Valid forms are:

        range.include(aRange) -> range
        range.include(x, y, z) -> range
        range.include(vec)     -> range

clipTo(other)

Clip this range against other range.

corners()

Return the corners of this box as an array of eight points.

intersects?(u, v)

Ray intersection test