@visactor/vrender-core
Version:
## Description
26 lines (25 loc) • 1.1 kB
TypeScript
import type { IMatrix, IMatrixLike } from '@visactor/vutils';
import { Matrix } from '@visactor/vutils';
import type { mat4, Releaseable, IAllocate } from '../interface';
export declare const MatrixAllocate: unique symbol;
export declare const Mat4Allocate: unique symbol;
export declare function createMat4(): mat4;
export declare class DefaultMatrixAllocate implements IAllocate<IMatrix>, Releaseable {
protected pools: IMatrix[];
allocate(a: number, b: number, c: number, d: number, e: number, f: number): IMatrix;
allocateByObj(matrix: IMatrixLike): IMatrix;
free(d: Matrix): void;
get length(): number;
release(...params: any): void;
}
export declare class DefaultMat4Allocate implements IAllocate<mat4>, Releaseable {
protected pools: mat4[];
static identity(out: mat4): import("@visactor/vutils").mat4;
allocate(): mat4;
allocateByObj(d: mat4): mat4;
free(m: mat4): void;
get length(): number;
release(...params: any): void;
}
export declare const matrixAllocate: DefaultMatrixAllocate;
export declare const mat4Allocate: DefaultMat4Allocate;