UNPKG

ts-scikit

Version:

A scientific toolkit written in Typescript

113 lines (112 loc) 3.81 kB
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; }