@threepipe/plugin-svg-renderer
Version:
Plugins for SVG Rendering of 3d objects for Threepipe
45 lines • 1.99 kB
TypeScript
import { Vector2, Vector3, PerspectiveCamera, Line3 } from '../../threepipe';
export interface PointLike {
x: number;
y: number;
}
export interface SizeLike {
w: number;
h: number;
}
export interface RectLike extends PointLike, SizeLike {
}
export declare function projectPointNDC(point: Vector3, target: Vector2, camera: PerspectiveCamera): Vector2;
export declare function projectPoint(point: Vector3, target: Vector2, camera: PerspectiveCamera, renderSize: SizeLike): Vector2;
/**
* Converts a point from the NDC coordinates to the image coordinates
* @param point Point in NDC to be converted
* @param size Size of the render
* @returns
*/
export declare function NDCPointToImage(point: Vector2, target: Vector2, size: SizeLike): Vector2;
/**
* Converts a point from the image coordinates to the NDC coordinates
* @param point Point in the image coordinates
* @param size Size of the render
* @returns
*/
export declare function imagePointToNDC(point: Vector2, target: Vector2, size: SizeLike): Vector2;
export declare function hashVector3(vec: Vector3, multiplier?: number): string;
export declare function hashVector2(vec: Vector2, multiplier?: number): string;
/**
* Checks wether lines intersect and computes the intersection point.
*
* Adapted from mathjs
*
* @param line1 First segment/line
* @param line2 Second segment/line
* @param target Destination of the intersection point
* @param infiniteLine Wether to consider segments as infinite lines. Default, false
* @param tolerance Tolerance from which points are considred equal
* @returns true if lines intersect, false otherwise
*/
export declare function intersectLines(line1: Line3, line2: Line3, target: Vector3, infiniteLine?: boolean, tolerance?: number): boolean;
export declare function vectors3Equal(a: Vector3, b: Vector3, tolerance?: number): boolean;
export declare function vectors2Equal(a: Vector2, b: Vector2, tolerance?: number): boolean;
//# sourceMappingURL=geometry.d.ts.map