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 transform to 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 rangeToExtend by 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 other is also of class Box |
|
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 localToWorld frame. |
|
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 axes matrix. |
|
createRange(range: Range3d, capped: boolean): undefined | Box Static | Create an axis-aligned Box primitive for a range. |
Inherited methods
Name | Inherited from | Description |
---|---|---|
range(transform?: Transform, result?: Range3d): Range3d | SolidPrimitive | Return the range of the entire GeometryQuery tree. |
tryTranslateInPlace(dx: number, dy: number0.0, dz: number0.0): boolean | SolidPrimitive | Try to move the geometry by dx,dy,dz. |
areAlmostEqual(a: GeometryQuery, b: GeometryQuery): boolean Static | 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 | boolean | SolidPrimitive | flag indicating whether cap region is considered closed (i.e. |
capped Accessor | boolean | SolidPrimitive | Whether this is a capped solid |
children Accessor ReadOnly | undefined | GeometryQuery[] | SolidPrimitive | Return GeometryQuery children for recursive queries. * leaf classes do not need to implement. |
geometryCategory Readonly | "solid" | SolidPrimitive | String name for schema properties |
Defined in
- solid/Box.ts Line 32
Last Updated: 28 October, 2024
Found something wrong, missing, or unclear on this page?Raise an issue in our repo.