lingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
13 lines (12 loc) • 1.27 kB
TypeScript
import { BufferGeometry } from "three";
import Primitive from "./Primitive";
import { CircleParams, releaseCircleGeometry, requestCircleGeometry } from "../../pools/circleGeometryPool";
import { ConeParams, releaseConeGeometry, requestConeGeometry } from "../../pools/coneGeometryPool";
import { CylinderParams, releaseCylinderGeometry, requestCylinderGeometry } from "../../pools/cylinderGeometryPool";
import { TorusParams, releaseTorusGeometry, requestTorusGeometry } from "../../pools/torusGeometryPool";
export default abstract class PooledPrimitve extends Primitive {
$releaseGeometry: typeof releaseCircleGeometry | typeof releaseConeGeometry | typeof releaseCylinderGeometry | typeof releaseTorusGeometry;
$requestGeometry: typeof requestCircleGeometry | typeof requestConeGeometry | typeof requestCylinderGeometry | typeof requestTorusGeometry;
constructor(geometry: BufferGeometry, $releaseGeometry: typeof releaseCircleGeometry | typeof releaseConeGeometry | typeof releaseCylinderGeometry | typeof releaseTorusGeometry, $requestGeometry: typeof requestCircleGeometry | typeof requestConeGeometry | typeof requestCylinderGeometry | typeof requestTorusGeometry);
abstract $getParams(): CircleParams | ConeParams | CylinderParams | TorusParams;
}