Skip to content

Commit ff0ff3d

Browse files
committedMay 24, 2024
refactor(3dTilesDebug): add properties hasPnts for pnts fields in GUI
1 parent d1eb374 commit ff0ff3d

File tree

3 files changed

+30
-26
lines changed

3 files changed

+30
-26
lines changed
 

‎examples/3dtiles_pointcloud.html

+5-12
Original file line numberDiff line numberDiff line change
@@ -85,18 +85,11 @@
8585

8686
// Add the UI Debug
8787
var d = new debug.Debug(view, menuGlobe.gui);
88-
debug.createTileDebugUI(menuGlobe.gui, view, view.tileLayer, d);
89-
debug.create3dTilesDebugUI(menuGlobe.gui, view, $3dTilesLayerSetePC, d);
90-
91-
d.switch = function() {
92-
switchMode();
93-
}
94-
menuGlobe.gui.add(d, 'switch').name('Mode Switch');
95-
96-
97-
98-
99-
88+
$3dTilesLayerSetePC.whenReady
89+
.then(() => {
90+
debug.createTileDebugUI(menuGlobe.gui, view, view.tileLayer, d);
91+
debug.create3dTilesDebugUI(menuGlobe.gui, view, $3dTilesLayerSetePC, d);
92+
});
10093
</script>
10194
</body>
10295
</html>

‎src/Provider/3dTilesProvider.js

+1
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ function executeCommand(command) {
119119
} else if (magic == 'b3dm') {
120120
func = supportedFormats.b3dm;
121121
} else if (magic == 'pnts') {
122+
layer.hasPnts = true;
122123
func = supportedFormats.pnts;
123124
} else if (magic == 'glTF') {
124125
func = supportedFormats.gltf;

‎utils/debug/3dTilesDebug.js

+24-14
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ import * as THREE from 'three';
22
import View from 'Core/View';
33
import GeometryLayer from 'Layer/GeometryLayer';
44
import { C3DTilesBoundingVolumeTypes } from 'Core/3DTiles/C3DTilesEnums';
5-
import { PNTS_SHAPE, PNTS_SIZE_MODE } from 'Renderer/PointsMaterial';
5+
import { PNTS_MODE, PNTS_SHAPE, PNTS_SIZE_MODE } from 'Renderer/PointsMaterial';
66
import GeometryDebug from './GeometryDebug';
77

88
const bboxMesh = new THREE.Mesh();
99

10-
export default function create3dTilesDebugUI(datDebugTool, view, _3dTileslayer) {
10+
export default function create3dTilesDebugUI(datDebugTool, view, _3dTileslayer, debugInstance) {
1111
const gui = GeometryDebug.createGeometryDebugUI(datDebugTool, view, _3dTileslayer);
1212

1313
// add wireframe
@@ -83,18 +83,28 @@ export default function create3dTilesDebugUI(datDebugTool, view, _3dTileslayer)
8383
_3dTileslayer.frozen = value;
8484
view.notifyChange(_3dTileslayer);
8585
}));
86-
gui.add(_3dTileslayer, 'pntsShape', PNTS_SHAPE).name('Points Shape').onChange(() => {
87-
view.notifyChange(view.camera.camera3D);
88-
});
89-
gui.add(_3dTileslayer, 'pntsSizeMode', PNTS_SIZE_MODE).name('Pnts size mode').onChange(() => {
90-
view.notifyChange(view.camera.camera3D);
91-
});
9286

93-
gui.add(_3dTileslayer, 'pntsMinAttenuatedSize', 0, 15).name('Min attenuated size').onChange(() => {
94-
view.notifyChange(view.camera.camera3D);
95-
});
87+
if (_3dTileslayer.hasPnts) {
88+
const _3DTILES_PNTS_MODE = {
89+
CLASSIFICATION: PNTS_MODE.CLASSIFICATION,
90+
COLOR: PNTS_MODE.COLOR,
91+
};
92+
gui.add(_3dTileslayer, 'pntsMode', _3DTILES_PNTS_MODE).name('Display mode').onChange(() => {
93+
_3dTileslayer.pntsMode = +_3dTileslayer.pntsMode;
94+
view.notifyChange(view.camera.camera3D);
95+
});
96+
gui.add(_3dTileslayer, 'pntsShape', PNTS_SHAPE).name('Points Shape').onChange(() => {
97+
view.notifyChange(view.camera.camera3D);
98+
});
99+
gui.add(_3dTileslayer, 'pntsSizeMode', PNTS_SIZE_MODE).name('Pnts size mode').onChange(() => {
100+
view.notifyChange(view.camera.camera3D);
101+
});
96102

97-
gui.add(_3dTileslayer, 'pntsMaxAttenuatedSize', 0, 15).name('Max attenuated size').onChange(() => {
98-
view.notifyChange(view.camera.camera3D);
99-
});
103+
gui.add(_3dTileslayer, 'pntsMinAttenuatedSize', 0, 15).name('Min attenuated size').onChange(() => {
104+
view.notifyChange(view.camera.camera3D);
105+
});
106+
gui.add(_3dTileslayer, 'pntsMaxAttenuatedSize', 0, 15).name('Max attenuated size').onChange(() => {
107+
view.notifyChange(view.camera.camera3D);
108+
});
109+
}
100110
}

0 commit comments

Comments
 (0)
Please sign in to comment.