ts-scikit
Version:
A scientific toolkit written in Typescript
113 lines (112 loc) • 3.81 kB
TypeScript
import { Point3 } from './point3';
import { BoundingSphere } from './bounding-sphere';
export declare class BoundingBox {
private _xmin;
private _xmax;
private _ymin;
private _ymax;
private _zmin;
private _zmax;
/**
* Constructs an empty bounding box.
*/
static AsEmpty(): BoundingBox;
/**
* Constructs a bounding box defined by two points.
* The two points represent two of the eight corners of the box.
* @param p a point.
* @param q a point.
*/
static FromCorners(p: Point3, q: Point3): BoundingBox;
/**
* Constructs a bounding box for a list of points.
* @param p a list of points.
*/
static FromPoints(p: Point3[]): BoundingBox;
/**
* Constructs a new bounding box.
* @param xmin the minimum x-coordinate of this box.
* @param xmax the maximum x-coordinate of this box.
* @param ymin the minimum y-coordinate of this box.
* @param ymax the maximum y-coordinate of this box.
* @param zmin the minimum z-coordinate of this box.
* @param zmax the maximum z-coordinate of this box.
*/
constructor(xmin: number, xmax: number, ymin: number, ymax: number, zmin: number, zmax: number);
get xmin(): number;
get xmax(): number;
get ymin(): number;
get ymax(): number;
get zmin(): number;
get zmax(): number;
get min(): Point3;
get max(): Point3;
/**
* Determines if this bounding box is empty.
* @returns true, if empty; false, otherwise.
*/
get isEmpty(): boolean;
/**
* Determines if this bounding box is infinite.
* @returns true, if infinite; false, otherwise.
*/
get isInfinite(): boolean;
/**
* Gets the point at a specified corner of this box.
* <p>
* The corner is specified by index, an integer between 0 an 7. From
* least to most significant, the three bits of this index correspond
* to x, y, and z coordinates of a corner point. A zero bit selects a
* minimum coordinate; a one bit selects a maximum coordinate.
* @param index the corner index.
* @return the corner point.
*/
getCorner(index: number): Point3;
/**
* Expands this box to include the specified features.
* @param p the features to include in this box.
*/
expandBy(p: BoundingBox | BoundingSphere | Point3 | Point3[] | number[]): void;
/**
* Sets this box to an empty box.
*/
setEmpty(): void;
/**
* Sets this box to be an infinite box.
*/
setInfinite(): void;
/**
* Expands thix box to include the specified point.
* @param p the point.
*/
expandByPoint(p: Point3): void;
/**
* Expands this box by the specified bounding sphere.
* @param bs the bounding sphere.
*/
expandByBoundingSphere(bs: BoundingSphere): void;
/**
* Determines whether this box contains the specified feature.
* @param v the feature.
* @returns true, if this box contains the feature; false, otherwise.
*/
contains(v: BoundingBox | Point3): boolean;
/**
* Determines whether this box contains the specified point.
* @param p the point.
* @returns true, if this box contains the point; false, otherwise.
*/
containsPoint(p: Point3): boolean;
/**
* Determines whether this box contains the specified bounding box.
* @param bbox the bounding box.
* @returns true, if this box contains the bounding box; false, otherwise.
*/
containsBoundingBox(bbox: BoundingBox): boolean;
/**
* Determines whether this box intersects the specified bounding box.
* @param bbox the bounding box.
* @returns true, if intersects; false, otherwise.
*/
intersects(bbox: BoundingBox): boolean;
}