#
luxiaotao1123
2022-06-30 18bd54d17c3d09e48b14fcb0cc0fc74758a920b2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
 
function ObjectSelect(_scene, _camera, outlinePass, object) {
    var raycaster = new THREE.Raycaster();
    var mouse = new THREE.Vector2();
    let selectedObjects = [];
 
    window.addEventListener( 'click', onMouseClick);
    window.addEventListener('dblclick', onMouseDbClick);
 
    function onMouseClick(event) {
        $("#label").attr("style", "display:none;");
    }
 
    function onMouseDbClick(event) {
        let x, y;
        if (event.changedTouches) {
            x = event.changedTouches[0].pageX;
            y = event.changedTouches[0].pageY;
        } else {
            x = event.clientX;
            y = event.clientY;
        }
        mouse.x = (x/ window.innerWidth) * 2 - 1;
        mouse.y = -(y/ window.innerHeight) * 2 + 1;
        raycaster.setFromCamera(mouse, _camera);
        let intersects = raycaster.intersectObjects([_scene], true);
 
        if (intersects.length === 0) {
            $("#label").attr("style", "display:none;");
            return;
        }
        console.log(intersects[0].object)
        let objName = intersects[0].object.name;
        if (objName) {
            let dest = objName.split("-")[0];
            if (dest) {
                // 库存
                if (dest.length === 7) {
                    $("#label").attr("style", "display:block;");
                    $("#label").css({left: x, top: y - 40});
 
                    let dataShow = new DataShow('locNo', dest);
 
                    selectedObjects.pop();
                    selectedObjects.push(intersects[0].object);
                    $("#label").html(dataShow.showHint());
                // 运行中
                } else if (dest.length === 4) {
                    $("#label").attr("style", "display:block;");
                    $("#label").css({left: x, top: y - 40});
 
                    let dataShow = new DataShow('wrkNo', dest);
 
                    selectedObjects.pop();
                    selectedObjects.push(intersects[0].object);
                    $("#label").html(dataShow.showHint());
                } else {
                    $("#label").attr("style", "display:none;");
                }
            } else {
                $("#label").attr("style", "display:none;");
            }
        } else {
            $("#label").attr("style", "display:none;");
        }
 
        // selectedObjects = [];
        // selectedObjects.push(intersects[0].object);
        // outlinePass.selectedObjects = selectedObjects;
    }
 
}