UNPKG

@giro3d/giro3d

Version:

A JS/WebGL framework for 3D geospatial data visualization

45 lines 2.48 kB
import { Color } from 'three'; import EntityInspector from './EntityInspector'; class ShapeInspector extends EntityInspector { /** * Creates an instance of ShapeInspector. * * @param parentGui - The parent GUI. * @param instance - The Giro3D instance. * @param entity - The inspected Map. */ constructor(parentGui, instance, entity) { super(parentGui, instance, entity, { visibility: true, opacity: true }); this.entity = entity; this.color = `#${new Color(this.entity.color).getHexString()}`; this.addColorController(this, 'color').name('Color').onChange(c => { this.entity.color = c; }); this.addController(this.entity, 'showSegmentLabels').name('Segment labels'); this.addController(this.entity, 'showLineLabel').name('Line label'); this.addController(this.entity, 'showSurfaceLabel').name('Surface label'); this.addController(this.entity, 'showVerticalLineLabels').name('Vertical line labels'); this.addController(this.entity, 'showVertexLabels').name('Vertex labels'); this.addController(this.entity, 'showSurface').name('Surface'); this.addController(this.entity, 'surfaceOpacity').name('Surface opacity').min(0).max(1); this.addController(this.entity, 'labelOpacity').name('Label opacity').min(0).max(1); this.addController(this.entity, 'showVertices').name('Vertices'); this.addController(this.entity, 'showFloorVertices').name('Floor vertices'); this.addController(this.entity, 'showLine').name('Line'); this.addController(this.entity, 'showFloorLine').name('Floor line'); this.addController(this.entity, 'showVerticalLines').name('Vertical lines'); this.addController(this.entity, 'floorElevation').name('Floor elevation'); this.addController(this.entity, 'dashed').name('Dashed'); this.addController(this.entity, 'dashSize').name('Dash size').min(1).max(100); this.addController(this.entity, 'depthTest').name('Depth test'); this.addController(this.entity, 'fontSize').name('Font size (px)').min(1).max(50).step(1); this.addController(this.entity, 'fontWeight', ['bold', 'normal']).name('Font weight'); this.addController(this.entity, 'lineWidth').name('Line width').min(1).max(50).step(1); this.addController(this.entity, 'vertexRadius').name('Vertex radius').min(1).max(50).step(1); this.addController(this.entity, 'borderWidth').name('Border width').min(0).max(51).step(0.5); } } export default ShapeInspector;