Header menu logo Euclid

BBox Type

A struct of 6 floats representing an immutable 3D bounding box. This implementation guarantees the box to always be valid. That means the Min X, Y, and Z values are always smaller or equal to the respective Max values. The X, Y, and Z axes are also called Width, Depth, and Height3D.

   Z-Axis       Y-Axis
   ^           /
   |   7      /        6 MaxPt
   |   +---------------+
   |  /|    /         /|
   | / |   /         / |
 4 |/  |  /       5 /  |
   +---------------+   |
   |   |/          |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+----> X-Axis
   0 MinPt         1

Record fields

Record Field Description

MaxX

Full Usage: MaxX

Field type: float

The fields holding the maximum X value of this 3D bounding box.

Field type: float

MaxY

Full Usage: MaxY

Field type: float

The fields holding the maximum Y value of this 3D bounding box.

Field type: float

MaxZ

Full Usage: MaxZ

Field type: float

The fields holding the maximum Z value of this 3D bounding box.

Field type: float

MinX

Full Usage: MinX

Field type: float

The fields holding the minimum X value of this 3D bounding box.

Field type: float

MinY

Full Usage: MinY

Field type: float

The fields holding the minimum Y value of this 3D bounding box.

Field type: float

MinZ

Full Usage: MinZ

Field type: float

The fields holding the minimum Z value of this 3D bounding box.

Field type: float

Instance members

Instance member Description

this.AsFSharpCode

Full Usage: this.AsFSharpCode

Returns: string

Format bounding box into an F# code string that can be used to recreate the bounding box.

Returns: string

this.AsString

Full Usage: this.AsString

Returns: string

Format bounding box into string with nice floating point number formatting of size and position. But without full type name as in bbox.ToString()

Returns: string

this.BottomPoints

Full Usage: this.BottomPoints

Returns: Pnt[]

Returns the bottom of the box as a Counter-Clockwise array of 4 Points. Starting at MinPt. Points 0, 1, 2, and 3. Last and first point are NOT the same.

   Z-Axis       Y-Axis
   ^           /
   |   7      /        6 MaxPt
   |   +---------------+
   |  /|    /         /|
   | / |   /         / |
 4 |/  |  /       5 /  |
   +---------------+   |
   |   |/          |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+----> X-Axis
   0 MinPt         1

Returns: Pnt[]

this.BottomPointsLooped

Full Usage: this.BottomPointsLooped

Returns: Pnt[]

Returns the bottom of the box as a Counter-Clockwise array of 5 Points, starting at MinPt. Points 0, 1, 2, 3, and again 0. Last and first point are the same.

   Z-Axis       Y-Axis
   ^           /
   |   7      /        6 MaxPt
   |   +---------------+
   |  /|    /         /|
   | / |   /         / |
 4 |/  |  /       5 /  |
   +---------------+   |
   |   |/          |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+----> X-Axis
   0 MinPt         1

Returns: Pnt[]

this.Center

Full Usage: this.Center

Returns: Pnt
Modifiers: inline

The center of this 3D bounding box.

Returns: Pnt

this.Contains

Full Usage: this.Contains

Parameters:
Returns: bool
Modifiers: inline

Returns TRUE if this 3D bounding box is inside or exactly on the other bounding Box.

o : BBox
Returns: bool

this.Contains

Full Usage: this.Contains

Parameters:
Returns: bool
Modifiers: inline

Returns TRUE if the point is inside or exactly on the bounding Box.

p : Pnt
Returns: bool

this.CountZeroSides

Full Usage: this.CountZeroSides

Returns: int
Modifiers: inline

Counts the amount of sides that are smaller than the zeroLength tolerance. This is 0, 1, 2 or 3.

Returns: int

this.Diagonal

Full Usage: this.Diagonal

Returns: Vec
Modifiers: inline

The diagonal 3D vector of this 3D bounding box. From MinPnt to MaxPnt.

Returns: Vec

this.Edge01

Full Usage: this.Edge01

Returns: Line3D
Modifiers: inline

Returns the X-aligned edge from point 0 to 1.

Returns: Line3D

this.Edge03

Full Usage: this.Edge03

Returns: Line3D
Modifiers: inline

Returns the Y-aligned edge from point 0 to 3.

Returns: Line3D

this.Edge04

Full Usage: this.Edge04

Returns: Line3D
Modifiers: inline

Returns the Z-aligned edge from point 0 to 4.

Returns: Line3D

this.Edge12

Full Usage: this.Edge12

Returns: Line3D
Modifiers: inline

Returns the Y-aligned edge from point 1 to 2.

Returns: Line3D

this.Edge15

Full Usage: this.Edge15

Returns: Line3D
Modifiers: inline

Returns the Z-aligned edge from point 1 to 5.

Returns: Line3D

this.Edge26

Full Usage: this.Edge26

Returns: Line3D
Modifiers: inline

Returns the Z-aligned edge from point 2 to 6.

Returns: Line3D

this.Edge32

Full Usage: this.Edge32

Returns: Line3D
Modifiers: inline

Returns the X-aligned edge from point 3 to 2.

Returns: Line3D

this.Edge37

Full Usage: this.Edge37

Returns: Line3D
Modifiers: inline

Returns the Z-aligned edge from point 3 to 7.

Returns: Line3D

this.Edge45

Full Usage: this.Edge45

Returns: Line3D
Modifiers: inline

Returns the X-aligned edge from point 4 to 5.

Returns: Line3D

this.Edge47

Full Usage: this.Edge47

Returns: Line3D
Modifiers: inline

Returns the Y-aligned edge from point 4 to 7.

Returns: Line3D

this.Edge56

Full Usage: this.Edge56

Returns: Line3D
Modifiers: inline

Returns the Y-aligned edge from point 5 to 6.

Returns: Line3D

this.Edge76

Full Usage: this.Edge76

Returns: Line3D
Modifiers: inline

Returns the X-aligned edge from point 7 to 6.

Returns: Line3D

this.Edges

Full Usage: this.Edges

Returns: Line3D[]

Returns the 12 edges of this 3D bounding box as an array of 12 Lines. Pairs in this order: 0-1, 1-2, 3-2, 0-3, 0-4, 1-5, 2-6, 3-7, 4-5, 5-6, 7-6, 4-7

   Z-Axis       Y-Axis
   ^           /
   |   7      /        6 MaxPt
   |   +---------------+
   |  /|    /         /|
   | / |   /         / |
 4 |/  |  /       5 /  |
   +---------------+   |
   |   |/          |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+----> X-Axis
   0 MinPt         1

Returns: Line3D[]

this.EvaluateAt

Full Usage: this.EvaluateAt

Parameters:
    xParameter : float
    yParameter : float
    zParameter : float

Returns: Pnt
Modifiers: inline

Evaluate a X, Y and Z parameter of this 3D bounding box. 0.0, 0.0, 0.0 returns the MinPnt. 1.0, 1.0, 1.0 returns the MaxPnt.

xParameter : float
yParameter : float
zParameter : float
Returns: Pnt

this.Expand

Full Usage: this.Expand

Parameters:
    xDist : float
    yDist : float
    zDist : float

Returns: BBox
Modifiers: inline

Returns a 3D bounding box expanded by a distance for X, Y, and Z-axis each. Does check for underflow if distance is negative and raises EuclidException.

xDist : float
yDist : float
zDist : float
Returns: BBox

this.Expand

Full Usage: this.Expand

Parameters:
    dist : float

Returns: BBox
Modifiers: inline

Returns a 3D bounding box expanded by distance. Does check for underflow if distance is negative and raises EuclidException.

dist : float
Returns: BBox

this.ExpandSafe

Full Usage: this.ExpandSafe

Parameters:
    dist : float

Returns: BBox
Modifiers: inline

Returns a 3D bounding box expanded by a distance. If expansion is negative it shrinks the Box without causing underflow. When the negative expansion is bigger than the size on any axis, both Min and Max values on that axis will be set to the midpoint of their original values (the box collapses to a plane or line on that axis).

dist : float
Returns: BBox

this.ExpandSafe

Full Usage: this.ExpandSafe

Parameters:
    xDist : float
    yDist : float
    zDist : float

Returns: BBox
Modifiers: inline

Returns a 3D bounding box expanded by a distance for X, Y, and Z-axis each. If expansion is negative it shrinks the Box without causing underflow. When the negative expansion is bigger than the size on any axis, both Min and Max values on that axis will be set to the midpoint of their original values (the box collapses to a plane or line on that axis).

xDist : float
yDist : float
zDist : float
Returns: BBox

this.ExpandXaxis

Full Usage: this.ExpandXaxis

Parameters:
    startDist : float
    endDist : float

Returns: BBox
Modifiers: inline

Returns a 3D bounding box expanded only in X direction by different distances for start(minX) and end (maxX). Does check for underflow if distance is negative and raises EuclidException.

startDist : float
endDist : float
Returns: BBox

this.ExpandYaxis

Full Usage: this.ExpandYaxis

Parameters:
    startDist : float
    endDist : float

Returns: BBox
Modifiers: inline

Returns a 3D bounding box expanded only in Y direction by different distances for start(minY) and end (maxY). Does check for underflow if distance is negative and raises EuclidException.

startDist : float
endDist : float
Returns: BBox

this.ExpandZaxis

Full Usage: this.ExpandZaxis

Parameters:
    startDist : float
    endDist : float

Returns: BBox
Modifiers: inline

Returns a 3D bounding box expanded only in Z direction by different distances for start(minZ) and end (maxZ). Does check for underflow if distance is negative and raises EuclidException.

startDist : float
endDist : float
Returns: BBox

this.HasVolume

Full Usage: this.HasVolume

Returns: bool
Modifiers: inline

Tests if none of the X, Y and Z axis is smaller than the zeroLength tolerance. Same as .IsValid

Returns: bool

this.Intersection

Full Usage: this.Intersection

Parameters:
Returns: BBox voption
Modifiers: inline

Returns the intersection of two 3D bounding boxes. The returned BBox is the volume that is inside both input 3D bounding boxes. Returns ValueNone if the two 3D bounding boxes do not overlap. Just touching 3D bounding boxes will return ValueSome with a zero volume collapsed BBox.

a : BBox
Returns: BBox voption

this.IsFlat

Full Usage: this.IsFlat

Returns: bool
Modifiers: inline

Tests if one of the X, Y and Z axis is smaller than the zeroLength tolerance.

Returns: bool

this.IsLine

Full Usage: this.IsLine

Returns: bool
Modifiers: inline

Tests if two of the X, Y and Z axis is smaller than the zeroLength tolerance.

Returns: bool

this.IsPoint

Full Usage: this.IsPoint

Returns: bool
Modifiers: inline

Tests if all sides are smaller than the zeroLength tolerance. This is the same as IsZero.

Returns: bool

this.IsTouching

Full Usage: this.IsTouching

Parameters:
    a : BBox - Other 3D bounding box to test against.
    ?tol : float - Optional. A tolerance for touching test. Default is 1e-6.

Returns: bool TRUE if the two 3D bounding boxes are touching each other within the given tolerance. FALSE if the two 3D bounding boxes are overlapping or intersecting

Test if 3D bounding boxes are only touching each other from the Outside within a given tolerance.

a : BBox

Other 3D bounding box to test against.

?tol : float

Optional. A tolerance for touching test. Default is 1e-6.

Returns: bool

TRUE if the two 3D bounding boxes are touching each other within the given tolerance. FALSE if the two 3D bounding boxes are overlapping or intersecting

this.IsValid

Full Usage: this.IsValid

Returns: bool
Modifiers: inline

Tests if no sides of the X, Y and Z axis is smaller than the zeroLength tolerance. Same as .HasVolume

Returns: bool

this.IsZero

Full Usage: this.IsZero

Returns: bool
Modifiers: inline

Tests if all sides are smaller than the zeroLength tolerance. This is the same as IsPoint.

Returns: bool

this.LongestEdge

Full Usage: this.LongestEdge

Returns: float
Modifiers: inline

Returns the longest edge of the Box.

Returns: float

this.MaxPnt

Full Usage: this.MaxPnt

Returns: Pnt
Modifiers: inline

The point where X, Y, and Z are the maximum values.

Returns: Pnt

this.MinPnt

Full Usage: this.MinPnt

Returns: Pnt
Modifiers: inline

The point where X, Y, and Z are the minimum values.

Returns: Pnt

this.OverlapsWith

Full Usage: this.OverlapsWith

Parameters:
    a : BBox - The bounding box to test for overlap with.
    ?tol : float - The tolerance distance used to shrink both boxes before testing overlap. Default is 1e-6. The tolerance effectively shrinks both boxes by the given amount before testing overlap.

Returns: bool Returns TRUE if: - The boxes overlap with a gap smaller than the tolerance distance - One box completely surrounds the other Returns FALSE if: - The boxes are separated by more than the tolerance distance - The boxes are just touching (within tolerance)
Modifiers: inline

Determines whether this bounding box overlaps with another bounding box within a specified tolerance.

a : BBox

The bounding box to test for overlap with.

?tol : float

The tolerance distance used to shrink both boxes before testing overlap. Default is 1e-6. The tolerance effectively shrinks both boxes by the given amount before testing overlap.

Returns: bool

Returns TRUE if: - The boxes overlap with a gap smaller than the tolerance distance - One box completely surrounds the other Returns FALSE if: - The boxes are separated by more than the tolerance distance - The boxes are just touching (within tolerance)

this.OverlapsWith

Full Usage: this.OverlapsWith

Parameters:
Returns: bool
Modifiers: inline

Returns TRUE if the two 3D bounding boxes do overlap or touch. Also returns TRUE if one box is completely inside the other. Also returns TRUE if one box is completely surrounding the other.

a : BBox
Returns: bool

this.Points

Full Usage: this.Points

Returns: Pnt[]

Returns the bottom corners of this 3D bounding box in Counter-Clockwise order, starting at MinPt. Then the top corners starting above MinPt. Returns an array of 8 Points.

   Z-Axis       Y-Axis
   ^           /
   |   7      /        6 MaxPt
   |   +---------------+
   |  /|    /         /|
   | / |   /         / |
 4 |/  |  /       5 /  |
   +---------------+   |
   |   |/          |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+----> X-Axis
   0 MinPt         1

Returns: Pnt[]

this.Pt0

Full Usage: this.Pt0

Returns: Pnt
Modifiers: inline

Returns point 0 of this 3D bounding box, same as member box.MinPnt.

   Z-Axis       Y-Axis
   ^           /
   |   7      /        6 MaxPt
   |   +---------------+
   |  /|    /         /|
   | / |   /         / |
 4 |/  |  /       5 /  |
   +---------------+   |
   |   |/          |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+----> X-Axis
   0 MinPt         1

Returns: Pnt

this.Pt1

Full Usage: this.Pt1

Returns: Pnt
Modifiers: inline

Returns point 1 of this 3D bounding box.

   Z-Axis       Y-Axis
   ^           /
   |   7      /        6 MaxPt
   |   +---------------+
   |  /|    /         /|
   | / |   /         / |
 4 |/  |  /       5 /  |
   +---------------+   |
   |   |/          |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+----> X-Axis
   0 MinPt         1

Returns: Pnt

this.Pt2

Full Usage: this.Pt2

Returns: Pnt
Modifiers: inline

Returns point 2 of this 3D bounding box.

   Z-Axis       Y-Axis
   ^           /
   |   7      /        6 MaxPt
   |   +---------------+
   |  /|    /         /|
   | / |   /         / |
 4 |/  |  /       5 /  |
   +---------------+   |
   |   |/          |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+----> X-Axis
   0 MinPt         1

Returns: Pnt

this.Pt3

Full Usage: this.Pt3

Returns: Pnt
Modifiers: inline

Returns point 3 of this 3D bounding box.

   Z-Axis       Y-Axis
   ^           /
   |   7      /        6 MaxPt
   |   +---------------+
   |  /|    /         /|
   | / |   /         / |
 4 |/  |  /       5 /  |
   +---------------+   |
   |   |/          |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+----> X-Axis
   0 MinPt         1

Returns: Pnt

this.Pt4

Full Usage: this.Pt4

Returns: Pnt
Modifiers: inline

Returns point 4 of this 3D bounding box.

   Z-Axis       Y-Axis
   ^           /
   |   7      /        6 MaxPt
   |   +---------------+
   |  /|    /         /|
   | / |   /         / |
 4 |/  |  /       5 /  |
   +---------------+   |
   |   |/          |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+----> X-Axis
   0 MinPt         1

Returns: Pnt

this.Pt5

Full Usage: this.Pt5

Returns: Pnt
Modifiers: inline

Returns point 5 of this 3D bounding box.

   Z-Axis       Y-Axis
   ^           /
   |   7      /        6 MaxPt
   |   +---------------+
   |  /|    /         /|
   | / |   /         / |
 4 |/  |  /       5 /  |
   +---------------+   |
   |   |/          |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+----> X-Axis
   0 MinPt         1

Returns: Pnt

this.Pt6

Full Usage: this.Pt6

Returns: Pnt
Modifiers: inline

Returns point 6 of this 3D bounding box.

   Z-Axis       Y-Axis
   ^           /
   |   7      /        6 MaxPt
   |   +---------------+
   |  /|    /         /|
   | / |   /         / |
 4 |/  |  /       5 /  |
   +---------------+   |
   |   |/          |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+----> X-Axis
   0 MinPt         1

Returns: Pnt

this.Pt7

Full Usage: this.Pt7

Returns: Pnt
Modifiers: inline

Returns point 7 of this 3D bounding box.

   Z-Axis       Y-Axis
   ^           /
   |   7      /        6 MaxPt
   |   +---------------+
   |  /|    /         /|
   | / |   /         / |
 4 |/  |  /       5 /  |
   +---------------+   |
   |   |/          |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+----> X-Axis
   0 MinPt         1

Returns: Pnt

this.ShortestEdge

Full Usage: this.ShortestEdge

Returns: float
Modifiers: inline

Returns the shortest edge of the Box.

Returns: float

this.SizeX

Full Usage: this.SizeX

Returns: float
Modifiers: inline

The size in X direction, often also called Width.

Returns: float

this.SizeY

Full Usage: this.SizeY

Returns: float
Modifiers: inline

The size in Y direction.

Returns: float

this.SizeZ

Full Usage: this.SizeZ

Returns: float
Modifiers: inline

The size in Z direction, also called Height.

Returns: float

this.TopPoints

Full Usage: this.TopPoints

Returns: Pnt[]

Returns the top of the box as a Counter-Clockwise array of 4 Points. Starting at point 4 then 5, 6, and 7. Last and first point are NOT the same.

   Z-Axis       Y-Axis
   ^           /
   |   7      /        6 MaxPt
   |   +---------------+
   |  /|    /         /|
   | / |   /         / |
 4 |/  |  /       5 /  |
   +---------------+   |
   |   |/          |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+----> X-Axis
   0 MinPt         1

Returns: Pnt[]

this.TopPointsLooped

Full Usage: this.TopPointsLooped

Returns: Pnt[]

Returns the top of the box as a Counter-Clockwise array of 5 Points. Points 4, 5, 6, 7, and again 4. Last and first point are the same.

   Z-Axis       Y-Axis
   ^           /
   |   7      /        6 MaxPt
   |   +---------------+
   |  /|    /         /|
   | / |   /         / |
 4 |/  |  /       5 /  |
   +---------------+   |
   |   |/          |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+----> X-Axis
   0 MinPt         1

Returns: Pnt[]

this.Union

Full Usage: this.Union

Parameters:
Returns: BBox
Modifiers: inline

Returns a bounding 3D bounding box that contains the input 3D bounding box and the point.

p : Pnt
Returns: BBox

this.Union

Full Usage: this.Union

Parameters:
Returns: BBox
Modifiers: inline

Returns a 3D bounding box that contains both input 3D bounding boxes.

a : BBox
Returns: BBox

this.Volume

Full Usage: this.Volume

Returns: float
Modifiers: inline

Returns the volume of this 3D bounding box.

Returns: float

this.asBRect

Full Usage: this.asBRect

Returns: BRect
Modifiers: inline

Returns the 2D part of this 3D bounding box as a bounding rectangle (BRect).

Returns: BRect

Static members

Static member Description

BBox.contains boxInside surroundingBox

Full Usage: BBox.contains boxInside surroundingBox

Parameters:
    boxInside : BBox
    surroundingBox : BBox

Returns: bool
Modifiers: inline

Returns TRUE if the a 3D bounding box is inside or exactly on the other bounding Box. Argument order matters!

boxInside : BBox
surroundingBox : BBox
Returns: bool

BBox.containsPnt pt box

Full Usage: BBox.containsPnt pt box

Parameters:
Returns: bool
Modifiers: inline

Returns TRUE if the point is inside or on the a 3D bounding box.

pt : Pnt
box : BBox
Returns: bool

BBox.create (a, b)

Full Usage: BBox.create (a, b)

Parameters:
Returns: BBox
Modifiers: inline

Creates a 3D bounding box from two points. Automatically determines min and max values for each axis, so the points can be provided in any order.

a : Pnt
b : Pnt
Returns: BBox

BBox.createFromBRect minZ maxZ r

Full Usage: BBox.createFromBRect minZ maxZ r

Parameters:
    minZ : float
    maxZ : float
    r : BRect

Returns: BBox
Modifiers: inline

Creates a 3D bounding box from a 2D bounding rectangle (BRect) and Z-axis bounds. The BRect defines the X and Y extents, while minZ and maxZ define the Z extent.

minZ : float
maxZ : float
r : BRect
Returns: BBox

BBox.createFromCenter (center, sizeX, sizeY, sizeZ)

Full Usage: BBox.createFromCenter (center, sizeX, sizeY, sizeZ)

Parameters:
    center : Pnt
    sizeX : float
    sizeY : float
    sizeZ : float

Returns: BBox
Modifiers: inline

Creates a 3D bounding box from a center point and the total X, Y and Z size.

center : Pnt
sizeX : float
sizeY : float
sizeZ : float
Returns: BBox

BBox.createFromIList ps

Full Usage: BBox.createFromIList ps

Parameters:
Returns: BBox
Modifiers: inline

Finds min and max values for x, y and z. Creates a 3D bounding box from the points.

ps : IList<Pnt>
Returns: BBox

BBox.createFromLine l

Full Usage: BBox.createFromLine l

Parameters:
Returns: BBox
Modifiers: inline

Creates a 3D bounding box from a 3D line. The bounding box will be the minimal box containing the line's start and end points.

l : Line3D
Returns: BBox

BBox.createFromSeq ps

Full Usage: BBox.createFromSeq ps

Parameters:
Returns: BBox
Modifiers: inline

Finds min and max values for x, y and z. Creates a 3D bounding box from the points.

ps : Pnt seq
Returns: BBox

BBox.createUnchecked (minX, minY, minZ, maxX, maxY, maxZ)

Full Usage: BBox.createUnchecked (minX, minY, minZ, maxX, maxY, maxZ)

Parameters:
    minX : float
    minY : float
    minZ : float
    maxX : float
    maxY : float
    maxZ : float

Returns: BBox
Modifiers: inline

Creates a 3D bounding box from six coordinate values. Does not verify that min values are less than or equal to max values.

minX : float
minY : float
minZ : float
maxX : float
maxY : float
maxZ : float
Returns: BBox

BBox.doOverlap a b

Full Usage: BBox.doOverlap a b

Parameters:
Returns: bool
Modifiers: inline

Returns TRUE if the two a 3D bounding boxes do overlap or touch exactly. Also returns TRUE if one box is completely inside the other. Also returns TRUE if one box is completely surrounding the other.

a : BBox
b : BBox
Returns: bool

BBox.doOverlapMoreThan tol a b

Full Usage: BBox.doOverlapMoreThan tol a b

Parameters:
Returns: bool
Modifiers: inline

Returns TRUE if the two a 3D bounding boxes do overlap more than a given tolerance distance. Returns false if the two a 3D bounding boxes are just touching. Also returns TRUE if one box is completely inside the other. Also returns TRUE if one box is completely surrounding the other.

tol : float
a : BBox
b : BBox
Returns: bool

BBox.equals tol a b

Full Usage: BBox.equals tol a b

Parameters:
Returns: bool

Checks if two 3D bounding boxes are equal within tolerance. Use a tolerance of 0.0 to check for an exact match.

tol : float
a : BBox
b : BBox
Returns: bool

BBox.expand dist b

Full Usage: BBox.expand dist b

Parameters:
    dist : float
    b : BBox

Returns: BBox

Returns a 3D bounding box expanded by distance. Does check for underflow if distance is negative and raises EuclidException.

dist : float
b : BBox
Returns: BBox

BBox.expandRel factor b

Full Usage: BBox.expandRel factor b

Parameters:
    factor : float
    b : BBox

Returns: BBox

Returns the 3D bounding box expanded by a relative factor on all six sides. Values between 0.0 and 1.0 shrink the box. Values larger than 1.0 expand the box. Does check for underflow if factor is negative and raises EuclidException.

factor : float
b : BBox
Returns: BBox

BBox.expandRelXYZ factorX factorY factorZ b

Full Usage: BBox.expandRelXYZ factorX factorY factorZ b

Parameters:
    factorX : float
    factorY : float
    factorZ : float
    b : BBox

Returns: BBox

Returns the 3D bounding box expanded by a relative factor on all six sides, separately for X, Y, Z. Values between 0.0 and 1.0 shrink the box. Values larger than 1.0 expand the box. Does check for underflow if any factor is negative and raises EuclidException.

factorX : float
factorY : float
factorZ : float
b : BBox
Returns: BBox

BBox.expandSafe dist b

Full Usage: BBox.expandSafe dist b

Parameters:
    dist : float
    b : BBox

Returns: BBox

Returns a 3D bounding box expanded by distance. If expansion is negative it shrinks the Box without causing underflow. When the negative expansion is bigger than the size on any axis, both Min and Max values on that axis will be set to the midpoint of their original values (the box collapses to a plane or line on that axis).

dist : float
b : BBox
Returns: BBox

BBox.expandXaxis startDist endDist b

Full Usage: BBox.expandXaxis startDist endDist b

Parameters:
    startDist : float
    endDist : float
    b : BBox

Returns: BBox

Returns a 3D bounding box expanded only in X direction by different distances for start(minX) and end (maxX). Does check for underflow if distance is negative and raises EuclidException.

startDist : float
endDist : float
b : BBox
Returns: BBox

BBox.expandYaxis startDist endDist b

Full Usage: BBox.expandYaxis startDist endDist b

Parameters:
    startDist : float
    endDist : float
    b : BBox

Returns: BBox

Returns a 3D bounding box expanded only in Y direction by different distances for start(minY) and end (maxY). Does check for underflow if distance is negative and raises EuclidException.

startDist : float
endDist : float
b : BBox
Returns: BBox

BBox.expandZaxis startDist endDist b

Full Usage: BBox.expandZaxis startDist endDist b

Parameters:
    startDist : float
    endDist : float
    b : BBox

Returns: BBox

Returns a 3D bounding box expanded only in Z direction by different distances for start(minZ) and end (maxZ). Does check for underflow if distance is negative and raises EuclidException.

startDist : float
endDist : float
b : BBox
Returns: BBox

BBox.intersection a b

Full Usage: BBox.intersection a b

Parameters:
Returns: BBox voption
Modifiers: inline

Returns the intersection of two 3D bounding boxes. The returned BBox is the volume that is inside both input 3D bounding boxes. Returns ValueNone if the two 3D bounding boxes do not overlap. Just touching 3D bounding boxes will return ValueSome with a zero volume collapsed BBox.

a : BBox
b : BBox
Returns: BBox voption

BBox.move v b

Full Usage: BBox.move v b

Parameters:
Returns: BBox

Returns a 3D bounding box moved by a vector.

v : Vec
b : BBox
Returns: BBox

BBox.moveX translation b

Full Usage: BBox.moveX translation b

Parameters:
    translation : float
    b : BBox

Returns: BBox

Returns a new 3D bounding box moved in X-axis direction.

translation : float
b : BBox
Returns: BBox

BBox.moveY translation b

Full Usage: BBox.moveY translation b

Parameters:
    translation : float
    b : BBox

Returns: BBox

Returns a new 3D bounding box moved in Y-axis direction.

translation : float
b : BBox
Returns: BBox

BBox.moveZ translation b

Full Usage: BBox.moveZ translation b

Parameters:
    translation : float
    b : BBox

Returns: BBox

Returns a new 3D bounding box moved in Z-axis direction.

translation : float
b : BBox
Returns: BBox

BBox.notEquals tol a b

Full Usage: BBox.notEquals tol a b

Parameters:
Returns: bool

Check if two 3D bounding boxes are not equal within a given tolerance. Use a tolerance of 0.0 to check if the two 3D bounding boxes are not exactly equal.

tol : float
a : BBox
b : BBox
Returns: bool

BBox.scale factor b

Full Usage: BBox.scale factor b

Parameters:
    factor : float
    b : BBox

Returns: BBox
Modifiers: inline

Scales the 3D bounding box by a given factor. Scale center is World Origin 0,0,0. A negative factor will flip the box orientation, creating an invalid BBox. Use only positive factors.

factor : float
b : BBox
Returns: BBox

BBox.toBRect b

Full Usage: BBox.toBRect b

Parameters:
Returns: BRect
Modifiers: inline

Returns the 2D part of a 3D bounding box as a bounding rectangle (BRect). Projects the BBox onto the XY plane, discarding Z information.

b : BBox
Returns: BRect

BBox.translate v b

Full Usage: BBox.translate v b

Parameters:
Returns: BBox

Returns a 3D bounding box moved by a vector. This is an alias for the 'move' function.

v : Vec
b : BBox
Returns: BBox

BBox.union a b

Full Usage: BBox.union a b

Parameters:
Returns: BBox
Modifiers: inline

Returns a 3D bounding box that contains both input a 3D bounding boxes.

a : BBox
b : BBox
Returns: BBox

BBox.unionPt p b

Full Usage: BBox.unionPt p b

Parameters:
Returns: BBox
Modifiers: inline

Returns a bounding a 3D bounding box that contains the input a 3D bounding box and the point.

p : Pnt
b : BBox
Returns: BBox

BBox.volume b

Full Usage: BBox.volume b

Parameters:
Returns: float
Modifiers: inline

Returns the volume of a 3D bounding box.

b : BBox
Returns: float

Type something to start searching.