import { ComVal } from "../common/ComVal.js"; /** * 用于处理裁切动画 */ export class QingXiCheAndQvComClipPlaneMeshEvent { // 每次 new 出对象则会调用这个构造函数 constructor() { /** * 三维世界对象 src\components\ThreeWorldEvent\js\QingXiCheAndQvThreeWorldEventMain.js */ this.objThreeWorldEventMain = null; } // 实现单例模式 static find() { if (!QingXiCheAndQvComClipPlaneMeshEvent.instance) { QingXiCheAndQvComClipPlaneMeshEvent.instance = new QingXiCheAndQvComClipPlaneMeshEvent(); } return QingXiCheAndQvComClipPlaneMeshEvent.instance; } /** * 统一配置裁切参数,因为编辑器有时候会重新新建物体 * 所以这里可以把对应的参数写好保留 */ updateConfig = function() { let thisClass = this; let objThreeWorldEventMain = this.objThreeWorldEventMain; let objIframeEdit = objThreeWorldEventMain.objIframeEdit; let objIframe = objThreeWorldEventMain.objIframe; let objScene = objThreeWorldEventMain.objScene; let BABYLON = objThreeWorldEventMain.BABYLON; let ChengGuangYuanJing = objIframe.ChengGuangYuanJing; // ChengGuangYuanJing.ComClipPlaneMesh.find().list = [ // { // "name": "软管", // "code": "1746598961053", // "groupName": "卷盘管3", // "proportion": 0, // "position": { // "x": 10.84351634979248, // "y": -3.6694822311401367, // "z": -41.56673812866211 // }, // "positionTarget": { // "x": 7.881225109100342, // "y": 3.605771780014038, // "z": -20.214637756347656 // }, // "animationListEdite": [ // { // "code": "1746598961053_1746606763557", // "name": "软管", // "proportionStart": 100, // "proportionEnd": 51, // "timeEnd": 1.5 // }, // { // "code": "1746598961053_1746689739706", // "name": "软管2", // "proportionStart": 51, // "proportionEnd": 0, // "timeEnd": 1.5 // }, // { // "code": "1746598961053_1746756045455", // "name": "软管3", // "proportionStart": 0, // "proportionEnd": 51, // "timeEnd": 0.25 // }, // { // "code": "1746598961053_1746756063793", // "name": "软管4", // "proportionStart": 51, // "proportionEnd": 100, // "timeEnd": 1.5 // } // ] // }, // { // "name": "解开", // "code": "1746599197585", // "groupName": "卷盘管1", // "proportion": 100, // "position": { // "x": 6.908312797546387, // "y": -0.47012007236480713, // "z": -21.414779663085938 // }, // "positionTarget": { // "x": 6.907680988311768, // "y": 2.944892644882202, // "z": -21.417993545532227 // }, // "animationListEdite": [ // { // "code": "1746599197585_1746606802725", // "name": "解开", // "proportionStart": 100, // "proportionEnd": 0, // "timeEnd": 1.5 // }, // { // "code": "1746599197585_1746755998967", // "name": "解开2", // "proportionStart": 0, // "proportionEnd": 100, // "timeEnd": 1.5 // } // ] // }, // { // "name": "转到位", // "code": "1746599391870", // "groupName": "卷盘管2", // "proportion": 100, // "position": { // "x": 8.281990051269531, // "y": 0.09109125286340714, // "z": -23.473718643188477 // }, // "positionTarget": { // "x": 8.16232681274414, // "y": 2.7674410343170166, // "z": -21.505035400390625 // }, // "animationListEdite": [ // { // "code": "1746599391870_1746606821433", // "name": "转到位", // "proportionStart": 100, // "proportionEnd": 0, // "timeEnd": 1.5 // }, // { // "code": "1746599391870_1746755972111", // "name": "转到位2", // "proportionStart": 0, // "proportionEnd": 100, // "timeEnd": 1.5 // } // ] // }, // { // "name": "水枪管", // "code": "1746599498542", // "groupName": "水枪管", // "proportion": 100, // "position": { // "x": 11.766251564025879, // "y": 0.3563695549964905, // "z": -15.501309394836426 // }, // "positionTarget": { // "x": 8.695475578308105, // "y": 2.1758973598480225, // "z": -15.439674377441406 // }, // "animationListEdite": [ // { // "code": "1746599498542_1746599872465", // "name": "水枪管", // "proportionStart": 100, // "proportionEnd": 0, // "timeEnd": 1.5 // } // ] // }, // { // "name": "安全桩", // "code": "1746689811446", // "groupName": "安全桩", // "proportion": 0, // "position": { // "x": 5.825963020324707, // "y": 0.9578046202659607, // "z": -44.686546325683594 // }, // "positionTarget": { // "x": 7.463858127593994, // "y": -0.8174868822097778, // "z": -10.530563354492188 // }, // "animationListEdite": [ // { // "code": "1746689811446_1746689949084", // "name": "安全桩摆放", // "proportionStart": 100, // "proportionEnd": 0, // "timeEnd": 1.5 // }, // { // "code": "1746689811446_1746756017025", // "name": "安全桩回收", // "proportionStart": 0, // "proportionEnd": 100, // "timeEnd": 1.5 // } // ] // } // ]; ChengGuangYuanJing.ComClipPlaneMesh.find().list = [ { "name": "软管", "code": "1746598961053", "groupName": "卷盘管3", "proportion": 0, "position": { "x": 10.84351634979248, "y": -3.6694822311401367, "z": -41.56673812866211 }, "positionTarget": { "x": 7.881225109100342, "y": 3.605771780014038, "z": -20.214637756347656 }, "animationListEdite": [ { "code": "1746598961053_1746606763557", "name": "软管", "proportionStart": 100, "proportionEnd": 51, "timeEnd": 1.5 }, { "code": "1746598961053_1746689739706", "name": "软管2", "proportionStart": 51, "proportionEnd": 0, "timeEnd": 1.5 }, { "code": "1746598961053_1746756045455", "name": "软管3", "proportionStart": 0, "proportionEnd": 51, "timeEnd": 0.25 }, { "code": "1746598961053_1746756063793", "name": "软管4", "proportionStart": 51, "proportionEnd": 100, "timeEnd": 1.5 } ] }, { "name": "解开", "code": "1746599197585", "groupName": "卷盘管1", "proportion": 0, "position": { "x": 6.908312797546387, "y": -0.47012007236480713, "z": -21.414779663085938 }, "positionTarget": { "x": 6.907680988311768, "y": 2.944892644882202, "z": -21.417993545532227 }, "animationListEdite": [ { "code": "1746599197585_1746606802725", "name": "解开", "proportionStart": 100, "proportionEnd": 0, "timeEnd": 1.5 }, { "code": "1746599197585_1746755998967", "name": "解开2", "proportionStart": 0, "proportionEnd": 100, "timeEnd": 1.5 } ] }, { "name": "转到位", "code": "1746599391870", "groupName": "卷盘管2", "proportion": 0, "position": { "x": 8.281990051269531, "y": 0.09109125286340714, "z": -23.473718643188477 }, "positionTarget": { "x": 8.16232681274414, "y": 2.7674410343170166, "z": -21.505035400390625 }, "animationListEdite": [ { "code": "1746599391870_1746606821433", "name": "转到位", "proportionStart": 100, "proportionEnd": 0, "timeEnd": 1.5 }, { "code": "1746599391870_1746755972111", "name": "转到位2", "proportionStart": 0, "proportionEnd": 100, "timeEnd": 1.5 } ] }, { "name": "水枪管", "code": "1746599498542", "groupName": "水枪管", "proportion": 0, "position": { "x": 11.766251564025879, "y": 0.3563695549964905, "z": -15.501309394836426 }, "positionTarget": { "x": 8.695475578308105, "y": 2.1758973598480225, "z": -15.439674377441406 }, "animationListEdite": [ { "code": "1746599498542_1746599872465", "name": "水枪管", "proportionStart": 100, "proportionEnd": 0, "timeEnd": 1.5 } ] }, { "name": "安全桩", "code": "1746689811446", "groupName": "安全桩", "proportion": 0, "position": { "x": 5.825963020324707, "y": 0.9578046202659607, "z": -44.686546325683594 }, "positionTarget": { "x": 7.463858127593994, "y": -0.8174868822097778, "z": -10.530563354492188 }, "animationListEdite": [ { "code": "1746689811446_1746689949084", "name": "安全桩摆放", "proportionStart": 100, "proportionEnd": 0, "timeEnd": 1.5 }, { "code": "1746689811446_1746756017025", "name": "安全桩回收", "proportionStart": 0, "proportionEnd": 100, "timeEnd": 1.5 } ] }, { "name": "穿衣服安全桩", "code": "1757039407244", "groupName": "安全桩\n安全区", "proportion": 100, "position": { "x": -28.04998207092285, "y": -0.08136752247810364, "z": 62.91667938232422 }, "positionTarget": { "x": -46.506622314453125, "y": 0.006231553852558136, "z": 62.91667938232422 }, "animationListEdite": [ { "code": "1757039407244_1757039561006", "name": "隐藏", "proportionStart": 0, "proportionEnd": 100, "timeEnd": 1.5 }, { "code": "1757039407244_1757039576166", "name": "显示", "proportionStart": 100, "proportionEnd": 0, "timeEnd": 1.5 } ] } ]; return thisClass; } /** * 隐藏车辆相关的裁切物体 */ carMeshClipNo = function() { let thisClass = this; let objThreeWorldEventMain = this.objThreeWorldEventMain; let objIframeEdit = objThreeWorldEventMain.objIframeEdit; let objIframe = objThreeWorldEventMain.objIframe; let objScene = objThreeWorldEventMain.objScene; let BABYLON = objThreeWorldEventMain.BABYLON; let ChengGuangYuanJing = objIframe.ChengGuangYuanJing; thisClass.anQuanZhuangChuanYiFuLookNo(); thisClass.anQuanZhuangLookNo(); thisClass.ruanGuanLookNo(); thisClass.jieKaiLookNo(); thisClass.zhuanDaoWeiLookNo(); thisClass.shuiQiangGuanLookNo(); console.log("隐藏车辆相关的裁切物体 carMeshClipNo = function() { ===>"); } /** * 安全桩穿衣服 裁切隐藏 */ anQuanZhuangChuanYiFuLookNo = function() { let thisClass = this; let objThreeWorldEventMain = this.objThreeWorldEventMain; let objIframeEdit = objThreeWorldEventMain.objIframeEdit; let objIframe = objThreeWorldEventMain.objIframe; let objScene = objThreeWorldEventMain.objScene; let BABYLON = objThreeWorldEventMain.BABYLON; let ChengGuangYuanJing = objIframe.ChengGuangYuanJing; // ChengGuangYuanJing.ComClipPlaneMesh.find().clipPlaneEvent("1757039407244", 100); ChengGuangYuanJing.ComClipPlaneMesh.find().animationListEditePlay("1757039407244", "1757039407244_1757039561006"); } /** * 安全桩 裁切隐藏 */ anQuanZhuangLookNo = function() { let thisClass = this; let objThreeWorldEventMain = this.objThreeWorldEventMain; let objIframeEdit = objThreeWorldEventMain.objIframeEdit; let objIframe = objThreeWorldEventMain.objIframe; let objScene = objThreeWorldEventMain.objScene; let BABYLON = objThreeWorldEventMain.BABYLON; let ChengGuangYuanJing = objIframe.ChengGuangYuanJing; ChengGuangYuanJing.ComClipPlaneMesh.find().clipPlaneEvent("1746689811446", 100); } /** * 安全桩 可见动画 * callback 执行完成回调 */ anQuanZhuangLookYes = function(callback) { let thisClass = this; let objThreeWorldEventMain = this.objThreeWorldEventMain; let objIframeEdit = objThreeWorldEventMain.objIframeEdit; let objIframe = objThreeWorldEventMain.objIframe; let objScene = objThreeWorldEventMain.objScene; let BABYLON = objThreeWorldEventMain.BABYLON; let ChengGuangYuanJing = objIframe.ChengGuangYuanJing; ChengGuangYuanJing.ComClipPlaneMesh.find().animationListEditePlay("1746689811446", "1746689811446_1746689949084"); let thisTime = new Date().getTime(); // 控制延迟逻辑 ComVal.find().fpsEventAdd("type_clip_" + thisTime, {}, 1500, function(fpsEventAddRet) { ComVal.find().fpsEventDel(fpsEventAddRet.code); callback("yes"); }); } /** * 软管 裁切隐藏 */ ruanGuanLookNo = function() { let thisClass = this; let objThreeWorldEventMain = this.objThreeWorldEventMain; let objIframeEdit = objThreeWorldEventMain.objIframeEdit; let objIframe = objThreeWorldEventMain.objIframe; let objScene = objThreeWorldEventMain.objScene; let BABYLON = objThreeWorldEventMain.BABYLON; let ChengGuangYuanJing = objIframe.ChengGuangYuanJing; ChengGuangYuanJing.ComClipPlaneMesh.find().clipPlaneEvent("1746598961053", 100); } /** * 软管 可见动画 * callback 执行完成回调 */ ruanGuanLookYes_1 = function(callback) { let thisClass = this; let objThreeWorldEventMain = this.objThreeWorldEventMain; let objIframeEdit = objThreeWorldEventMain.objIframeEdit; let objIframe = objThreeWorldEventMain.objIframe; let objScene = objThreeWorldEventMain.objScene; let BABYLON = objThreeWorldEventMain.BABYLON; let ChengGuangYuanJing = objIframe.ChengGuangYuanJing; ChengGuangYuanJing.ComClipPlaneMesh.find().animationListEditePlay("1746598961053", "1746598961053_1746606763557"); let thisTime = new Date().getTime(); // 控制延迟逻辑 ComVal.find().fpsEventAdd("type_clip_" + thisTime, {}, 1500, function(fpsEventAddRet) { ComVal.find().fpsEventDel(fpsEventAddRet.code); callback("yes"); }); } /** * 软管 可见动画 * callback 执行完成回调 */ ruanGuanLookYes_2 = function(callback) { let thisClass = this; let objThreeWorldEventMain = this.objThreeWorldEventMain; let objIframeEdit = objThreeWorldEventMain.objIframeEdit; let objIframe = objThreeWorldEventMain.objIframe; let objScene = objThreeWorldEventMain.objScene; let BABYLON = objThreeWorldEventMain.BABYLON; let ChengGuangYuanJing = objIframe.ChengGuangYuanJing; ChengGuangYuanJing.ComClipPlaneMesh.find().animationListEditePlay("1746598961053", "1746598961053_1746689739706"); let thisTime = new Date().getTime(); // 控制延迟逻辑 ComVal.find().fpsEventAdd("type_clip_" + thisTime, {}, 1500, function(fpsEventAddRet) { ComVal.find().fpsEventDel(fpsEventAddRet.code); callback("yes"); }); } /** * 软管 可见动画 拉回 * callback 执行完成回调 */ ruanGuanLookYes_3 = function(callback) { let thisClass = this; let objThreeWorldEventMain = this.objThreeWorldEventMain; let objIframeEdit = objThreeWorldEventMain.objIframeEdit; let objIframe = objThreeWorldEventMain.objIframe; let objScene = objThreeWorldEventMain.objScene; let BABYLON = objThreeWorldEventMain.BABYLON; let ChengGuangYuanJing = objIframe.ChengGuangYuanJing; ChengGuangYuanJing.ComClipPlaneMesh.find().animationListEditePlay("1746598961053", "1746598961053_1746756045455"); let thisTime = new Date().getTime(); // 控制延迟逻辑 ComVal.find().fpsEventAdd("type_clip_" + thisTime, {}, 1500, function(fpsEventAddRet) { ComVal.find().fpsEventDel(fpsEventAddRet.code); callback("yes"); }); } /** * 软管 可见动画 回收 * callback 执行完成回调 */ ruanGuanLookYes_4 = function(callback) { let thisClass = this; let objThreeWorldEventMain = this.objThreeWorldEventMain; let objIframeEdit = objThreeWorldEventMain.objIframeEdit; let objIframe = objThreeWorldEventMain.objIframe; let objScene = objThreeWorldEventMain.objScene; let BABYLON = objThreeWorldEventMain.BABYLON; let ChengGuangYuanJing = objIframe.ChengGuangYuanJing; ChengGuangYuanJing.ComClipPlaneMesh.find().animationListEditePlay("1746598961053", "1746598961053_1746756063793"); let thisTime = new Date().getTime(); // 控制延迟逻辑 ComVal.find().fpsEventAdd("type_clip_" + thisTime, {}, 1500, function(fpsEventAddRet) { ComVal.find().fpsEventDel(fpsEventAddRet.code); callback("yes"); }); } /** * 解开 裁切隐藏 */ jieKaiLookNo = function() { let thisClass = this; let objThreeWorldEventMain = this.objThreeWorldEventMain; let objIframeEdit = objThreeWorldEventMain.objIframeEdit; let objIframe = objThreeWorldEventMain.objIframe; let objScene = objThreeWorldEventMain.objScene; let BABYLON = objThreeWorldEventMain.BABYLON; let ChengGuangYuanJing = objIframe.ChengGuangYuanJing; ChengGuangYuanJing.ComClipPlaneMesh.find().clipPlaneEvent("1746599197585", 100); } /** * 解开 可见动画 * callback 执行完成回调 */ jieKaiLookYes = function(callback) { let thisClass = this; let objThreeWorldEventMain = this.objThreeWorldEventMain; let objIframeEdit = objThreeWorldEventMain.objIframeEdit; let objIframe = objThreeWorldEventMain.objIframe; let objScene = objThreeWorldEventMain.objScene; let BABYLON = objThreeWorldEventMain.BABYLON; let ChengGuangYuanJing = objIframe.ChengGuangYuanJing; ChengGuangYuanJing.ComClipPlaneMesh.find().animationListEditePlay("1746599197585", "1746599197585_1746606802725"); let thisTime = new Date().getTime(); // 控制延迟逻辑 ComVal.find().fpsEventAdd("type_clip_" + thisTime, {}, 1500, function(fpsEventAddRet) { ComVal.find().fpsEventDel(fpsEventAddRet.code); callback("yes"); }); } /** * 解开 可见动画 收回 * callback 执行完成回调 */ jieKaiLookYes_2 = function(callback) { let thisClass = this; let objThreeWorldEventMain = this.objThreeWorldEventMain; let objIframeEdit = objThreeWorldEventMain.objIframeEdit; let objIframe = objThreeWorldEventMain.objIframe; let objScene = objThreeWorldEventMain.objScene; let BABYLON = objThreeWorldEventMain.BABYLON; let ChengGuangYuanJing = objIframe.ChengGuangYuanJing; ChengGuangYuanJing.ComClipPlaneMesh.find().animationListEditePlay("1746599197585", "1746599197585_1746755998967"); let thisTime = new Date().getTime(); // 控制延迟逻辑 ComVal.find().fpsEventAdd("type_clip_" + thisTime, {}, 1500, function(fpsEventAddRet) { ComVal.find().fpsEventDel(fpsEventAddRet.code); callback("yes"); }); } /** * 转到位 裁切隐藏 */ zhuanDaoWeiLookNo = function() { let thisClass = this; let objThreeWorldEventMain = this.objThreeWorldEventMain; let objIframeEdit = objThreeWorldEventMain.objIframeEdit; let objIframe = objThreeWorldEventMain.objIframe; let objScene = objThreeWorldEventMain.objScene; let BABYLON = objThreeWorldEventMain.BABYLON; let ChengGuangYuanJing = objIframe.ChengGuangYuanJing; ChengGuangYuanJing.ComClipPlaneMesh.find().clipPlaneEvent("1746599391870", 100); } /** * 转到位 可见动画 * callback 执行完成回调 */ zhuanDaoWeiLookYes = function(callback) { let thisClass = this; let objThreeWorldEventMain = this.objThreeWorldEventMain; let objIframeEdit = objThreeWorldEventMain.objIframeEdit; let objIframe = objThreeWorldEventMain.objIframe; let objScene = objThreeWorldEventMain.objScene; let BABYLON = objThreeWorldEventMain.BABYLON; let ChengGuangYuanJing = objIframe.ChengGuangYuanJing; ChengGuangYuanJing.ComClipPlaneMesh.find().animationListEditePlay("1746599391870", "1746599391870_1746606821433"); let thisTime = new Date().getTime(); // 控制延迟逻辑 ComVal.find().fpsEventAdd("type_clip_" + thisTime, {}, 1500, function(fpsEventAddRet) { ComVal.find().fpsEventDel(fpsEventAddRet.code); callback("yes"); }); } /** * 转到位 可见动画 回收 * callback 执行完成回调 */ zhuanDaoWeiLookYes_2 = function(callback) { let thisClass = this; let objThreeWorldEventMain = this.objThreeWorldEventMain; let objIframeEdit = objThreeWorldEventMain.objIframeEdit; let objIframe = objThreeWorldEventMain.objIframe; let objScene = objThreeWorldEventMain.objScene; let BABYLON = objThreeWorldEventMain.BABYLON; let ChengGuangYuanJing = objIframe.ChengGuangYuanJing; ChengGuangYuanJing.ComClipPlaneMesh.find().animationListEditePlay("1746599391870", "1746599391870_1746755972111"); let thisTime = new Date().getTime(); // 控制延迟逻辑 ComVal.find().fpsEventAdd("type_clip_" + thisTime, {}, 1500, function(fpsEventAddRet) { ComVal.find().fpsEventDel(fpsEventAddRet.code); callback("yes"); }); } /** * 水枪管 裁切隐藏 */ shuiQiangGuanLookNo = function() { let thisClass = this; let objThreeWorldEventMain = this.objThreeWorldEventMain; let objIframeEdit = objThreeWorldEventMain.objIframeEdit; let objIframe = objThreeWorldEventMain.objIframe; let objScene = objThreeWorldEventMain.objScene; let BABYLON = objThreeWorldEventMain.BABYLON; let ChengGuangYuanJing = objIframe.ChengGuangYuanJing; ChengGuangYuanJing.ComClipPlaneMesh.find().clipPlaneEvent("1746599498542", 100); } }