Logo Euclid

FreeBox Type

A class containing a flat array of 24 floats representing an arbitrary 3D box-like topology. The 8 corner points are stored interleaved as x0, y0, z0, x1, y1, z1, ... x7, y7, z7. The points can be in arbitrary position in space.

       7               6
       +---------------+
      /|              /|
     / |             / |
 4  /  |          5 /  |
   +---------------+   |
   |   |           |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+
   0               1

Instance members

Instance member Description

this.AsFSharpCode

Full Usage: this.AsFSharpCode

Returns: string

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

Returns: string

this.AsPoints

Full Usage: this.AsPoints

Returns: Pnt array

Converts the flat float buffer of the FreeBox into an array of the 8 corner points. Use .XYZs to access the live internal buffer.

Returns: Pnt array

this.AsString

Full Usage: this.AsString

Returns: string

Nicely formatted string representation of the box including Pt0.

Returns: string

this.Duplicate

Full Usage: this.Duplicate

Returns: FreeBox

Returns a new FreeBox that is a copy of this one, with its own flat array of 24 floats.

Returns: FreeBox

this.Edge01

Full Usage: this.Edge01

Returns: Line3D

Returns the edge between point 0 and point 1.

Returns: Line3D

this.Edge03

Full Usage: this.Edge03

Returns: Line3D

Returns the edge between point 0 and point 3.

Returns: Line3D

this.Edge04

Full Usage: this.Edge04

Returns: Line3D

Returns the edge between point 0 and point 4.

Returns: Line3D

this.Edge10

Full Usage: this.Edge10

Returns: Line3D

Returns the edge between point 1 and point 0. This is the reverse of Edge01.

Returns: Line3D

this.Edge12

Full Usage: this.Edge12

Returns: Line3D

Returns the edge between point 1 and point 2.

Returns: Line3D

this.Edge15

Full Usage: this.Edge15

Returns: Line3D

Returns the edge between point 1 and point 5.

Returns: Line3D

this.Edge21

Full Usage: this.Edge21

Returns: Line3D

Returns the edge between point 2 and point 1. This is the reverse of Edge12.

Returns: Line3D

this.Edge23

Full Usage: this.Edge23

Returns: Line3D

Returns the edge between point 2 and point 3. This is the reverse of Edge32.

Returns: Line3D

this.Edge26

Full Usage: this.Edge26

Returns: Line3D

Returns the edge between point 2 and point 6.

Returns: Line3D

this.Edge30

Full Usage: this.Edge30

Returns: Line3D

Returns the edge between point 3 and point 0. This is the reverse of Edge03.

Returns: Line3D

this.Edge32

Full Usage: this.Edge32

Returns: Line3D

Returns the edge between point 3 and point 2.

Returns: Line3D

this.Edge37

Full Usage: this.Edge37

Returns: Line3D

Returns the edge between point 3 and point 7.

Returns: Line3D

this.Edge40

Full Usage: this.Edge40

Returns: Line3D

Returns the edge between point 4 and point 0. This is the reverse of Edge04.

Returns: Line3D

this.Edge45

Full Usage: this.Edge45

Returns: Line3D

Returns the edge between point 4 and point 5.

Returns: Line3D

this.Edge47

Full Usage: this.Edge47

Returns: Line3D

Returns the edge between point 4 and point 7.

Returns: Line3D

this.Edge51

Full Usage: this.Edge51

Returns: Line3D

Returns the edge between point 5 and point 1. This is the reverse of Edge15.

Returns: Line3D

this.Edge54

Full Usage: this.Edge54

Returns: Line3D

Returns the edge between point 5 and point 4. This is the reverse of Edge45.

Returns: Line3D

this.Edge56

Full Usage: this.Edge56

Returns: Line3D

Returns the edge between point 5 and point 6.

Returns: Line3D

this.Edge62

Full Usage: this.Edge62

Returns: Line3D

Returns the edge between point 6 and point 2. This is the reverse of Edge26.

Returns: Line3D

this.Edge65

Full Usage: this.Edge65

Returns: Line3D

Returns the edge between point 6 and point 5. This is the reverse of Edge56.

Returns: Line3D

this.Edge67

Full Usage: this.Edge67

Returns: Line3D

Returns the edge between point 6 and point 7. This is the reverse of Edge76.

Returns: Line3D

this.Edge73

Full Usage: this.Edge73

Returns: Line3D

Returns the edge between point 7 and point 3. This is the reverse of Edge37.

Returns: Line3D

this.Edge74

Full Usage: this.Edge74

Returns: Line3D

Returns the edge between point 7 and point 4. This is the reverse of Edge47.

Returns: Line3D

this.Edge76

Full Usage: this.Edge76

Returns: Line3D

Returns the edge between point 7 and point 6.

Returns: Line3D

this.Edges

Full Usage: this.Edges

Returns: Line3D[]

Returns the 12 box edges. 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

       7               6
       +---------------+
      /|              /|
     / |             / |
 4  /  |          5 /  |
   +---------------+   |
   |   |           |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+
   0               1

Returns: Line3D[]

this.GetPt

Full Usage: this.GetPt

Parameters:
    pointIndex : int

Returns: Pnt

Get the point at the given point index. The index must be between 0 and 7. (this gets Pnt(XYZs.[pointIndex * 3], XYZs.[pointIndex * 3 + 1], XYZs.[pointIndex * 3 + 2]) from the internal flat array of x, y, and z coordinates)

pointIndex : int
Returns: Pnt

this.GetX

Full Usage: this.GetX

Parameters:
    pointIndex : int

Returns: float

Get the x coordinate of the point at the given point index. The index must be between 0 and 7. (this gets XYZs.[pointIndex * 3] from the internal flat array of x, y, and z coordinates)

pointIndex : int
Returns: float

this.GetY

Full Usage: this.GetY

Parameters:
    pointIndex : int

Returns: float

Get the y coordinate of the point at the given point index. The index must be between 0 and 7. (this gets XYZs.[pointIndex * 3 + 1] from the internal flat array of x, y, and z coordinates)

pointIndex : int
Returns: float

this.GetZ

Full Usage: this.GetZ

Parameters:
    pointIndex : int

Returns: float

Get the z coordinate of the point at the given point index. The index must be between 0 and 7. (this gets XYZs.[pointIndex * 3 + 2] from the internal flat array of x, y, and z coordinates)

pointIndex : int
Returns: float

this.Move

Full Usage: this.Move

Parameters:
Returns: FreeBox

Returns a new FreeBox moved by a vector. Same as FreeBox.move and FreeBox.translate.

v : Vec
Returns: FreeBox

this.MovePt0InPlace

Full Usage: this.MovePt0InPlace

Parameters:

Moves the point 0 of the box by a vector. All other points stay where they are.

v : Vec

this.MovePt1InPlace

Full Usage: this.MovePt1InPlace

Parameters:

Moves the point 1 of the box by a vector. All other points stay where they are.

v : Vec

this.MovePt2InPlace

Full Usage: this.MovePt2InPlace

Parameters:

Moves the point 2 of the box by a vector. All other points stay where they are.

v : Vec

this.MovePt3InPlace

Full Usage: this.MovePt3InPlace

Parameters:

Moves the point 3 of the box by a vector. All other points stay where they are.

v : Vec

this.MovePt4InPlace

Full Usage: this.MovePt4InPlace

Parameters:

Moves the point 4 of the box by a vector. All other points stay where they are.

v : Vec

this.MovePt5InPlace

Full Usage: this.MovePt5InPlace

Parameters:

Moves the point 5 of the box by a vector. All other points stay where they are.

v : Vec

this.MovePt6InPlace

Full Usage: this.MovePt6InPlace

Parameters:

Moves the point 6 of the box by a vector. All other points stay where they are.

v : Vec

this.MovePt7InPlace

Full Usage: this.MovePt7InPlace

Parameters:

Moves the point 7 of the box by a vector. All other points stay where they are.

v : Vec

this.MovePtInPlace

Full Usage: this.MovePtInPlace

Parameters:
    pointIndex : int
    v : Vec

Moves the point at the given point index by a vector. The index must be between 0 and 7. All other points stay where they are.

pointIndex : int
v : Vec

this.MoveX

Full Usage: this.MoveX

Parameters:
    distance : float

Returns: FreeBox

Returns a new FreeBox moved by a given distance in world X direction.

distance : float
Returns: FreeBox

this.MoveY

Full Usage: this.MoveY

Parameters:
    distance : float

Returns: FreeBox

Returns a new FreeBox moved by a given distance in world Y direction.

distance : float
Returns: FreeBox

this.MoveZ

Full Usage: this.MoveZ

Parameters:
    distance : float

Returns: FreeBox

Returns a new FreeBox moved by a given distance in world Z direction.

distance : float
Returns: FreeBox

this.Pt0

Full Usage: this.Pt0

Returns: Pnt

Gets or sets the point 0 of the box. (this gets or sets XYZs.[0], XYZs.[1] and XYZs.[2] of the internal flat array of x, y, and z coordinates)

       7               6
       +---------------+
      /|              /|
     / |             / |
 4  /  |          5 /  |
   +---------------+   |
   |   |           |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+
   0               1

Returns: Pnt

this.Pt0X

Full Usage: this.Pt0X

Returns: float

Gets or sets the X coordinate of the point 0 of the box. (this gets or sets XYZs.[0] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt0Y

Full Usage: this.Pt0Y

Returns: float

Gets or sets the Y coordinate of the point 0 of the box. (this gets or sets XYZs.[1] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt0Z

Full Usage: this.Pt0Z

Returns: float

Gets or sets the Z coordinate of the point 0 of the box. (this gets or sets XYZs.[2] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt1

Full Usage: this.Pt1

Returns: Pnt

Gets or sets the point 1 of the box. (this gets or sets XYZs.[3], XYZs.[4] and XYZs.[5] of the internal flat array of x, y, and z coordinates)

       7               6
       +---------------+
      /|              /|
     / |             / |
 4  /  |          5 /  |
   +---------------+   |
   |   |           |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+
   0               1

Returns: Pnt

this.Pt1X

Full Usage: this.Pt1X

Returns: float

Gets or sets the X coordinate of the point 1 of the box. (this gets or sets XYZs.[3] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt1Y

Full Usage: this.Pt1Y

Returns: float

Gets or sets the Y coordinate of the point 1 of the box. (this gets or sets XYZs.[4] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt1Z

Full Usage: this.Pt1Z

Returns: float

Gets or sets the Z coordinate of the point 1 of the box. (this gets or sets XYZs.[5] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt2

Full Usage: this.Pt2

Returns: Pnt

Gets or sets the point 2 of the box. (this gets or sets XYZs.[6], XYZs.[7] and XYZs.[8] of the internal flat array of x, y, and z coordinates)

       7               6
       +---------------+
      /|              /|
     / |             / |
 4  /  |          5 /  |
   +---------------+   |
   |   |           |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+
   0               1

Returns: Pnt

this.Pt2X

Full Usage: this.Pt2X

Returns: float

Gets or sets the X coordinate of the point 2 of the box. (this gets or sets XYZs.[6] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt2Y

Full Usage: this.Pt2Y

Returns: float

Gets or sets the Y coordinate of the point 2 of the box. (this gets or sets XYZs.[7] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt2Z

Full Usage: this.Pt2Z

Returns: float

Gets or sets the Z coordinate of the point 2 of the box. (this gets or sets XYZs.[8] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt3

Full Usage: this.Pt3

Returns: Pnt

Gets or sets the point 3 of the box. (this gets or sets XYZs.[9], XYZs.[10] and XYZs.[11] of the internal flat array of x, y, and z coordinates)

       7               6
       +---------------+
      /|              /|
     / |             / |
 4  /  |          5 /  |
   +---------------+   |
   |   |           |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+
   0               1

Returns: Pnt

this.Pt3X

Full Usage: this.Pt3X

Returns: float

Gets or sets the X coordinate of the point 3 of the box. (this gets or sets XYZs.[9] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt3Y

Full Usage: this.Pt3Y

Returns: float

Gets or sets the Y coordinate of the point 3 of the box. (this gets or sets XYZs.[10] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt3Z

Full Usage: this.Pt3Z

Returns: float

Gets or sets the Z coordinate of the point 3 of the box. (this gets or sets XYZs.[11] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt4

Full Usage: this.Pt4

Returns: Pnt

Gets or sets the point 4 of the box. (this gets or sets XYZs.[12], XYZs.[13] and XYZs.[14] of the internal flat array of x, y, and z coordinates)

       7               6
       +---------------+
      /|              /|
     / |             / |
 4  /  |          5 /  |
   +---------------+   |
   |   |           |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+
   0               1

Returns: Pnt

this.Pt4X

Full Usage: this.Pt4X

Returns: float

Gets or sets the X coordinate of the point 4 of the box. (this gets or sets XYZs.[12] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt4Y

Full Usage: this.Pt4Y

Returns: float

Gets or sets the Y coordinate of the point 4 of the box. (this gets or sets XYZs.[13] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt4Z

Full Usage: this.Pt4Z

Returns: float

Gets or sets the Z coordinate of the point 4 of the box. (this gets or sets XYZs.[14] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt5

Full Usage: this.Pt5

Returns: Pnt

Gets or sets the point 5 of the box. (this gets or sets XYZs.[15], XYZs.[16] and XYZs.[17] of the internal flat array of x, y, and z coordinates)

       7               6
       +---------------+
      /|              /|
     / |             / |
 4  /  |          5 /  |
   +---------------+   |
   |   |           |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+
   0               1

Returns: Pnt

this.Pt5X

Full Usage: this.Pt5X

Returns: float

Gets or sets the X coordinate of the point 5 of the box. (this gets or sets XYZs.[15] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt5Y

Full Usage: this.Pt5Y

Returns: float

Gets or sets the Y coordinate of the point 5 of the box. (this gets or sets XYZs.[16] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt5Z

Full Usage: this.Pt5Z

Returns: float

Gets or sets the Z coordinate of the point 5 of the box. (this gets or sets XYZs.[17] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt6

Full Usage: this.Pt6

Returns: Pnt

Gets or sets the point 6 of the box. (this gets or sets XYZs.[18], XYZs.[19] and XYZs.[20] of the internal flat array of x, y, and z coordinates)

       7               6
       +---------------+
      /|              /|
     / |             / |
 4  /  |          5 /  |
   +---------------+   |
   |   |           |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+
   0               1

Returns: Pnt

this.Pt6X

Full Usage: this.Pt6X

Returns: float

Gets or sets the X coordinate of the point 6 of the box. (this gets or sets XYZs.[18] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt6Y

Full Usage: this.Pt6Y

Returns: float

Gets or sets the Y coordinate of the point 6 of the box. (this gets or sets XYZs.[19] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt6Z

Full Usage: this.Pt6Z

Returns: float

Gets or sets the Z coordinate of the point 6 of the box. (this gets or sets XYZs.[20] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt7

Full Usage: this.Pt7

Returns: Pnt

Gets or sets the point 7 of the box. (this gets or sets XYZs.[21], XYZs.[22] and XYZs.[23] of the internal flat array of x, y, and z coordinates)

       7               6
       +---------------+
      /|              /|
     / |             / |
 4  /  |          5 /  |
   +---------------+   |
   |   |           |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+
   0               1

Returns: Pnt

this.Pt7X

Full Usage: this.Pt7X

Returns: float

Gets or sets the X coordinate of the point 7 of the box. (this gets or sets XYZs.[21] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt7Y

Full Usage: this.Pt7Y

Returns: float

Gets or sets the Y coordinate of the point 7 of the box. (this gets or sets XYZs.[22] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Pt7Z

Full Usage: this.Pt7Z

Returns: float

Gets or sets the Z coordinate of the point 7 of the box. (this gets or sets XYZs.[23] of the internal flat array of x, y, and z coordinates)

Returns: float

this.Rotate

Full Usage: this.Rotate

Parameters:
Returns: FreeBox

Returns a new FreeBox rotated by a Quaternion. The box is rotated around the World Origin.

q : Quaternion
Returns: FreeBox

this.RotateWithCenter

Full Usage: this.RotateWithCenter

Parameters:
Returns: FreeBox

Returns a new FreeBox rotated by a Quaternion around a given center point.

cen : Pnt
q : Quaternion
Returns: FreeBox

this.Scale

Full Usage: this.Scale

Parameters:
    factor : float

Returns: FreeBox

Returns a new FreeBox scaled by a given factor on the world origin (0, 0, 0).

factor : float
Returns: FreeBox

this.ScaleOn

Full Usage: this.ScaleOn

Parameters:
    cen : Pnt
    factor : float

Returns: FreeBox

Returns a new FreeBox scaled by a given factor on a given center point.

cen : Pnt
factor : float
Returns: FreeBox

this.SetPt

Full Usage: this.SetPt

Parameters:
    pointIndex : int
    p : Pnt

Sets the point at the given point index. The index must be between 0 and 7. (this sets XYZs.[pointIndex * 3], XYZs.[pointIndex * 3 + 1] and XYZs.[pointIndex * 3 + 2] of the internal flat array of x, y, and z coordinates)

pointIndex : int
p : Pnt

this.SetPtXYZ

Full Usage: this.SetPtXYZ

Parameters:
    pointIndex : int
    x : float
    y : float
    z : float

Sets the x, y, and z coordinates of the point at the given point index. The index must be between 0 and 7. (this sets XYZs.[pointIndex * 3], XYZs.[pointIndex * 3 + 1] and XYZs.[pointIndex * 3 + 2] of the internal flat array of x, y, and z coordinates)

pointIndex : int
x : float
y : float
z : float

this.Transform

Full Usage: this.Transform

Parameters:
Returns: FreeBox

Returns a new FreeBox with a 4x4 transformation matrix applied to it.

m : Matrix
Returns: FreeBox

this.TransformRigid

Full Usage: this.TransformRigid

Parameters:
Returns: FreeBox

Returns a new FreeBox with a RigidMatrix applied to it.

m : RigidMatrix
Returns: FreeBox

this.XYZs

Full Usage: this.XYZs

Returns: float[]
Gets the X, Y and Z interleaved array of 24 floats of the box:
 x0, y0, z0, x1, y1, z1, ... x7, y7, z7.
 This is the live internal buffer, so changes to the array will be reflected in the FreeBox.
Returns: float[]

Static members

Static member Description

FreeBox.asFSharpCode b

Full Usage: FreeBox.asFSharpCode b

Parameters:
Returns: string
Modifiers: inline

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

b : FreeBox
Returns: string

FreeBox.asPoints b

Full Usage: FreeBox.asPoints b

Parameters:
Returns: Pnt array
Modifiers: inline

Converts the flat float buffer of the FreeBox into an array of the 8 corner points. Use .XYZs to access the live internal buffer.

b : FreeBox
Returns: Pnt array

FreeBox.asString b

Full Usage: FreeBox.asString b

Parameters:
Returns: string
Modifiers: inline

Nicely formatted string representation of the box including Pt0.

b : FreeBox
Returns: string

FreeBox.createDirectly xyzs

Full Usage: FreeBox.createDirectly xyzs

Parameters:
    xyzs : float[]

Returns: FreeBox
Creates a FreeBox from a flat array of 24 floats:
 x0, y0, z0, x1, y1, z1, ... x7, y7, z7.
 The array is used directly as the internal buffer, it is not copied.
xyzs : float[]
Returns: FreeBox

FreeBox.createFromBox box

Full Usage: FreeBox.createFromBox box

Parameters:
Returns: FreeBox

Creates a FreeBox from a Box. The 8 points of the FreeBox are the 8 corners of the Box.

box : Box
Returns: FreeBox

FreeBox.createFromEightPoints pts

Full Usage: FreeBox.createFromEightPoints pts

Parameters:
Returns: FreeBox

Creates a FreeBox from an array of 8 points. The points can be in arbitrary position in space. The points are copied into a flat array of 24 floats.

pts : Pnt[]
Returns: FreeBox

FreeBox.createFromFour2DPoints zMin zMax pts

Full Usage: FreeBox.createFromFour2DPoints zMin zMax pts

Parameters:
    zMin : float
    zMax : float
    pts : Pt[]

Returns: FreeBox

Creates a FreeBox from four 2D points and a zMin and zMax value.

zMin : float
zMax : float
pts : Pt[]
Returns: FreeBox

FreeBox.createFromFour2DPointsArgs (a, b, c, d, zMin, zMax)

Full Usage: FreeBox.createFromFour2DPointsArgs (a, b, c, d, zMin, zMax)

Parameters:
    a : Pt
    b : Pt
    c : Pt
    d : Pt
    zMin : float
    zMax : float

Returns: FreeBox

Creates a FreeBox from four 2D points in counter-clockwise order and a zMin and zMax value.

a : Pt
b : Pt
c : Pt
d : Pt
zMin : float
zMax : float
Returns: FreeBox

FreeBox.duplicate b

Full Usage: FreeBox.duplicate b

Parameters:
Returns: FreeBox
Modifiers: inline

Returns a new FreeBox that is a copy of the given one, with its own flat array of 24 floats.

b : FreeBox
Returns: FreeBox

FreeBox.edge01 b

Full Usage: FreeBox.edge01 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 0 and point 1.

b : FreeBox
Returns: Line3D

FreeBox.edge03 b

Full Usage: FreeBox.edge03 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 0 and point 3.

b : FreeBox
Returns: Line3D

FreeBox.edge04 b

Full Usage: FreeBox.edge04 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 0 and point 4.

b : FreeBox
Returns: Line3D

FreeBox.edge10 b

Full Usage: FreeBox.edge10 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 1 and point 0. This is the reverse of Edge01.

b : FreeBox
Returns: Line3D

FreeBox.edge12 b

Full Usage: FreeBox.edge12 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 1 and point 2.

b : FreeBox
Returns: Line3D

FreeBox.edge15 b

Full Usage: FreeBox.edge15 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 1 and point 5.

b : FreeBox
Returns: Line3D

FreeBox.edge21 b

Full Usage: FreeBox.edge21 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 2 and point 1. This is the reverse of Edge12.

b : FreeBox
Returns: Line3D

FreeBox.edge23 b

Full Usage: FreeBox.edge23 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 2 and point 3. This is the reverse of Edge32.

b : FreeBox
Returns: Line3D

FreeBox.edge26 b

Full Usage: FreeBox.edge26 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 2 and point 6.

b : FreeBox
Returns: Line3D

FreeBox.edge30 b

Full Usage: FreeBox.edge30 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 3 and point 0. This is the reverse of Edge03.

b : FreeBox
Returns: Line3D

FreeBox.edge32 b

Full Usage: FreeBox.edge32 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 3 and point 2.

b : FreeBox
Returns: Line3D

FreeBox.edge37 b

Full Usage: FreeBox.edge37 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 3 and point 7.

b : FreeBox
Returns: Line3D

FreeBox.edge40 b

Full Usage: FreeBox.edge40 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 4 and point 0. This is the reverse of Edge04.

b : FreeBox
Returns: Line3D

FreeBox.edge45 b

Full Usage: FreeBox.edge45 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 4 and point 5.

b : FreeBox
Returns: Line3D

FreeBox.edge47 b

Full Usage: FreeBox.edge47 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 4 and point 7.

b : FreeBox
Returns: Line3D

FreeBox.edge51 b

Full Usage: FreeBox.edge51 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 5 and point 1. This is the reverse of Edge15.

b : FreeBox
Returns: Line3D

FreeBox.edge54 b

Full Usage: FreeBox.edge54 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 5 and point 4. This is the reverse of Edge45.

b : FreeBox
Returns: Line3D

FreeBox.edge56 b

Full Usage: FreeBox.edge56 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 5 and point 6.

b : FreeBox
Returns: Line3D

FreeBox.edge62 b

Full Usage: FreeBox.edge62 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 6 and point 2. This is the reverse of Edge26.

b : FreeBox
Returns: Line3D

FreeBox.edge65 b

Full Usage: FreeBox.edge65 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 6 and point 5. This is the reverse of Edge56.

b : FreeBox
Returns: Line3D

FreeBox.edge67 b

Full Usage: FreeBox.edge67 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 6 and point 7. This is the reverse of Edge76.

b : FreeBox
Returns: Line3D

FreeBox.edge73 b

Full Usage: FreeBox.edge73 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 7 and point 3. This is the reverse of Edge37.

b : FreeBox
Returns: Line3D

FreeBox.edge74 b

Full Usage: FreeBox.edge74 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 7 and point 4. This is the reverse of Edge47.

b : FreeBox
Returns: Line3D

FreeBox.edge76 b

Full Usage: FreeBox.edge76 b

Parameters:
Returns: Line3D
Modifiers: inline

Returns the edge between point 7 and point 6.

b : FreeBox
Returns: Line3D

FreeBox.edges b

Full Usage: FreeBox.edges b

Parameters:
Returns: Line3D[]
Modifiers: inline

Returns the 12 box edges.

b : FreeBox
Returns: Line3D[]

FreeBox.getPt pointIndex b

Full Usage: FreeBox.getPt pointIndex b

Parameters:
Returns: Pnt
Modifiers: inline

Get the point at the given point index. The index must be between 0 and 7. (this gets Pnt(XYZs.[pointIndex * 3], XYZs.[pointIndex * 3 + 1], XYZs.[pointIndex * 3 + 2]) from the internal flat array of x, y, and z coordinates)

pointIndex : int
b : FreeBox
Returns: Pnt

FreeBox.getX pointIndex b

Full Usage: FreeBox.getX pointIndex b

Parameters:
Returns: float
Modifiers: inline

Get the x coordinate of the point at the given point index. The index must be between 0 and 7. (this gets XYZs.[pointIndex * 3] from the internal flat array of x, y, and z coordinates)

pointIndex : int
b : FreeBox
Returns: float

FreeBox.getXYZs b

Full Usage: FreeBox.getXYZs b

Parameters:
Returns: float[]
Modifiers: inline
Gets the X, Y and Z interleaved array of 24 floats of the box:
 x0, y0, z0, x1, y1, z1, ... x7, y7, z7.
 This is the live internal buffer, so changes to the array will be reflected in the FreeBox.
b : FreeBox
Returns: float[]

FreeBox.getY pointIndex b

Full Usage: FreeBox.getY pointIndex b

Parameters:
Returns: float
Modifiers: inline

Get the y coordinate of the point at the given point index. The index must be between 0 and 7. (this gets XYZs.[pointIndex * 3 + 1] from the internal flat array of x, y, and z coordinates)

pointIndex : int
b : FreeBox
Returns: float

FreeBox.getZ pointIndex b

Full Usage: FreeBox.getZ pointIndex b

Parameters:
Returns: float
Modifiers: inline

Get the z coordinate of the point at the given point index. The index must be between 0 and 7. (this gets XYZs.[pointIndex * 3 + 2] from the internal flat array of x, y, and z coordinates)

pointIndex : int
b : FreeBox
Returns: float

FreeBox.move v b

Full Usage: FreeBox.move v b

Parameters:
Returns: FreeBox
Modifiers: inline

Returns a new FreeBox moved by a vector. Same as FreeBox.translate.

v : Vec
b : FreeBox
Returns: FreeBox

FreeBox.movePt0InPlace v b

Full Usage: FreeBox.movePt0InPlace v b

Parameters:
Modifiers: inline

Moves the point 0 of the box by a vector. All other points stay where they are.

v : Vec
b : FreeBox

FreeBox.movePt1InPlace v b

Full Usage: FreeBox.movePt1InPlace v b

Parameters:
Modifiers: inline

Moves the point 1 of the box by a vector. All other points stay where they are.

v : Vec
b : FreeBox

FreeBox.movePt2InPlace v b

Full Usage: FreeBox.movePt2InPlace v b

Parameters:
Modifiers: inline

Moves the point 2 of the box by a vector. All other points stay where they are.

v : Vec
b : FreeBox

FreeBox.movePt3InPlace v b

Full Usage: FreeBox.movePt3InPlace v b

Parameters:
Modifiers: inline

Moves the point 3 of the box by a vector. All other points stay where they are.

v : Vec
b : FreeBox

FreeBox.movePt4InPlace v b

Full Usage: FreeBox.movePt4InPlace v b

Parameters:
Modifiers: inline

Moves the point 4 of the box by a vector. All other points stay where they are.

v : Vec
b : FreeBox

FreeBox.movePt5InPlace v b

Full Usage: FreeBox.movePt5InPlace v b

Parameters:
Modifiers: inline

Moves the point 5 of the box by a vector. All other points stay where they are.

v : Vec
b : FreeBox

FreeBox.movePt6InPlace v b

Full Usage: FreeBox.movePt6InPlace v b

Parameters:
Modifiers: inline

Moves the point 6 of the box by a vector. All other points stay where they are.

v : Vec
b : FreeBox

FreeBox.movePt7InPlace v b

Full Usage: FreeBox.movePt7InPlace v b

Parameters:
Modifiers: inline

Moves the point 7 of the box by a vector. All other points stay where they are.

v : Vec
b : FreeBox

FreeBox.movePtInPlace pointIndex v b

Full Usage: FreeBox.movePtInPlace pointIndex v b

Parameters:
Modifiers: inline

Moves the point at the given point index by a vector. The index must be between 0 and 7. All other points stay where they are.

pointIndex : int
v : Vec
b : FreeBox

FreeBox.moveX distance b

Full Usage: FreeBox.moveX distance b

Parameters:
Returns: FreeBox
Modifiers: inline

Returns a new FreeBox moved by a given distance in world X direction.

distance : float
b : FreeBox
Returns: FreeBox

FreeBox.moveY distance b

Full Usage: FreeBox.moveY distance b

Parameters:
Returns: FreeBox
Modifiers: inline

Returns a new FreeBox moved by a given distance in world Y direction.

distance : float
b : FreeBox
Returns: FreeBox

FreeBox.moveZ distance b

Full Usage: FreeBox.moveZ distance b

Parameters:
Returns: FreeBox
Modifiers: inline

Returns a new FreeBox moved by a given distance in world Z direction.

distance : float
b : FreeBox
Returns: FreeBox

FreeBox.pt0 b

Full Usage: FreeBox.pt0 b

Parameters:
Returns: Pnt
Modifiers: inline

Point 0 of the box.

b : FreeBox
Returns: Pnt

FreeBox.pt0X b

Full Usage: FreeBox.pt0X b

Parameters:
Returns: float
Modifiers: inline

The X coordinate of the point 0 of the box. (this is XYZs.[0])

b : FreeBox
Returns: float

FreeBox.pt0Y b

Full Usage: FreeBox.pt0Y b

Parameters:
Returns: float
Modifiers: inline

The Y coordinate of the point 0 of the box. (this is XYZs.[1])

b : FreeBox
Returns: float

FreeBox.pt0Z b

Full Usage: FreeBox.pt0Z b

Parameters:
Returns: float
Modifiers: inline

The Z coordinate of the point 0 of the box. (this is XYZs.[2])

b : FreeBox
Returns: float

FreeBox.pt1 b

Full Usage: FreeBox.pt1 b

Parameters:
Returns: Pnt
Modifiers: inline

Point 1 of the box.

b : FreeBox
Returns: Pnt

FreeBox.pt1X b

Full Usage: FreeBox.pt1X b

Parameters:
Returns: float
Modifiers: inline

The X coordinate of the point 1 of the box. (this is XYZs.[3])

b : FreeBox
Returns: float

FreeBox.pt1Y b

Full Usage: FreeBox.pt1Y b

Parameters:
Returns: float
Modifiers: inline

The Y coordinate of the point 1 of the box. (this is XYZs.[4])

b : FreeBox
Returns: float

FreeBox.pt1Z b

Full Usage: FreeBox.pt1Z b

Parameters:
Returns: float
Modifiers: inline

The Z coordinate of the point 1 of the box. (this is XYZs.[5])

b : FreeBox
Returns: float

FreeBox.pt2 b

Full Usage: FreeBox.pt2 b

Parameters:
Returns: Pnt
Modifiers: inline

Point 2 of the box.

b : FreeBox
Returns: Pnt

FreeBox.pt2X b

Full Usage: FreeBox.pt2X b

Parameters:
Returns: float
Modifiers: inline

The X coordinate of the point 2 of the box. (this is XYZs.[6])

b : FreeBox
Returns: float

FreeBox.pt2Y b

Full Usage: FreeBox.pt2Y b

Parameters:
Returns: float
Modifiers: inline

The Y coordinate of the point 2 of the box. (this is XYZs.[7])

b : FreeBox
Returns: float

FreeBox.pt2Z b

Full Usage: FreeBox.pt2Z b

Parameters:
Returns: float
Modifiers: inline

The Z coordinate of the point 2 of the box. (this is XYZs.[8])

b : FreeBox
Returns: float

FreeBox.pt3 b

Full Usage: FreeBox.pt3 b

Parameters:
Returns: Pnt
Modifiers: inline

Point 3 of the box.

b : FreeBox
Returns: Pnt

FreeBox.pt3X b

Full Usage: FreeBox.pt3X b

Parameters:
Returns: float
Modifiers: inline

The X coordinate of the point 3 of the box. (this is XYZs.[9])

b : FreeBox
Returns: float

FreeBox.pt3Y b

Full Usage: FreeBox.pt3Y b

Parameters:
Returns: float
Modifiers: inline

The Y coordinate of the point 3 of the box. (this is XYZs.[10])

b : FreeBox
Returns: float

FreeBox.pt3Z b

Full Usage: FreeBox.pt3Z b

Parameters:
Returns: float
Modifiers: inline

The Z coordinate of the point 3 of the box. (this is XYZs.[11])

b : FreeBox
Returns: float

FreeBox.pt4 b

Full Usage: FreeBox.pt4 b

Parameters:
Returns: Pnt
Modifiers: inline

Point 4 of the box.

b : FreeBox
Returns: Pnt

FreeBox.pt4X b

Full Usage: FreeBox.pt4X b

Parameters:
Returns: float
Modifiers: inline

The X coordinate of the point 4 of the box. (this is XYZs.[12])

b : FreeBox
Returns: float

FreeBox.pt4Y b

Full Usage: FreeBox.pt4Y b

Parameters:
Returns: float
Modifiers: inline

The Y coordinate of the point 4 of the box. (this is XYZs.[13])

b : FreeBox
Returns: float

FreeBox.pt4Z b

Full Usage: FreeBox.pt4Z b

Parameters:
Returns: float
Modifiers: inline

The Z coordinate of the point 4 of the box. (this is XYZs.[14])

b : FreeBox
Returns: float

FreeBox.pt5 b

Full Usage: FreeBox.pt5 b

Parameters:
Returns: Pnt
Modifiers: inline

Point 5 of the box.

b : FreeBox
Returns: Pnt

FreeBox.pt5X b

Full Usage: FreeBox.pt5X b

Parameters:
Returns: float
Modifiers: inline

The X coordinate of the point 5 of the box. (this is XYZs.[15])

b : FreeBox
Returns: float

FreeBox.pt5Y b

Full Usage: FreeBox.pt5Y b

Parameters:
Returns: float
Modifiers: inline

The Y coordinate of the point 5 of the box. (this is XYZs.[16])

b : FreeBox
Returns: float

FreeBox.pt5Z b

Full Usage: FreeBox.pt5Z b

Parameters:
Returns: float
Modifiers: inline

The Z coordinate of the point 5 of the box. (this is XYZs.[17])

b : FreeBox
Returns: float

FreeBox.pt6 b

Full Usage: FreeBox.pt6 b

Parameters:
Returns: Pnt
Modifiers: inline

Point 6 of the box.

b : FreeBox
Returns: Pnt

FreeBox.pt6X b

Full Usage: FreeBox.pt6X b

Parameters:
Returns: float
Modifiers: inline

The X coordinate of the point 6 of the box. (this is XYZs.[18])

b : FreeBox
Returns: float

FreeBox.pt6Y b

Full Usage: FreeBox.pt6Y b

Parameters:
Returns: float
Modifiers: inline

The Y coordinate of the point 6 of the box. (this is XYZs.[19])

b : FreeBox
Returns: float

FreeBox.pt6Z b

Full Usage: FreeBox.pt6Z b

Parameters:
Returns: float
Modifiers: inline

The Z coordinate of the point 6 of the box. (this is XYZs.[20])

b : FreeBox
Returns: float

FreeBox.pt7 b

Full Usage: FreeBox.pt7 b

Parameters:
Returns: Pnt
Modifiers: inline

Point 7 of the box.

b : FreeBox
Returns: Pnt

FreeBox.pt7X b

Full Usage: FreeBox.pt7X b

Parameters:
Returns: float
Modifiers: inline

The X coordinate of the point 7 of the box. (this is XYZs.[21])

b : FreeBox
Returns: float

FreeBox.pt7Y b

Full Usage: FreeBox.pt7Y b

Parameters:
Returns: float
Modifiers: inline

The Y coordinate of the point 7 of the box. (this is XYZs.[22])

b : FreeBox
Returns: float

FreeBox.pt7Z b

Full Usage: FreeBox.pt7Z b

Parameters:
Returns: float
Modifiers: inline

The Z coordinate of the point 7 of the box. (this is XYZs.[23])

b : FreeBox
Returns: float

FreeBox.rotate q b

Full Usage: FreeBox.rotate q b

Parameters:
Returns: FreeBox
Modifiers: inline

Returns a new FreeBox rotated by a Quaternion. The box is rotated around the World Origin.

q : Quaternion
b : FreeBox
Returns: FreeBox

FreeBox.rotateWithCenter cen q b

Full Usage: FreeBox.rotateWithCenter cen q b

Parameters:
Returns: FreeBox
Modifiers: inline

Returns a new FreeBox rotated by a Quaternion around a given center point.

cen : Pnt
q : Quaternion
b : FreeBox
Returns: FreeBox

FreeBox.scale factor b

Full Usage: FreeBox.scale factor b

Parameters:
Returns: FreeBox
Modifiers: inline

Returns a new FreeBox scaled by a given factor. Scale center is World Origin 0,0,0

factor : float
b : FreeBox
Returns: FreeBox

FreeBox.scaleOn cen factor b

Full Usage: FreeBox.scaleOn cen factor b

Parameters:
Returns: FreeBox
Modifiers: inline

Returns a new FreeBox scaled by a given factor on a given center point.

cen : Pnt
factor : float
b : FreeBox
Returns: FreeBox

FreeBox.setPt pointIndex p b

Full Usage: FreeBox.setPt pointIndex p b

Parameters:
Modifiers: inline

Sets the point at the given point index. The index must be between 0 and 7. (this sets XYZs.[pointIndex * 3], XYZs.[pointIndex * 3 + 1] and XYZs.[pointIndex * 3 + 2] of the internal flat array of x, y, and z coordinates)

pointIndex : int
p : Pnt
b : FreeBox

FreeBox.setPtXYZ pointIndex x y z b

Full Usage: FreeBox.setPtXYZ pointIndex x y z b

Parameters:
    pointIndex : int
    x : float
    y : float
    z : float
    b : FreeBox

Modifiers: inline

Sets the x, y, and z coordinates of the point at the given point index. The index must be between 0 and 7. (this sets XYZs.[pointIndex * 3], XYZs.[pointIndex * 3 + 1] and XYZs.[pointIndex * 3 + 2] of the internal flat array of x, y, and z coordinates)

pointIndex : int
x : float
y : float
z : float
b : FreeBox

FreeBox.transform m b

Full Usage: FreeBox.transform m b

Parameters:
Returns: FreeBox
Modifiers: inline

Returns a new FreeBox with a 4x4 transformation matrix applied to it.

m : Matrix
b : FreeBox
Returns: FreeBox

FreeBox.transformRigid m b

Full Usage: FreeBox.transformRigid m b

Parameters:
Returns: FreeBox
Modifiers: inline

Returns a new FreeBox with a RigidMatrix applied to it.

m : RigidMatrix
b : FreeBox
Returns: FreeBox

FreeBox.translate v b

Full Usage: FreeBox.translate v b

Parameters:
Returns: FreeBox
Modifiers: inline

Returns a new FreeBox translated by a vector. Same as FreeBox.move.

v : Vec
b : FreeBox
Returns: FreeBox

Type something to start searching.