incorporates CommonCompoundMethods
Signature
Return Type
Description
create( position:XY )
Anchor
create( px:Real , py:Real )
Anchor
operator*( anchor:Anchor , size:XY )
XY
anchor * size -> delta (or the anchor position within the area (0,0,size)) Anchor.TOP_LEFT * Display.size -> XY(0,0) Anchor.BOTTOM_RIGHT * Display.size -> Display.size
operator*( size:XY , anchor:Anchor )
XY
size * anchor -> delta (or the anchor position within the area (0,0,size)) Display.size * Anchor.TOP_LEFT -> XY(0,0) Display.size * Anchor.BOTTOM_RIGHT -> Display.size
Name
Type
Description
position
XY
extends Object
Name
Type
Description
control_points
XY[]
curve_points
XY[]
is_modified
Logical
precision
Real?
use 1.0 for pixel coordinates or e.g. 0.001 for normalized coordinates
work_points
XY[]
incorporates CommonCompoundMethods
Signature
Return Type
Description
create( corners:Corners )
Box
create( existing:Box )
Box
Copy constructor. Boxes are immutable so this just returns the same box, but provided to ensure that Box(B) == B.
create( position:XY , size:XY )
Box
create( position:XY , width:Real , height:Real )
Box
create( size:XY )
Box
create( v:Variant )
Box
create( width:Real , height:Real )
Box
create( x:Real , y:Real , size:XY )
Box
create( x:Real , y:Real , width:Real , height:Real )
Box
from_corners( top_left:XY , bottom_right:XY )
Box
Name
Type
Description
position
XY
size
XY
Signature
Return Type
Description
at( anchor:Anchor )
XY
at( proportional_position:XY )
XY
at( proportional_subset:Box )
Box
at( u:Real , v:Real )
XY
at_random( [gen=Random:Random ] )
XY
bottom()
XY
bottom_left()
XY
bottom_right()
XY
bottommost( height:Real )
Box
cell( grid_index:XY , grid_size:XY )
Box
Example: cell( XY(i,j), XY(3,3) ) returns the bounds of one of the following grid cells depending on the values of (i,j): (0,0) | (1,0) | (2,0) ------+-------+------ (0,1) | (1,1) | (2,1) ------+-------+------ (0,2) | (1,2) | (2,2)
center()
XY
clamped( enclosing:Box , &shrink_to_fit )
Box
Clamps this box to the enclosing box
containing( xy:XY )
Box
contains( other:Box )
Logical
contains( pos:XY )
Logical
cropped( delta:Real )
Box
cropped( left:Real , top:Real , right:Real , bottom:Real )
Box
cropped( size:XY )
Box
description()
String
expanded( delta:Real )
Box
expanded( left:Real , top:Real , right:Real , bottom:Real )
Box
floor()
Box
hashcode()
Int
height()
Real
intersection( rhs:Box )
Box?
Returns the intersection of this box with another box.
intersects( circle:Circle )
Logical
intersects( line:Line )
Logical
intersects( other:Box )
Logical
intersects( quad:Quad )
Logical
intersects( triangle:Triangle )
Logical
left()
XY
leftmost( width:Real )
Box
operator&( rhs:Box )
Box?
operator*( scale:Real )
Box
operator*( scale:XY )
Box
operator+( offset:XY )
Box
operator-( offset:XY )
Box
operator/( scale:Real )
Box
operator/( scale:XY )
Box
operator<>( other:Box )
Int
operator==( other:Box )
Logical
operator|( rhs:Box )
Box
Returns the union of this box with another box.
positioned_within( enclosing:Box , [anchor=Anchor.CENTER:Anchor ] )
Box
print_to( buffer:PrintWriter )
relative_to( anchor:Anchor )
Box
Returns box of this.size that is positioned relative to its original position as an origin. For example, if XY(640,480) is the center of the screen, then: - Box(640,480,100,100) places the top-left corner of the box on (640,480) - Box(640,480,100,100).relative_to(Anchor.CENTER) places the center of the box on (640,480) - Box(640,480,100,100).relative_to(Anchor.BOTTOM_RIGHT) places the bottom-right corner of the box on (640,480)
removing_bottommost( height:Real )
Box
removing_leftmost( width:Real )
Box
removing_rightmost( width:Real )
Box
removing_topmost( height:Real )
Box
right()
XY
rightmost( width:Real )
Box
rotated( angle:Degrees )
Quad
rotated( angle:Radians )
Quad
round()
Box
scaled_to_fill( other:Box )
Box
scaled_to_fill( other_size:XY )
Box
scaled_to_fit( other:Box )
Box
scaled_to_fit( other_size:XY )
Box
scaled_to_height( height:Real )
Box
scaled_to_width( width:Real )
Box
subset( subset_size:XY , [anchor=Anchor.CENTER:Anchor ] )
Box
subset_x( new_width:Real , [anchor=Anchor.CENTER:Anchor ] )
Box
subset_y( new_height:Real , [anchor=Anchor.CENTER:Anchor ] )
Box
to<<Circle>>()
Circle
to<<Object>>()
Boxed<<Box>>
to<<Quad>>()
Quad
to<<String>>()
String
to<<Variant>>()
Variant
top()
XY
top_left()
XY
top_right()
XY
topmost( height:Real )
Box
type_info()
TypeInfo
width()
Real
with_height( new_height:Real )
Box
with_position( new_position:XY )
Box
with_size( new_size:XY )
Box
with_width( new_width:Real )
Box
x()
Real
x1()
Real
x2()
Real
y()
Real
y1()
Real
y2()
Real
incorporates CommonCompoundMethods
Name
Type
Description
position
XY
radius
Real
incorporates CommonCompoundMethods
Signature
Return Type
Description
create( bounds:Box )
Corners
create( top_left:XY , bottom_right:XY )
Corners
Name
Type
Description
bottom_right
XY
top_left
XY
incorporates CommonCompoundMethods
Signature
Return Type
Description
create( position:XY , size:XY )
Ellipse
Name
Type
Description
position
XY
size
XY
incorporates CommonCompoundMethods
Signature
Return Type
Description
create( corners:IntCorners )
IntBox
create( existing:IntBox )
IntBox
Copy constructor. Boxes are immutable so this just returns the same box, but provided to ensure that IntBox(B) == B.
create( position:IntXY , size:IntXY )
IntBox
create( position:IntXY , width:Int , height:Int )
IntBox
create( size:IntXY )
IntBox
create( width:Int , height:Int )
IntBox
create( x:Int , y:Int , size:IntXY )
IntBox
create( x:Int , y:Int , width:Int , height:Int )
IntBox
from_corners( top_left:IntXY , bottom_right:IntXY )
IntBox
Signature
Return Type
Description
at( anchor:Anchor )
IntXY
at( proportional_position:XY )
IntXY
at( u:Real , v:Real )
IntXY
at_random( [gen=Random:Random ] )
IntXY
bottom()
Int
bottom_left()
IntXY
bottom_right()
IntXY
bottommost( height:Int )
IntBox
cell( grid_index:IntXY , grid_size:IntXY )
IntBox
Example: at( IntXY(i,j), IntXY(3,3) ) returns the bounds of one of the following grid cells: (0,0) | (1,0) | (2,0) ------+-------+------ (0,1) | (1,1) | (2,1) ------+-------+------ (0,2) | (1,2) | (2,2)
center()
IntXY
clamped( enclosing:IntBox , &shrink_to_fit )
IntBox
Clamps this box to the enclosing box
contains( other:IntBox )
Logical
contains( pos:IntXY )
Logical
cropped( delta:Int )
IntBox
cropped( left:Int , top:Int , right:Int , bottom:Int )
IntBox
description()
String
expanded( delta:Int )
IntBox
expanded( left:Int , top:Int , right:Int , bottom:Int )
IntBox
hashcode()
Int
height()
Int
intersection( rhs:IntBox )
IntBox?
Returns the intersection of this box with another box.
intersects( circle:Circle )
Logical
intersects( line:Line )
Logical
intersects( other:IntBox )
Logical
intersects( quad:Quad )
Logical
intersects( triangle:Triangle )
Logical
left()
Int
leftmost( width:Int )
IntBox
operator&( rhs:IntBox )
IntBox?
operator*( scale:IntXY )
IntBox
operator*( scale:Real )
IntBox
operator+( offset:IntXY )
IntBox
operator-( offset:IntXY )
IntBox
operator/( scale:IntXY )
IntBox
operator/( scale:Real )
IntBox
operator==( other:IntBox )
Logical
operator|( rhs:IntBox )
IntBox
Returns the union of this box with another box.
positioned_within( enclosing:IntBox , [anchor=Anchor.CENTER:Anchor ] )
IntBox
print_to( buffer:PrintWriter )
relative_to( anchor:Anchor )
IntBox
Returns box of this.size that is positioned relative to its original position as an origin. For example, if IntXY(640,480) is the center of the screen, then: - IntBox(640,480,100,100) places the top-left corner of the box on (640,480) - IntBox(640,480,100,100).relative_to(Anchor.CENTER) places the center of the box on (640,480) - IntBox(640,480,100,100).relative_to(Anchor.BOTTOM_RIGHT) places the bottom-right corner of the box on (640,480)
right()
Int
rightmost( width:Int )
IntBox
rotated( angle:Degrees )
Quad
rotated( angle:Radians )
Quad
subset( subset_size:IntXY , [anchor=Anchor.CENTER:Anchor ] )
IntBox
subset_x( new_width:Int , [anchor=Anchor.CENTER:Anchor ] )
IntBox
subset_y( new_height:Int , [anchor=Anchor.CENTER:Anchor ] )
IntBox
to<<Box>>()
Box
to<<Object>>()
Boxed<<IntBox>>
to<<Quad>>()
Quad
to<<String>>()
String
to<<Variant>>()
Variant
top()
Int
top_left()
IntXY
top_right()
IntXY
topmost( height:Int )
IntBox
type_info()
TypeInfo
width()
Int
with_height( new_height:Int )
IntBox
with_position( new_position:IntXY )
IntBox
with_size( new_size:IntXY )
IntBox
with_width( new_width:Int )
IntBox
x()
Int
x1()
Int
x2()
Int
y()
Int
y1()
Int
y2()
Int
class IntCorners [compound]
incorporates CommonCompoundMethods
Name
Type
Description
bottom_right
IntXY
top_left
IntXY
incorporates CommonCompoundMethods
Signature
Return Type
Description
create( n:Int )
IntXY
create( r:Real , angle:Degrees )
IntXY
create( r:Real , angle:Radians )
IntXY
create( real_xy:XY )
IntXY
create( x:Int , y:Int )
IntXY
operator%( a:Int , b:IntXY )
IntXY
operator%( a:IntXY , b:Int )
IntXY
operator%( a:IntXY , b:IntXY )
IntXY
operator%( a:IntXY , b:XY )
XY
operator%( a:XY , b:IntXY )
XY
operator&( a:IntXY , b:Int )
IntXY
operator&( a:IntXY , b:IntXY )
IntXY
operator*( a:Int , b:IntXY )
IntXY
operator*( a:IntXY , b:Int )
IntXY
operator*( a:IntXY , b:IntXY )
IntXY
operator*( a:IntXY , b:Real )
XY
operator*( a:IntXY , b:XY )
XY
operator*( a:XY , b:IntXY )
XY
operator+( a:IntXY , b:IntXY )
IntXY
operator+( a:IntXY , b:XY )
XY
operator-( a:IntXY , b:IntXY )
IntXY
operator-( a:IntXY , b:XY )
XY
operator/( a:Int , b:IntXY )
IntXY
operator/( a:IntXY , b:Int )
IntXY
operator/( a:IntXY , b:IntXY )
IntXY
operator/( a:IntXY , b:Real )
XY
operator/( a:IntXY , b:XY )
XY
operator/( a:XY , b:IntXY )
XY
operator^( a:IntXY , b:Int )
IntXY
operator^( a:IntXY , b:IntXY )
IntXY
operator|( a:IntXY , b:Int )
IntXY
operator|( a:IntXY , b:IntXY )
IntXY
operator~( a:IntXY , b:Int )
IntXY
operator~( a:IntXY , b:IntXY )
IntXY
Name
Type
Description
x
Int
y
Int
incorporates CommonCompoundMethods
Name
Type
Description
a
XY
b
XY
class Line<<$DataType>> [compound]
augments Line<<$DataType>>
incorporates CommonCompoundMethods
Signature
Return Type
Description
create( a:$DataType, b:$DataType )
Line<<$DataType>>
Name
Type
Description
a
$DataType
b
$DataType
class LineGenerator [compound]
incorporates CommonCompoundMethods
Signature
Return Type
Description
create( a:XY , b:XY )
LineGenerator
create( line:Line )
LineGenerator
create( x1:Int , x2:Int , x:Int , step_x:Int , x_error:Int , y1:Int , y2:Int , y:Int , step_y:Int , y_error:Int , error:Int , is_horizontal:Logical , has_another:Logical )
LineGenerator
incorporates CommonCompoundMethods
Name
Type
Description
a
XY
b
XY
c
XY
d
XY
incorporates CommonCompoundMethods
class Quad<<$DataType>> [compound]
augments Quad<<$DataType>>
incorporates CommonCompoundMethods
Signature
Return Type
Description
create( a:$DataType, b:$DataType, c:$DataType, d:$DataType )
Quad<<$DataType>>
Name
Type
Description
a
$DataType
b
$DataType
c
$DataType
d
$DataType
incorporates CommonCompoundMethods
Signature
Return Type
Description
create( position:XY , angle:Degrees )
Ray
create( position:XY , angle:Radians )
Ray
create( position:XY , direction:XY )
Ray
Name
Type
Description
direction
XY
position
XY
class Triangle [compound]
incorporates CommonCompoundMethods
[a,b,c] should be defined in clockwise order to ensure visibility
Name
Type
Description
a
XY
b
XY
c
XY
class Triangle<<$DataType>> [compound]
augments Triangle<<$DataType>>
incorporates CommonCompoundMethods
[a,b,c] should be defined in clockwise order to ensure visibility
Name
Type
Description
a
$DataType
b
$DataType
c
$DataType
class DegreesXY [compound]
incorporates CommonCompoundMethods
Name
Type
Description
value
XY
class RadiansXY [compound]
incorporates CommonCompoundMethods
Name
Type
Description
value
XY
incorporates CommonCompoundMethods
Signature
Return Type
Description
create( n:Real )
XY
create( r:Real , angle:Degrees )
XY
create( r:Real , angle:Radians )
XY
create( v:Variant )
XY
create( x:Real , y:Real )
XY
operator%( a:Real , b:XY )
XY
operator%( a:XY , b:Real )
XY
operator%( a:XY , b:XY )
XY
operator*( a:Real , b:XY )
XY
operator*( a:XY , b:Real )
XY
operator*( a:XY , b:XY )
XY
operator+( a:XY , b:XY )
XY
operator-( a:XY , b:XY )
XY
operator/( a:Real , b:XY )
XY
operator/( a:XY , b:Real )
XY
operator/( a:XY , b:XY )
XY
operator^( a:XY , b:Real )
XY
operator^( a:XY , b:XY )
XY
Signature
Return Type
Description
abs()
XY
bounding_box()
Box
ceiling()
XY
clamped( box:Box )
XY
Adjusts this point to be within the boundaries of the given box.
clamped( line:Line )
XY
Returns the point along the given line segment that is closest to this point. Notes: Points along the line are defined by: Line(t) = line.a + t * (line.b - line.a) where t is 0 to 1. We can define t as: A = v - line.a B = line.b - line.a t = dot(A,B) / dot(B,B) as this is the projection of A along and proportional to B.
clamped( low:XY , high:XY )
XY
clamped( ray:Ray )
XY
Returns the point along the given ray that is closest to this point. Notes: Points along the ray are defined by: Ray(t) = ray.position + t * ray.direction where t is 0 or higher. We can define t as: A = pt - line.position B = line.direction t = dot(A,B) / dot(B,B) as this is the projection of A along and proportional to B.
clamped_high( limit:XY )
XY
clamped_low( limit:XY )
XY
cross( other:XY )
Real
degrees()
Degrees
description()
String
distance_to( other:XY )
Int
dot( other:XY )
Real
floor()
XY
hashcode()
Int
is_zero()
Logical
log10()
XY
log2()
XY
log( n:Real )
XY
log( xy:XY )
XY
magnitude()
Real
magnitude_squared()
Real
max()
Real
max( other:XY )
XY
Returns an XY containing the max X and the max Y of 'this' and 'other'.
min()
Real
min( other:XY )
XY
Returns an XY containing the min X and the min Y of 'this' and 'other'.
normal()
XY
Returns the normal of this vector.
normalized()
XY
operator-()
XY
operator?()
Logical
operator<>( other:XY )
Int
operator==( other:XY )
Logical
or_larger( other:XY )
XY
Returns the largest X and the largest Y between this value and the other value.
or_smaller( other:XY )
XY
Returns the smaller X and the smaller Y between this value and the other value.
print_to( buffer:PrintWriter )
product()
Real
radians()
Radians
reflected( surface_normal:XY )
XY
rotated( angle:Degrees )
XY
rotated( angle:Radians )
XY
round()
XY
scaled_to_fill( other:XY )
XY
Linearly scales this XY size so that the smallest dimension matches the smallest dimension of the specified other size.
scaled_to_fit( other:XY )
XY
Linearly scales this XY size so that the largest dimension matches the largest dimension of the specified other size.
scaled_to_height( height:Real )
XY
scaled_to_width( width:Real )
XY
side( line:Line )
Int32
Returns 0 if on the line, 1 if on the same side as line.normal points out of, and -1 if on the opposite side
sign()
XY
sum()
Real
to<<Object>>()
Boxed<<XY>>
to<<String>>()
String
to<<Variant>>()
Variant
type_info()
TypeInfo
with_degrees( degrees:Degrees )
XY
with_magnitude( r:Real )
XY
with_radians( radians:Radians )
XY
with_x( x:Real )
XY
with_y( y:Real )
XY
xv()
XY
yv()
XY
yx()
XY
incorporates CommonCompoundMethods
class DegreesXYZ [compound]
incorporates CommonCompoundMethods
Name
Type
Description
value
XYZ
class RadiansXYZ [compound]
incorporates CommonCompoundMethods
Name
Type
Description
value
XYZ
incorporates CommonCompoundMethods
incorporates CommonCompoundMethods
incorporates CommonCompoundMethods