polygonjs-engine
Version:
node-based webgl 3D engine https://polygonjs.com
70 lines (69 loc) • 1.71 kB
TypeScript
import { Vector3 } from 'three/src/math/Vector3';
import { BufferGeometry } from 'three/src/core/BufferGeometry';
export declare enum PointsCountMode {
SEGMENTS_COUNT = "segments count",
SEGMENTS_LENGTH = "segments length"
}
export declare const POINTS_COUNT_MODE: PointsCountMode[];
export declare enum JoinMode {
ABC = "abc",
ACB = "acb",
AB = "ab",
BC = "bc",
AC = "ac"
}
export declare const JOIN_MODES: JoinMode[];
interface Circle3PointsParameters {
arc: boolean;
center: boolean;
pointsCountMode: PointsCountMode;
segmentsLength: number;
segmentsCount: number;
full: boolean;
joinMode: JoinMode;
addIdAttribute: boolean;
addIdnAttribute: boolean;
}
interface CreatedGeometries {
arc?: BufferGeometry;
center?: BufferGeometry;
}
export declare class Circle3Points {
private params;
private a;
private b;
private c;
private an;
private bn;
private cn;
private ac;
private ab;
private ab_x_ac;
private part0;
private part1;
private divider;
private a_center;
private center;
private normal;
private radius;
private x;
private y;
private z;
private angle_ab;
private angle_ac;
private angle_bc;
private angle;
private x_rotated;
private _created_geometries;
constructor(params: Circle3PointsParameters);
created_geometries(): CreatedGeometries;
create(a: Vector3, b: Vector3, c: Vector3): void;
private _create_arc;
private _create_center;
private _compute_axis;
private _compute_angle;
private _points_count;
private _set_x_from_joinMode;
private _set_angle_from_joinMode;
}
export {};