UNPKG

@babylonjs/core

Version:

Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.

171 lines (170 loc) 3.79 kB
import { Vector3 } from "../Maths/math.vector.js"; import { _IsoVector } from "../Maths/math.isovector.js"; /** * Class representing data for one face OAB of an equilateral icosahedron * When O is the isovector (0, 0), A is isovector (m, n) * @internal */ export declare class _PrimaryIsoTriangle { /** @internal */ m: number; /** @internal */ n: number; /** @internal */ cartesian: Vector3[]; /** @internal */ vertices: _IsoVector[]; /** @internal */ max: number[]; /** @internal */ min: number[]; /** @internal */ vecToidx: { [key: string]: number; }; /** @internal */ vertByDist: { [key: string]: number[]; }; /** @internal */ closestTo: number[][]; /** @internal */ innerFacets: string[][]; /** @internal */ isoVecsABOB: _IsoVector[][]; /** @internal */ isoVecsOBOA: _IsoVector[][]; /** @internal */ isoVecsBAOA: _IsoVector[][]; /** @internal */ vertexTypes: number[][]; /** @internal */ coau: number; /** @internal */ cobu: number; /** @internal */ coav: number; /** @internal */ cobv: number; /** @internal */ IDATA: PolyhedronData; /** * Creates the PrimaryIsoTriangle Triangle OAB * @param m an integer * @param n an integer */ setIndices(): void; /** @internal */ calcCoeffs(): void; /** @internal */ createInnerFacets(): void; /** @internal */ edgeVecsABOB(): void; /** @internal */ mapABOBtoOBOA(): void; /** @internal */ mapABOBtoBAOA(): void; /** @internal */ MapToFace(faceNb: number, geodesicData: PolyhedronData): void; /**Creates a primary triangle * @internal */ build(m: number, n: number): this; } /** Builds Polyhedron Data * @internal */ export declare class PolyhedronData { /** * The name of the polyhedron */ name: string; /** * The category of the polyhedron */ category: string; /** * vertex data */ vertex: number[][]; /** * face data */ face: number[][]; /** * @internal */ edgematch: (number | string)[][]; /** @internal */ constructor( /** * The name of the polyhedron */ name: string, /** * The category of the polyhedron */ category: string, /** * vertex data */ vertex: number[][], /** * face data */ face: number[][]); } /** * This class Extends the PolyhedronData Class to provide measures for a Geodesic Polyhedron */ export declare class GeodesicData extends PolyhedronData { /** * @internal */ edgematch: (number | string)[][]; /** * @internal */ adjacentFaces: number[][]; /** * @internal */ sharedNodes: number; /** * @internal */ poleNodes: number; /** * @internal */ innerToData(face: number, primTri: _PrimaryIsoTriangle): void; /** * @internal */ mapABOBtoDATA(faceNb: number, primTri: _PrimaryIsoTriangle): void; /** * @internal */ mapOBOAtoDATA(faceNb: number, primTri: _PrimaryIsoTriangle): void; /** * @internal */ mapBAOAtoDATA(faceNb: number, primTri: _PrimaryIsoTriangle): void; /** * @internal */ orderData(primTri: _PrimaryIsoTriangle): void; /** * @internal */ setOrder(m: number, faces: number[]): number[]; /** * @internal */ toGoldbergPolyhedronData(): PolyhedronData; /**Builds the data for a Geodesic Polyhedron from a primary triangle * @param primTri the primary triangle * @internal */ static BuildGeodesicData(primTri: _PrimaryIsoTriangle): GeodesicData; }