Box Class
A box-like solid defined by
- A local coordinate frame- (0,0,0) is left lower rear corner of box (considering "left" to reference x, "lower" to reference y, "rear and front" to reference z=0 and z=1)
- (0,0,1) is left lower front corner.
- (baseX,baseY,z) is right upper corner at z
- note that the frame x and y columns are usually unit vectors in local space, but z is full rear to front vector
 
- The separate values for base and top x and y allow the box to be a "view frustum" with parallel back and front planes but independent x and y bellows effects.
Extends
Methods
| Name | Description | |
|---|---|---|
| constructor(map: Transform, baseX: number, baseY: number, topX: number, topY: number, capped: boolean): Box Protected | ||
| clone(): Box | Return a clone | |
| cloneTransformed(transform: Transform): undefined | Box | Clone the box and immediately apply transformto the local frame of the clone. | |
| constantVSection(zFraction: number): CurveCollection | Consider the box sides (not top and bottom) as a (u,v) surface with | |
| dispatchToGeometryHandler(handler: GeometryHandler): any | Second step of double dispatch:  call handler.handleBox(this) | |
| extendRange(rangeToExtend: Range3d, transform?: Transform): void | Extend rangeToExtendby each of the 8 corners | |
| getBaseOrigin(): Point3d | (property accessor) return the local coordinates point (0,0,0) to world | |
| getBaseX(): number | (property accessor) return the x length at z = 0 | |
| getBaseY(): number | (property accessor) return the y length at z = 0 | |
| getConstructiveFrame(): undefined | Transform | Return a coordinate frame (right handed unit vectors) | |
| getCorners(): Point3d[] | Returns the 8 corners in x fastest, then y, finally z lexical order. | |
| getTopOrigin(): Point3d | (property accessor) return the local coordinates point (0,0,1) to world | |
| getTopX(): number | (property accessor) return the x length at z = 1 | |
| getTopY(): number | (property accessor) return the x length at z = 1 | |
| getVectorX(): Vector3d | (property accessor) return the local coordinate frame x vector | |
| getVectorY(): Vector3d | (property accessor) return the local coordinate frame y vector | |
| getVectorZ(): Vector3d | (property accessor) return the local coordinate frame z vector | |
| isAlmostEqual(other: GeometryQuery): boolean | test for near equality | |
| isSameGeometryClass(other: any): boolean | Test of otheris also of classBox | |
| strokeConstantVSection(zFraction: number): LineString3d | Return strokes of the cross-section rectangle at local z coordinate | |
| tryTransformInPlace(transform: Transform): boolean | Apply the transform to the box's localToWorldframe. | |
| createDgnBox(origin: Point3d, vectorX: Vector3d, vectorY: Vector3d, topOrigin: Point3d, baseX: number, baseY: number, topX: number, topY: number, capped: boolean): undefined | Box Static | Create a new box from vector and size daa. | |
| createDgnBoxWithAxes(origin: Point3d, axes: Matrix3d, topOrigin: Point3d, baseX: number, baseY: number, topX: number, topY: number, capped: boolean): undefined | Box Static | Create a new box with xy directions taken from columns of the axesmatrix. | |
| createRange(range: Range3d, capped: boolean): undefined | Box Static | Create an axis-aligned Boxprimitive for a range. | 
Inherited methods
| Name | Inherited from | Description | 
|---|---|---|
| range(transform?: Transform, result?: Range3d): Range3d Inherited | SolidPrimitive | Return the range of the entire GeometryQuery tree. | 
| tryTranslateInPlace(dx: number, dy: number0.0, dz: number0.0): boolean Inherited | SolidPrimitive | Try to move the geometry by dx,dy,dz. | 
| areAlmostEqual(a: GeometryQuery, b: GeometryQuery): boolean Static Inherited | SolidPrimitive | Apply instance method isAlmostEqual if both are defined. | 
Properties
| Name | Type | Description | |
|---|---|---|---|
| isClosedVolume Accessor ReadOnly | boolean | ||
| solidPrimitiveType Readonly | "box" | String name for schema properties | 
Inherited properties
| Name | Type | Inherited from | Description | 
|---|---|---|---|
| _capped Protected Inherited | boolean | SolidPrimitive | flag indicating whether cap region is considered closed (i.e. | 
| capped Accessor Inherited | boolean | SolidPrimitive | Whether this is a capped solid | 
| children Accessor Inherited ReadOnly | undefined | GeometryQuery[] | SolidPrimitive | Return GeometryQuery children for recursive queries. * leaf classes do not need to implement. | 
| geometryCategory Readonly Inherited | "solid" | SolidPrimitive | String name for schema properties | 
Defined in
- solid/Box.ts Line 32
Last Updated: 24 June, 2025
Found something wrong, missing, or unclear on this page? Raise an issue in our repo.