rabbit-ear
Version:
origami design library
169 lines • 4.51 kB
TypeScript
export function __types__(): void;
export type FOLDFrame = {
frame_author?: string;
frame_title?: string;
frame_description?: string;
frame_classes?: string[];
frame_attributes?: string[];
frame_unit?: string;
vertices_coords?: [number, number][] | [number, number, number][];
vertices_vertices?: number[][];
vertices_edges?: number[][];
vertices_faces?: (number | null | undefined)[][];
edges_vertices?: [number, number][];
edges_faces?: (number | null | undefined)[][];
edges_assignment?: string[];
edges_foldAngle?: number[];
edges_length?: number[];
faces_vertices?: number[][];
faces_edges?: number[][];
faces_faces?: (number | null | undefined)[][];
faceOrders?: [number, number, number][];
edgeOrders?: [number, number, number][];
};
export type FOLDInternalFrame = FOLDFrame & {
frame_parent?: number;
frame_inherit?: boolean;
};
export type FOLDFileMetadata = {
file_frames?: FOLDInternalFrame[];
file_spec?: number;
file_creator?: string;
file_author?: string;
file_title?: string;
file_description?: string;
file_classes?: string[];
};
export type FOLDOutOfSpec = {
faces_center?: ([number, number] | [number, number, number])[];
faces_normal?: ([number, number] | [number, number, number])[];
edges_vector?: ([number, number] | [number, number, number])[];
faces_polygon?: ([number, number] | [number, number, number])[][];
faces_matrix?: number[][];
faces_layer?: number[];
vertices_sectors?: number[][];
};
export type FOLD = FOLDFileMetadata & FOLDFrame & FOLDOutOfSpec;
export type FOLDExtended = FOLD & FOLDOutOfSpec;
export type VecLine2 = {
vector: [number, number];
origin: [number, number];
};
export type VecLine3 = {
vector: [number, number, number];
origin: [number, number, number];
};
export type VecLine = {
vector: [number, number] | [number, number, number];
origin: [number, number] | [number, number, number];
};
export type UniqueLine = {
normal: [number, number];
distance: number;
};
export type Box = {
min: number[];
max: number[];
span?: number[];
};
export type Circle = {
radius: number;
origin: [number, number];
};
export type SweepEvent = {
vertices: number[];
t: number;
start: number[];
end: number[];
};
/**
* Intersection related events
*/
export type LineLineEvent = {
a: number;
b: number;
point: [number, number];
};
/**
* Intersection related events
*/
export type FaceVertexEvent = {
a: number;
vertex: number;
};
/**
* Intersection related events
*/
export type FaceEdgeEvent = {
a: number;
b: number;
point: [number, number];
edge: number;
};
/**
* Intersection related events
*/
export type FacePointEvent = {
point: [number, number];
overlap: boolean;
t: number[];
};
export type WebGLVertexArray = {
location: number;
buffer: WebGLBuffer;
type: number;
length: number;
data: Float32Array;
};
export type WebGLElementArray = {
mode: number;
buffer: WebGLBuffer;
data: Uint16Array | Uint32Array;
};
export type WebGLUniform = {
func: string;
value: any;
};
export type WebGLModel = {
program: WebGLProgram;
vertexArrays: WebGLVertexArray[];
elementArrays: WebGLElementArray[];
flags: number[];
makeUniforms: (options: object) => ({
[key: string]: WebGLUniform;
});
};
export type Arrow = {
segment: [[number, number], [number, number]];
head?: {
width: number;
height: number;
};
tail?: {
width: number;
height: number;
};
bend?: number;
padding?: number;
};
export type TacoTacoConstraint = [number, number, number, number];
export type TacoTortillaConstraint = [number, number, number];
export type TortillaTortillaConstraint = [number, number, number, number];
export type TransitivityConstraint = [number, number, number];
export type LayerBranch = LayerFork[];
export type LayerOrders = {
[key: string]: number;
};
export type LayerFork = {
orders: LayerOrders;
branches?: LayerFork[][];
};
export type LayerSolverSolution = LayerFork;
export type FaceOrdersBranch = FaceOrdersFork[];
export type FaceOrders = [number, number, number][];
export type FaceOrdersFork = {
orders: [number, number, number][];
branches?: FaceOrdersFork[][];
};
export type FaceOrdersSolverSolution = FaceOrdersFork;
//# sourceMappingURL=types.d.ts.map