Class Box (version 0.18)Description: A box class This object represents a box (a rectangular shape). Notation is: p1 is the lower left point, p2 the upper right one. A box can be empty. An empty box represents no area (not even a point). A box can be a point or a single line. In this case, the area is zero but the box still can overlap other boxes.
Method Overview
[const] bool !=( Box box )Description: Inequality Return true, if this box and the given box are not equal
Box &( Box box )Description: Intersection of boxes. The intersection of two boxes is the largest box common to both boxes. The intersection may be empty if both boxes to not touch. If the boxes do not overlap but touch the result may be a single line or point with an area of zero. Overwrites this box with the result.
Box *( Box box )Description: Convolve boxes. The * operator convolves the firstbox with the one given as the second argument. The box resulting from "convolution" is the outer boundary of the union set formed by placing the second box at every point of the first. In other words, the returned box of (p1,p2)*(q1,q2) is (p1+q1,p2+q2).
[const] Box +( Point point )Description: Join box with a point. The + operator joins a point with the box. The resulting box will enclose both the original box and the point.
Box +( Box box )Description: Joining of boxes. The + operator joins the first box with the one given as the second argument. Joining constructs a box that encloses both boxes given. Empty boxes are neutral: they do not change another box when joining. Overwrites this box with the result.
[const] bool <( Box box )Description: Less operator Return true, if this box is 'less' with respect to first and second point (in this order)
[const] bool ==( Box box )Description: Equality Return true, if this box and the given box are equal
[const] double areaDescription: Compute the box area Returns the box area or 0 if the box is empty
assign( Box other )Description: Assign the contents of another object to self This method assigns the contents of another object to self. This is a deep copy that does not only copy the reference but the actual content.
[const] int bottomDescription: The bottom coordinate of the box
bottom=( int )Description: Set the bottom coordinate of the box
[const] Point centerDescription: The center of the box
[const] bool contains?( Point point )Description: "contains" test Tests whether a point is inside the box. This includes if the point is on the box contour.
destroyDescription: Explicitly destroy the object Explicitly destroy the object on C++ side if it was owned by the Ruby interpreter. Subsequent access to this object will throw an exception. If the object is not owned by Ruby, this method will do nothing.
[const] bool destroyedDescription: Tell, if the object was destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself.
[const] Box dupDescription: Creates a copy of self.
[const] bool empty?Description: Empty predicate An empty box may be created with the default constructor for example. Such a box is neutral when combining it with other boxes and renders empty boxes if used in box intersections and false in geometrical relationship tests.
ref Box enlarge( Point enlargement )Description: Enlarges the box by a certain amount. Enlarges the box by x and y value specified in the vector passed. Positive values with grow the box, negative ones will shrink the box. The result may be an empty box if the box disappears. The amount specifies the grow or shrink per edge. The width and height will change by twice the amount. Does not check for coordinate overflows.
[const] Box enlarged( Point enlargement )Description: Enlarges the box by a certain amount. Enlarges the box by x and y value specified in the vector passed. Positive values with grow the box, negative ones will shrink the box. The result may be an empty box if the box disappears. The amount specifies the grow or shrink per edge. The width and height will change by twice the amount. Does not modify this box. Does not check for coordinate overflows.
[static] Box from_dbox( DBox double_box )Description: Construct an integer box from a floating-point coordinate box Create a integer coordinate box from a floating-point coordinate box
[const] int heightDescription: The height of the box
[const] bool inside?( Box box )Description: Test if this box is inside the argument box Returns true, if this box is inside the given box, i.e. the box intersection renders this box
[const] bool is_point?Description: Return true, if the box is a single point
[const] int leftDescription: The left coordinate of the box
left=( int )Description: Set the left coordinate of the box
ref Box move( Point distance )Description: Moves the box by a certain distance Moves the box by a given offset and returns the moved box. Does not check for coordinate overflows.
[const] Box moved( Point distance )Description: Returns the box moved by a certain distance Moves the box by a given offset and returns the moved box. Does not modify this box. Does not check for coordinate overflows.
[static] Box new( Point lower_left, Point upper_right )
|
t: | The transformation to apply |
returns: | The transformed box |
Description: Transform the box with the given complex transformation
t: | The magnifying transformation to apply |
returns: | The transformed box (a DBox now) |
Description: Transform the box with the given complex transformation
This method has been introduced in version 0.18.
t: | The magnifying transformation to apply |
returns: | The transformed box (in this case an integer coordinate box) |
Description: The width of the box