123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- import {
- Object3D,
- Ray,
- Vector3
- } from '../../../src/Three';
- declare class Face {
- constructor();
- normal: Vector3;
- midpoint: Vector3;
- area: number;
- constant: number;
- outside: VertexNode;
- mark: number;
- edge: HalfEdge;
- static create(a: VertexNode, b: VertexNode, c: VertexNode): Face;
- compute(): this;
- getEdge(i: number): HalfEdge;
- }
- declare class HalfEdge {
- constructor(vertex: VertexNode, face: Face);
- vertex: VertexNode;
- prev: HalfEdge;
- next: HalfEdge;
- twin: HalfEdge;
- face: Face;
- head(): VertexNode;
- length(): number;
- lengthSquared(): number;
- setTwin(edge: HalfEdge): this;
- tail(): VertexNode;
- }
- declare class VertexNode {
- constructor(point: Vector3);
- point: Vector3;
- prev: VertexNode;
- next: VertexNode;
- face: Face;
- }
- declare class VertexList {
- constructor();
- head: VertexNode;
- tail: VertexNode;
- append(vertex: VertexNode): this;
- appendChain(vertex: VertexNode): this;
- clear(): this;
- first(): VertexNode;
- insertAfter(target: VertexNode, vertex: VertexNode): this;
- insertBefore(target: VertexNode, vertex: VertexNode): this;
- isEmpty(): boolean;
- last(): VertexNode;
- remove(vertex: VertexNode): this;
- removeSubList(a: VertexNode, b: VertexNode): this;
- }
- export class ConvexHull {
- constructor();
- tolerance: number;
- faces: Face[];
- newFaces: Face[];
- assigned: VertexList;
- unassigned: VertexList;
- vertices: VertexNode[];
- addAdjoiningFace(eyeVertex: VertexNode, horizonEdge: HalfEdge): HalfEdge;
- addNewFaces(eyeVertex: VertexNode, horizon: HalfEdge[]): this;
- addVertexToFace(vertex: VertexNode, face: Face): this;
- addVertexToHull(eyeVertex: VertexNode): this;
- cleanup(): this;
- compute(): this;
- computeExtremes(): object;
- computeHorizon(eyePoint: Vector3, crossEdge: HalfEdge, face: Face, horizon: HalfEdge[]): this;
- computeInitialHull(): this;
- containsPoint(point: Vector3): boolean;
- deleteFaceVertices(face: Face, absorbingFace: Face): this;
- intersectRay(ray: Ray, target: Vector3): Vector3 | null;
- intersectsRay(ray: Ray): boolean;
- makeEmpty(): this;
- nextVertexToAdd(): VertexNode | undefined;
- reindexFaces(): this;
- removeAllVerticesFromFace(face: Face): VertexNode | undefined;
- removeVertexFromFace(vertex: VertexNode, face: Face): this;
- resolveUnassignedPoints(newFaces: Face[]): this;
- setFromPoints(points: Vector3[]): this;
- setFromObject(object: Object3D): this;
- }
|