Class: Geom::BoundingBox
Relationships | |
Inherits: | Object |
Overview
that the bounding box returned for face-me components is the center of its entire range of motion. This behavior changed in SketchUp 7.1. In 7.0 and earlier, the .bounds method would return the bounds around the face-me component’s current, visible center.
Bounding boxes are three-dimensional boxes (eight corners), aligned with the axes, that surround entities within your model. There is a default bounding box for any new model that will surround all entities, including all groups and components. Additionally, there are bounding boxes for Drawingelement objects, including components and groups. Bounding boxes are only large enough to exactly bound the entities within your model, group, or component.
You can also create arbitrary BoundingBox
objects by calling BoundingBox
.new.
Class Method Summary
-
.new ⇒ Geom::BoundingBox
constructor
The new method is used to create a new, empty, bounding box.
Instance Attribute Summary
-
#empty? ⇒ Boolean
readonly
The empty? method is used to determine if a bounding box is empty (such as if the bounds have not been set.) This returns the opposite of the valid? method.
-
#valid? ⇒ Boolean
readonly
The valid method is used to determine if a bounding box is valid (contains points).
Instance Method Summary
-
#add(point_or_bb) ⇒ Geom::BoundingBox
The add method is used to add a point, vertex, or other bounding boxes to the bounding box.
-
#center ⇒ Geom::Point3d
The center method is used to retrieve the
Point3d
object at the center of the bounding box. -
#clear ⇒ Geom::BoundingBox
The clear method is used to clear a bounding box.
-
#contains?(point_or_bb) ⇒ Boolean
This method is used to determine if a bounding box contains a specific
Point3d
orBoundingBox
object. -
#corner(corner_index) ⇒ Geom::Point3d
The corner method is used to retrieve a point object at a specified corner of the bounding box.
-
#depth ⇒ Length
The #depth method is used to retrieve the Z extents of the bounding box.
-
#diagonal ⇒ Length
The #diagonal method is used to get the length of the diagonal of the bounding box.
-
#height ⇒ Length
The #height method is used to retrieve the Y extent of the bounding box.
-
#intersect(boundingbox) ⇒ Geom::BoundingBox
The intersect method is used to retrieve a bounding box that is the result of intersecting one bounding box with another.
-
#max ⇒ Geom::Point3d
The max method is used to retrieve the
Point3d
object where x, y and z are maximum in the bounding box. -
#min ⇒ Geom::Point3d
The min method is used to retrieve the
Point3d
where x, y and z are minimum in the bounding box. -
#width ⇒ Length
The #width method is used to retrieve the X extent of the bounding box.
Constructor Details
.new ⇒ BoundingBox
The new method is used to create a new, empty, bounding box.
Instance Attribute Details
#empty? ⇒ Boolean
(readonly)
The empty? method is used to determine if a bounding box is empty (such as if the bounds have not been set.) This returns the opposite of the valid? method.
#valid? ⇒ Boolean
(readonly)
The valid method is used to determine if a bounding box is valid (contains points).
Instance Method Details
#add(point_or_bb) ⇒ BoundingBox
#add(points_or_bb) ⇒ BoundingBox
BoundingBox
#add(points_or_bb) ⇒ BoundingBox
The add method is used to add a point, vertex, or other bounding boxes to the bounding box. The size of the bounding box will increase as necessary to accommodate the new items.
Adding one point to an empty bounding box does not increase the size of the bounding box. You must add at least two points before methods such as BoundingBox
.diagonal will return a size greater than zero.
#center ⇒ Geom::Point3d
The center method is used to retrieve the Point3d
object at the center of the bounding box.
#clear ⇒ BoundingBox
The clear method is used to clear a bounding box.
A cleared BoundingBox
does not have a size greater than zero until you add at least two points or another bounding box.
#contains?(point_or_bb) ⇒ Boolean
This method is used to determine if a bounding box contains a specific Point3d
or BoundingBox
object.
#corner(corner_index) ⇒ Geom::Point3d
The corner method is used to retrieve a point object at a specified corner of the bounding box.
There are 8 corners to a bounding box, identified by the numbers 0 through 7. Points are returned in the currently set units (inches, by default). These are which index refers to which corner:
- 0 = [0, 0, 0] (left front bottom)
- 1 = [1, 0, 0] (right front bottom)
- 2 = [0, 1, 0] (left back bottom)
- 3 = [1, 1, 0] (right back bottom)
- 4 = [0, 0, 1] (left front top)
- 5 = [1, 0, 1] (right front top)
- 6 = [0, 1, 1] (left back top)
- 7 = [1, 1, 1] (right back top)
#depth ⇒ Length
In SketchUp’s coordinate system, this corresponds to the height.
The #depth
method is used to retrieve the Z extents of the bounding box.
#diagonal ⇒ Length
The #diagonal
method is used to get the length of the diagonal of the bounding box.
#height ⇒ Length
In SketchUp’s coordinate system, this corersponds to the depth.
The #height
method is used to retrieve the Y extent of the bounding box.
#intersect(boundingbox) ⇒ BoundingBox
Prior to SU2015 this method would return incorrect result in some cases. For correct result in these versions you must first check if the boundingboxes actually overlap - then call this to get the resulting boundingbox.
The intersect method is used to retrieve a bounding box that is the result of intersecting one bounding box with another.
#max ⇒ Geom::Point3d
The max method is used to retrieve the Point3d
object where x, y and z are maximum in the bounding box.
If you attempt to call the max method on an empty bounding box, you will receive a very large negative number.
#min ⇒ Geom::Point3d
The min method is used to retrieve the Point3d
where x, y and z are minimum in the bounding box.
#width ⇒ Length
The #width
method is used to retrieve the X extent of the bounding box.