UNPKG

ts-scikit

Version:

A scientific toolkit written in Typescript

61 lines (60 loc) 1.74 kB
import { Point3 } from './point3'; import { Vector3 } from './vector3'; import { Matrix44 } from './matrix44'; /** * A segment of a line. */ export declare class Segment { private _a; private _b; private _d; private static readonly TINY; /** * Copies a segment. * @param s the segment. */ static FromSegment(s: Segment): Segment; constructor(a: Point3, b: Point3); /** * Endpoint A. */ get a(): Point3; /** * Endpoint B. */ get b(): Point3; /** * The vector from endpoint A to B. */ get d(): Vector3; /** * The length of this segment. */ get length(): number; /** * Returns a copy of this segment. */ clone(): Segment; /** * Transforms this segment using matrix M. * @param m the matrix. */ transform(m: Matrix44): void; /** * Tests this segment for intersection with the specified triangle. * * If such an intersection exists, this method returns the intersection * point. * @param xa x-coordinate of triangle vertex a. * @param ya y-coordinate of triangle vertex a. * @param za z-coordinate of triangle vertex a. * @param xb x-coordinate of triangle vertex b. * @param yb y-coordinate of triangle vertex b. * @param zb z-coordinate of triangle vertex b. * @param xc x-coordinate of triangle vertex c. * @param yc y-coordinate of triangle vertex c. * @param zc z-coordinate of triangle vertex c. * @returns the point of intersection; null, if none. */ intersectWithTriangle(xa: number, ya: number, za: number, xb: number, yb: number, zb: number, xc: number, yc: number, zc: number): Point3; }