UNPKG

@orca-fe/x-map

Version:
40 lines (39 loc) 1.38 kB
import { RawShaderMaterial, Color, Mesh } from 'three'; import { LineMaterial, LineMaterialParameters } from 'three/examples/jsm/lines/LineMaterial'; import { Units } from '@turf/turf'; import ThreeObject, { ThreeObjectOptions } from './ThreeObject'; import { Point } from '../../defs'; export interface CircleObjectParams extends ThreeObjectOptions { border?: LineMaterialParameters; fill?: { color?: Color | string | number; opacity?: number; }; center: Point; radius?: number; config?: { steps?: number; units?: Units; }; } export default class CircleObject extends ThreeObject { object3D: Mesh<import("three").BufferGeometry, import("three").Material | import("three").Material[]>; protected center: Point; protected radius: number; protected readonly config: { steps?: number; units?: Units; }; protected readonly circleMaterial: RawShaderMaterial; protected readonly lineMaterial?: LineMaterial; constructor(options: CircleObjectParams); createObject(): void; updatePosition(): void; updateBorder(border: LineMaterialParameters): void; updateFill(fill: { color: Color | string | number; opacity: number; }): void; updateCenter(center: Point): void; updateRadius(radius: number): void; }