@threepipe/plugin-svg-renderer
Version:
Plugins for SVG Rendering of 3d objects for Threepipe
65 lines • 2.53 kB
TypeScript
import { Triangle, Vector3 } from '../../threepipe';
/**
* Determines whether the point `d` is to the left of, to the right of, or on
* the oriented plane defined by triangle `abc` appearing in counter-clockwise
* order when viewed from above the plane.
*
* See https://hal.inria.fr/hal-02189483 Appendix C.2 Orientation test
*
* @param a Triangle point
* @param b Triangle point
* @param c Triangle point
* @param d Test point
* @param epsilon Precision, default to `1e-10`
* @returns `1` if on the right side, `-1` if left, `0` if coplanar
*/
export declare function orient3D(a: Vector3, b: Vector3, c: Vector3, d: Vector3, epsilon?: number): 1 | -1 | 0;
/**
*
* Determines whether the point `d` is to the left of, to the right of, or on
* the oriented plane defined by triangle `abc` appearing in counter-clockwise
* order when viewed from above the plane.
*
* See https://hal.inria.fr/hal-02189483 Appendix C.2 Orientation test
*
* @param tri Triangle
* @param p Test point
* @param epsilon Precision, default to `1e-10`
* @returns `1` if on the right side, `-1` if left, `0` if coplanar
*/
export declare function triOrient3D(tri: Triangle, p: Vector3, epsilon?: number): 0 | 1 | -1;
/**
* Returns whether the point `d` is front facing the triangle `abc`.
*
* See https://hal.inria.fr/hal-02189483 Appendix C.2 Orientation test
*
* @param a Triangle point
* @param b Triangle point
* @param c Triangle point
* @param d Camera position
* @param epsilon Precision, default to `1e-10`
* @returns `True` if triangle if front facing, `False` otherwise
*/
export declare function frontSide(a: Vector3, b: Vector3, c: Vector3, d: Vector3, epsilon?: number): boolean;
/**
* Returns whether the points `d` and `e` are on the same side of the triangle `abc`.
*
* See https://hal.inria.fr/hal-02189483 Appendix C.2 Orientation test
*
* @param a Triangle point
* @param b Triangle point
* @param c Triangle point
* @param d Test point
* @param e Test point
* @param epsilon Precision, default to `1e-10`
* @returns `True` if points are on the same side, `False` otherwise
*/
export declare function sameSide(a: Vector3, b: Vector3, c: Vector3, d: Vector3, e: Vector3, epsilon?: number): boolean;
/**
* Rounds the number `num` with the given `divider`.
* @param num Number to round
* @param divider Value of the divider, default `100`.
* @returns Rounded number
*/
export declare function round(num: number, divider?: number): number;
//# sourceMappingURL=orientationtests.d.ts.map