ts-scikit
Version:
A scientific toolkit written in Typescript
61 lines (60 loc) • 1.74 kB
TypeScript
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;
}