#
mrzhssss
2022-04-07 80f43ee95117ae2e22077ca4a62d6606b9e22fb7
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
/**
 * 墙体对象
 * @param option
 * @returns {Group|*}
 * @constructor
 */
function  Wall(option) {
    let group = new THREE.Group();
    let wallOption= {
        objName: option.objName,
        objType: 'cube',
        length: option.length,
        width: option.width,
        height: option.height,
        position: {
            x: option.position.x,
            y: option.position.y,
            z: option.position.z
        },
        style: option.style,
    };
    let wall=new Cube(wallOption);
 
    if(!CommonFunction.hasObj(option.childrens))
    {
        wall.type="wall";
        return wall;
    }
    for(let i=0;i<option.childrens.length;i++)
    {
        let optionChildren=option.childrens[i];
        //如果是墙洞子,比如窗户洞,门洞等
        if(optionChildren.objectType=="wallHole")
        {
            let hole = new Cube(optionChildren);
            wall = new ObjectCombine(wall, hole, 2);
            optionChildren.name= option.objName;
 
        }
        else if(optionChildren.objectType=="doorFrame")
        {
            let doorFrame=new Cube(optionChildren);
            doorFrame.type="doorFrame";
            group.add(doorFrame);
        }
        else if(optionChildren.objectType=="door")
        {
            let door=new Cube(optionChildren);
            door.type="door";
            group.add(door);
        }
        else if(optionChildren.objectType=="windowFrame")
        {
            let windowFrame=new Cube(optionChildren);
            windowFrame.type="windowFrame";
            group.add(windowFrame);
        }
 
    }
    wall.type="wall";
    group.add(wall);
    return group;
}