UNPKG

@giro3d/giro3d

Version:

A JS/WebGL framework for 3D geospatial data visualization

46 lines (37 loc) 1.24 kB
import type { Object3D, Object3DEventMap } from 'three'; export type DefaultUserData = Record<string, unknown>; export interface SimpleGeometryMeshEventMap extends Object3DEventMap { dispose: unknown; } export type SimpleGeometryMeshTypes = | 'PointMesh' | 'MultiPointMesh' | 'PolygonMesh' | 'MultiPolygonMesh' | 'LineStringMesh' | 'MultiLineStringMesh'; /** * Interface for meshes that represent a single OpenLayers Geometry. */ interface SimpleGeometryMesh< UserData extends DefaultUserData = DefaultUserData, TEvents extends SimpleGeometryMeshEventMap = SimpleGeometryMeshEventMap, > extends Object3D<TEvents> { isSimpleGeometryMesh: true; type: SimpleGeometryMeshTypes; /** * Disposes the resources owned by this mesh. */ dispose(): void; userData: Partial<UserData>; /** * Sets the opacity of the mesh. This opacity is combined with the opacity of the material. */ set opacity(opacity: number); } export default SimpleGeometryMesh; export function isSimpleGeometryMesh<T extends DefaultUserData = DefaultUserData>( obj: unknown, ): obj is SimpleGeometryMesh<T> { return (obj as SimpleGeometryMesh)?.isSimpleGeometryMesh ?? false; }