2 Commits

Author SHA1 Message Date
aa9a6f56b6 clipping: Fix wrong AO handling 2026-05-19 07:49:40 +02:00
106841f6ef Disable colors + restore clipping 2026-05-19 07:40:45 +02:00
4 changed files with 9 additions and 7 deletions

View File

@@ -56,16 +56,16 @@ export default class extends Controller {
btn.classList.remove('border', 'border-2', 'border-warning');
});
// AO should be turned off if clipping is enabled
toggleAmbientOcclusion(!this.enabledValue);
if (this.enabledValue) {
// AO should be turned off if clipping is enabled
toggleAmbientOcclusion(false);
trigger.className += ' border border-2 border-white';
}
if (!this.enabledValue) {
resetClipping();
trigger.className = trigger.className.replace(/ border.*$/g, '');
toggleAmbientOcclusion(AppState.ambientOcclusion);
}
AppState.clipping.enabled = this.enabledValue;

View File

@@ -193,6 +193,7 @@ export default class extends Controller {
<i class="bi bi-chevron-down me-1"></i>${node.id}
`;
// Add color "swatch" only for first level groups
/*
if (node.depth === 2) {
trigger.innerHTML += html`
<div class="d-inline-block border rounded ms-2"
@@ -200,6 +201,7 @@ export default class extends Controller {
</div>
`;
}
*/
const collapseDiv = document.createElement('div');
collapseDiv.className = 'collapse';

View File

@@ -79,10 +79,12 @@ function loadNodes(nodes) {
node.load(n.model);
node.setRotation(...config.scene.initRotation);
/*
node.setMaterial(new THREE.MeshPhongMaterial({
transparent: false,
color: n.color ?? '#fff',
}));
*/
// Apply any transparency before attaching to scene
if (n.opacity !== undefined && n.opacity !== null) {

View File

@@ -31,14 +31,12 @@ function createClippingPlaneMesh (boundingSphere) {
* @param {String} axis
*/
function dragClipper (planeMesh, axis) {
const controls = new THREE.TransformControls(
const controls = new THREE.DragControls(
[planeMesh],
ATON.Nav._camera,
ATON._renderer.domElement,
);
controls.attach(planeMesh);
controls.setMode('translate');
const startPosition = new THREE.Vector3();
// Only move along the selected axis (exlude the others)
const excludedAxes = ['x', 'y', 'z'].filter(a => a != axis);