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

Full Usage: this.Edge0

Returns: Line3D

Returns the edge between point 0 and point 1, E0 of the 12 box edges

       7               6
       +--------E6-----+
      /|              /|
    E7 E11           E5|
 4  /  |          5 /  |
   +--------E4-----+   E10
   |   |           E9  |
   E8  +-----E2----|---+
   |  / 3          |  / 2
   | E3            | E1
   |/              |/
   +------E0 ------+
   0               1

Returns: Line3D

this.Edge1

Full Usage: this.Edge1

Returns: Line3D

Returns the edge between point 1 and point 2, E1 of the 12 box edges

       7               6
       +--------E6-----+
      /|              /|
    E7 E11           E5|
 4  /  |          5 /  |
   +--------E4-----+   E10
   |   |           E9  |
   E8  +-----E2----|---+
   |  / 3          |  / 2
   | E3            | E1
   |/              |/
   +------E0 ------+
   0               1

Returns: Line3D

this.Edge10

Full Usage: this.Edge10

Returns: Line3D

Returns the edge between point 2 and point 6, E10 of the 12 box edges

       7               6
       +--------E6-----+
      /|              /|
    E7 E11           E5|
 4  /  |          5 /  |
   +--------E4-----+   E10
   |   |           E9  |
   E8  +-----E2----|---+
   |  / 3          |  / 2
   | E3            | E1
   |/              |/
   +------E0 ------+
   0               1

Returns: Line3D

this.Edge11

Full Usage: this.Edge11

Returns: Line3D

Returns the edge between point 3 and point 7, E11 of the 12 box edges

       7               6
       +--------E6-----+
      /|              /|
    E7 E11           E5|
 4  /  |          5 /  |
   +--------E4-----+   E10
   |   |           E9  |
   E8  +-----E2----|---+
   |  / 3          |  / 2
   | E3            | E1
   |/              |/
   +------E0 ------+
   0               1

Returns: Line3D

this.Edge2

Full Usage: this.Edge2

Returns: Line3D

Returns the edge between point 3 and point 2, E2 of the 12 box edges

       7               6
       +--------E6-----+
      /|              /|
    E7 E11           E5|
 4  /  |          5 /  |
   +--------E4-----+   E10
   |   |           E9  |
   E8  +-----E2----|---+
   |  / 3          |  / 2
   | E3            | E1
   |/              |/
   +------E0 ------+
   0               1

Returns: Line3D

this.Edge3

Full Usage: this.Edge3

Returns: Line3D

Returns the edge between point 0 and point 3, E3 of the 12 box edges

       7               6
       +--------E6-----+
      /|              /|
    E7 E11           E5|
 4  /  |          5 /  |
   +--------E4-----+   E10
   |   |           E9  |
   E8  +-----E2----|---+
   |  / 3          |  / 2
   | E3            | E1
   |/              |/
   +------E0 ------+
   0               1

Returns: Line3D

this.Edge4

Full Usage: this.Edge4

Returns: Line3D

Returns the edge between point 4 and point 5, E4 of the 12 box edges

       7               6
       +--------E6-----+
      /|              /|
    E7 E11           E5|
 4  /  |          5 /  |
   +--------E4-----+   E10
   |   |           E9  |
   E8  +-----E2----|---+
   |  / 3          |  / 2
   | E3            | E1
   |/              |/
   +------E0 ------+
   0               1

Returns: Line3D

this.Edge5

Full Usage: this.Edge5

Returns: Line3D

Returns the edge between point 5 and point 6, E5 of the 12 box edges

       7               6
       +--------E6-----+
      /|              /|
    E7 E11           E5|
 4  /  |          5 /  |
   +--------E4-----+   E10
   |   |           E9  |
   E8  +-----E2----|---+
   |  / 3          |  / 2
   | E3            | E1
   |/              |/
   +------E0 ------+
   0               1

Returns: Line3D

this.Edge6

Full Usage: this.Edge6

Returns: Line3D

Returns the edge between point 7 and point 6, E6 of the 12 box edges

       7               6
       +--------E6-----+
      /|              /|
    E7 E11           E5|
 4  /  |          5 /  |
   +--------E4-----+   E10
   |   |           E9  |
   E8  +-----E2----|---+
   |  / 3          |  / 2
   | E3            | E1
   |/              |/
   +------E0 ------+
   0               1

Returns: Line3D

this.Edge7

Full Usage: this.Edge7

Returns: Line3D

Returns the edge between point 4 and point 7, E7 of the 12 box edges

       7               6
       +--------E6-----+
      /|              /|
    E7 E11           E5|
 4  /  |          5 /  |
   +--------E4-----+   E10
   |   |           E9  |
   E8  +-----E2----|---+
   |  / 3          |  / 2
   | E3            | E1
   |/              |/
   +------E0 ------+
   0               1

Returns: Line3D

this.Edge8

Full Usage: this.Edge8

Returns: Line3D

Returns the edge between point 0 and point 4, E8 of the 12 box edges

       7               6
       +--------E6-----+
      /|              /|
    E7 E11           E5|
 4  /  |          5 /  |
   +--------E4-----+   E10
   |   |           E9  |
   E8  +-----E2----|---+
   |  / 3          |  / 2
   | E3            | E1
   |/              |/
   +------E0 ------+
   0               1

Returns: Line3D

this.Edge9

Full Usage: this.Edge9

Returns: Line3D

Returns the edge between point 1 and point 5, E9 of the 12 box edges

       7               6
       +--------E6-----+
      /|              /|
    E7 E11           E5|
 4  /  |          5 /  |
   +--------E4-----+   E10
   |   |           E9  |
   E8  +-----E2----|---+
   |  / 3          |  / 2
   | E3            | E1
   |/              |/
   +------E0 ------+
   0               1

Returns: Line3D

this.Edges

Full Usage: this.Edges

Returns: Line3D[]

Returns the 12 box edges.

       7               6
       +--------E6-----+
      /|              /|
    E7 E11           E5|
 4  /  |          5 /  |
   +--------E4-----+   E10
   |   |           E9  |
   E8  +-----E2----|---+
   |  / 3          |  / 2
   | E3            | E1
   |/              |/
   +------E0 ------+
   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.

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 3D rectangle by a given factor on world origin (0,0,0)

factor : float
Returns: FreeBox

this.ScaleOn

Full Usage: this.ScaleOn

Parameters:
    cen : Pnt
    factor : float

Returns: FreeBox

Scales the 3D rectangle 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

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.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 3D rectangle 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
i : int
p : Pnt
b : FreeBox

FreeBox.toString b

Full Usage: FreeBox.toString b

Parameters:
Returns: string
Modifiers: inline

Nicely formatted string representation of the Box including Pt0 and Pt7.

b : FreeBox
Returns: string

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.