UNPKG

lingo3d

Version:

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

46 lines 1.46 kB
import { circleDefaults, circleSchema } from "../../interface/ICircle"; import { PI2 } from "../../globals"; import { releaseCircleGeometry, requestCircleGeometry } from "../../pools/circleGeometryPool"; import { deg2Rad } from "@lincode/math"; import PooledPrimitve from "../core/PooledPrimitive"; import toFixed from "../../api/serializer/toFixed"; import { refreshPooledPrimitiveSystem } from "../../systems/configSystems/refreshPooledPrimitiveSystem"; const geometry = requestCircleGeometry([0.5, 32, 0, PI2]); class Circle extends PooledPrimitve { static componentName = "circle"; static defaults = circleDefaults; static schema = circleSchema; constructor() { super(geometry, releaseCircleGeometry, requestCircleGeometry); this.object3d.scale.z = Number.EPSILON; } $getParams() { return [0.5, this.segments, 0, this.theta * deg2Rad]; } _theta; get theta() { return this._theta ?? 360; } set theta(val) { this._theta = toFixed(val); refreshPooledPrimitiveSystem.add(this); } _segments; get segments() { return this._segments ?? 32; } set segments(val) { this._segments = toFixed(val); refreshPooledPrimitiveSystem.add(this); } get depth() { return 0; } set depth(_) { } get scaleZ() { return 0; } set scaleZ(_) { } } export default Circle; //# sourceMappingURL=Circle.js.map