@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.
145 lines (144 loc) • 3.25 kB
TypeScript
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 {
m: number;
n: number;
cartesian: Vector3[];
vertices: _IsoVector[];
max: number[];
min: number[];
vecToidx: {
[key: string]: number;
};
vertByDist: {
[key: string]: number[];
};
closestTo: number[][];
innerFacets: string[][];
isoVecsABOB: _IsoVector[][];
isoVecsOBOA: _IsoVector[][];
isoVecsBAOA: _IsoVector[][];
vertexTypes: number[][];
coau: number;
cobu: number;
coav: number;
cobv: number;
IDATA: PolyhedronData;
/**
* Creates the PrimaryIsoTriangle Triangle OAB
* @param m an integer
* @param n an integer
*/
setIndices(): void;
calcCoeffs(): void;
createInnerFacets(): void;
edgeVecsABOB(): void;
mapABOBtoOBOA(): void;
mapABOBtoBAOA(): void;
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)[][];
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;
}