UNPKG

lingo3d

Version:

Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor

62 lines 1.72 kB
import toFixed from "../../api/serializer/toFixed"; import { PI2 } from "../../globals"; import { cylinderDefaults, cylinderSchema } from "../../interface/ICylinder"; import { releaseCylinderGeometry, requestCylinderGeometry } from "../../pools/cylinderGeometryPool"; import { refreshPooledPrimitiveSystem } from "../../systems/configSystems/refreshPooledPrimitiveSystem"; import PooledPrimitve from "../core/PooledPrimitive"; export const cylinderGeometry = requestCylinderGeometry([ 0.5, 0.5, 1, 32, 1, false, 0, PI2 ]); class Cylinder extends PooledPrimitve { static componentName = "cylinder"; static defaults = cylinderDefaults; static schema = cylinderSchema; constructor() { super(cylinderGeometry, releaseCylinderGeometry, requestCylinderGeometry); } $getParams() { return [ this.radiusTop, this.radiusBottom, 1, this.segments, 1, false, 0, PI2 ]; } _segments; get segments() { return this._segments ?? 32; } set segments(val) { this._segments = toFixed(val); refreshPooledPrimitiveSystem.add(this); } _radiusTop; get radiusTop() { return this._radiusTop ?? 0.5; } set radiusTop(val) { this._radiusTop = toFixed(val); refreshPooledPrimitiveSystem.add(this); } _radiusBottom; get radiusBottom() { return this._radiusBottom ?? 0.5; } set radiusBottom(val) { this._radiusBottom = toFixed(val); refreshPooledPrimitiveSystem.add(this); } } export default Cylinder; //# sourceMappingURL=Cylinder.js.map