Logo Euclid

FreeBox Type

A class containing an array of 8 points representing an arbitrary 3D box-like topology. 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.AsString

Full Usage: this.AsString

Returns: string

Nicely formatted string representation of the box including Pt0.

Returns: string

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.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.Edge26

Full Usage: this.Edge26

Returns: Line3D

Returns the edge between point 2 and point 6.

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.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.Edge56

Full Usage: this.Edge56

Returns: Line3D

Returns the edge between point 5 and point 6.

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:
    i : int

Returns: Pnt

Get the point at index in the box array. Index must be between 0 and 7.

i : int
Returns: Pnt

this.Move

Full Usage: this.Move

Parameters:
Returns: FreeBox

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

v : Vec
Returns: FreeBox

this.MoveX

Full Usage: this.MoveX

Parameters:
    distance : float

Returns: FreeBox

Returns a 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 FreeBox moved by a given distance in Y direction.

distance : float
Returns: FreeBox

this.MoveZ

Full Usage: this.MoveZ

Parameters:
    distance : float

Returns: FreeBox

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

distance : float
Returns: FreeBox

this.Points

Full Usage: this.Points

Returns: Pnt array

The 8 points that make up the box.

Returns: Pnt array

this.Pt0

Full Usage: this.Pt0

Returns: Pnt

Gets or sets the point 0 of the box array.

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

Returns: Pnt

this.Pt1

Full Usage: this.Pt1

Returns: Pnt
 Gets or sets the point 1 of the box array.
       7               6
       +---------------+
      /|              /|
     / |             / |
 4  /  |          5 /  |
   +---------------+   |
   |   |           |   |
   |   +-----------|---+
   |  / 3          |  / 2
   | /             | /
   |/              |/
   +---------------+
   0               1
 
Returns: Pnt

this.Pt2

Full Usage: this.Pt2

Returns: Pnt

Gets or sets the point 2 of the box array.

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

Returns: Pnt

this.Pt3

Full Usage: this.Pt3

Returns: Pnt

Gets or sets the point 3 of the box array.

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

Returns: Pnt

this.Pt4

Full Usage: this.Pt4

Returns: Pnt

Gets or sets the point 4 of the box array.

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

Returns: Pnt

this.Pt5

Full Usage: this.Pt5

Returns: Pnt

Gets or sets the point 5 of the box array.

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

Returns: Pnt

this.Pt6

Full Usage: this.Pt6

Returns: Pnt

Gets or sets the point 6 of the box array.

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

Returns: Pnt

this.Pt7

Full Usage: this.Pt7

Returns: Pnt

Gets or sets the point 7 of the box array.

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

Returns: Pnt

this.Rotate

Full Usage: this.Rotate

Parameters:
Returns: FreeBox

Multiplies (or applies) a Quaternion to the FreeBox. The box is rotated around the World Origin.

q : Quaternion
Returns: FreeBox

this.RotateWithCenter

Full Usage: this.RotateWithCenter

Parameters:
Returns: FreeBox

Multiplies (or applies) a Quaternion to the FreeBox around a given center point.

cen : Pnt
q : Quaternion
Returns: FreeBox

this.Scale

Full Usage: this.Scale

Parameters:
    factor : float

Returns: FreeBox

Scales the FreeBox 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

Scales the FreeBox by a given factor on a given center point.

cen : Pnt
factor : float
Returns: FreeBox

this.SetPt

Full Usage: this.SetPt

Parameters:
    i : int
    p : Pnt

Sets the point at the specified index. The index must be between 0 and 7.

i : int
p : Pnt

this.Transform

Full Usage: this.Transform

Parameters:
Returns: FreeBox

Applies or multiplies a 4x4 transformation matrix to the FreeBox.

m : Matrix
Returns: FreeBox

this.TransformRigid

Full Usage: this.TransformRigid

Parameters:
Returns: FreeBox

Multiplies (or applies) a RigidMatrix to the FreeBox.

m : RigidMatrix
Returns: FreeBox

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.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.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.

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.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.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.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.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.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.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.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 i b

Full Usage: FreeBox.getPt i b

Parameters:
Returns: Pnt
Modifiers: inline

Get the point at index in the box array. Index must be between 0 and 7.

i : int
b : FreeBox
Returns: Pnt

FreeBox.move v b

Full Usage: FreeBox.move v b

Parameters:
Returns: FreeBox
Modifiers: inline

Move a FreeBox by a vector. Same as FreeBox.translate.

v : Vec
b : FreeBox
Returns: FreeBox

FreeBox.moveX distance b

Full Usage: FreeBox.moveX distance b

Parameters:
Returns: FreeBox
Modifiers: inline

Returns the 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 the 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 the FreeBox moved by a given distance in world Z direction.

distance : float
b : FreeBox
Returns: FreeBox

FreeBox.points b

Full Usage: FreeBox.points b

Parameters:
Returns: Pnt array
Modifiers: inline

The 8 points that make up the box.

b : FreeBox
Returns: Pnt array

FreeBox.pt0 b

Full Usage: FreeBox.pt0 b

Parameters:
Returns: Pnt
Modifiers: inline

Point 0 of the box array. pts.[0]

b : FreeBox
Returns: Pnt

FreeBox.pt1 b

Full Usage: FreeBox.pt1 b

Parameters:
Returns: Pnt
Modifiers: inline

Point 1 of the box array.

b : FreeBox
Returns: Pnt

FreeBox.pt2 b

Full Usage: FreeBox.pt2 b

Parameters:
Returns: Pnt
Modifiers: inline

The third point of the box array. pts.[2]

b : FreeBox
Returns: Pnt

FreeBox.pt3 b

Full Usage: FreeBox.pt3 b

Parameters:
Returns: Pnt
Modifiers: inline

The fourth point of the box array. pts.[3]

b : FreeBox
Returns: Pnt

FreeBox.pt4 b

Full Usage: FreeBox.pt4 b

Parameters:
Returns: Pnt
Modifiers: inline

The fifth point of the box array. pts.[4]

b : FreeBox
Returns: Pnt

FreeBox.pt5 b

Full Usage: FreeBox.pt5 b

Parameters:
Returns: Pnt
Modifiers: inline

The sixth point of the box array. pts.[5]

b : FreeBox
Returns: Pnt

FreeBox.pt6 b

Full Usage: FreeBox.pt6 b

Parameters:
Returns: Pnt
Modifiers: inline

The seventh point of the box array. pts.[6]

b : FreeBox
Returns: Pnt

FreeBox.pt7 b

Full Usage: FreeBox.pt7 b

Parameters:
Returns: Pnt
Modifiers: inline

The eighth point of the box array. pts.[7]

b : FreeBox
Returns: Pnt

FreeBox.rotate q b

Full Usage: FreeBox.rotate q b

Parameters:
Returns: FreeBox
Modifiers: inline

Multiplies (or applies) a Quaternion to the FreeBox. 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

Multiplies (or applies) a Quaternion to the FreeBox 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

Scales the FreeBox 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

Scales the FreeBox by a given factor on a given center point.

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

FreeBox.setPt i p b

Full Usage: FreeBox.setPt i p b

Parameters:
Modifiers: inline

Sets the point at the specified index. The index must be between 0 and 7.

i : int
p : Pnt
b : FreeBox

FreeBox.transform m b

Full Usage: FreeBox.transform m b

Parameters:
Returns: FreeBox
Modifiers: inline

Applies or multiplies a 4x4 transformation matrix to the FreeBox.

m : Matrix
b : FreeBox
Returns: FreeBox

FreeBox.transformRigid m b

Full Usage: FreeBox.transformRigid m b

Parameters:
Returns: FreeBox
Modifiers: inline

Multiplies (or applies) a RigidMatrix to the FreeBox.

m : RigidMatrix
b : FreeBox
Returns: FreeBox

FreeBox.translate v b

Full Usage: FreeBox.translate v b

Parameters:
Returns: FreeBox
Modifiers: inline

Translate a FreeBox by a vector. Same as FreeBox.move.

v : Vec
b : FreeBox
Returns: FreeBox

Type something to start searching.