Compare commits

..

2 Commits

Author SHA1 Message Date
dong
63200d1a27 调整已加入仿真提示功能 2023-05-08 17:31:00 +08:00
dong
527d16a6df Squashed commit of the following:
commit 4af4e7ea9c440cdf1a7dba0f6ed6b4774910b2ee
Author: dong <58670809@qq.com>
Date:   Sat May 6 18:11:16 2023 +0800

    登录时判断用户已经加入的仿真
2023-05-08 15:43:16 +08:00
728 changed files with 12462 additions and 41596 deletions

View File

@ -1,9 +0,0 @@
# just a flag
NODE_ENV = 'production'
VUE_APP_PRO = 'common'
# base api
# VUE_APP_BASE_API = 'http://160.20.60.15:9000'
# VUE_APP_VOICE_API = 'http://160.20.60.15/oss/joylink'
# VUE_APP_UPLOAD_API = 'http://160.20.60.15'
# VUE_APP_BASE_SITE='http://160.20.60.15'

View File

@ -1,52 +0,0 @@
---
name: local-test分支构建发布到本地服务器
run-name: ${{ gitea.actor }} is testing out Gitea Actions
on:
push:
branches:
- local-test
jobs:
Build-Publish:
runs-on: joylink-local233
steps:
- name: 检出代码
uses: https://gitea.joylink.club/actions/checkout@v4
with:
submodules: recursive
- name: 设置node环境
uses: https://gitea.joylink.club/actions/local-setup-node@v0.1.1
with:
version: v14.21.3
cache: yarn
cache-dependency-path: yarn.lock
- name: 安装yarn,并build
run: |
node -v
npm config set registry https://registry.npmmirror.com
npm install --global yarn
yarn config set registry https://registry.npmmirror.com
yarn
yarn run buildas local-test
tar czvf ./dist-local-test.tar.gz ./dist
- name: 打包发送到服务器
uses: https://gitea.joylink.club/appleboy/scp-action@v0.1.7
with:
host: ${{ secrets.LOCAL_233_SSH_HOST }}
username: ${{ secrets.LOCAL_233_SSH_USER }}
password: ${{ secrets.LOCAL_233_SSH_PASSWORD }}
port: ${{ secrets.LOCAL_233_SSH_PORT }}
source: ./dist-local-test.tar.gz
target: /home/minio/oss/rt-sim-training-client
overwrite: true
- name: SSH连接并解压发布
uses: https://gitea.joylink.club/appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.LOCAL_233_SSH_HOST }}
port: ${{ secrets.LOCAL_233_SSH_PORT }}
username: ${{ secrets.LOCAL_233_SSH_USER }}
password: ${{ secrets.LOCAL_233_SSH_PASSWORD }}
script: |
cd /home/minio/oss/rt-sim-training-client
rm -rf /usr/local/joylink/client/cbtc
mkdir -p /usr/local/joylink/client
tar xz --strip 2 -C /usr/local/joylink/client -f dist-local-test.tar.gz

View File

@ -1,52 +0,0 @@
name: master分支构建发布到公网服务器
run-name: ${{ gitea.actor }} is testing out Gitea Actions
on:
push:
branches:
- master
jobs:
Build-Publish:
runs-on: joylink-local233
steps:
- name: 检出代码
uses: https://gitea.joylink.club/actions/checkout@v4
with:
submodules: recursive
- name: 设置node环境
uses: https://gitea.joylink.club/actions/local-setup-node@v0.1.1
with:
version: 'v14.21.3'
cache: 'yarn'
cache-dependency-path: 'yarn.lock'
- name: 安装yarn,并build
run: |
node -v
npm config set registry https://registry.npmmirror.com
npm install --global yarn
yarn config set registry https://registry.npmmirror.com
yarn
yarn run build
tar czvf ./dist-master.tar.gz ./dist
- name: 打包发送到服务器
uses: https://gitea.joylink.club/appleboy/scp-action@v0.1.7
with:
host: ${{ secrets.PUB1_DOMAIN_SSH_HOST }}
port: ${{ secrets.PUB1_DOMAIN_SSH_PORT }}
username: ${{ secrets.PUB1_DOMAIN_SSH_USER }}
password: ${{ secrets.PUB1_DOMAIN_SSH_PASSWORD }}
source: ./dist-master.tar.gz
target: /mnt/data/published/rt-sim-training-client
overwrite: true
- name: SSH连接并解压发布
uses: https://gitea.joylink.club/appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.PUB1_DOMAIN_SSH_HOST }}
port: ${{ secrets.PUB1_DOMAIN_SSH_PORT }}
username: ${{ secrets.PUB1_DOMAIN_SSH_USER }}
password: ${{ secrets.PUB1_DOMAIN_SSH_PASSWORD }}
script: |
cd /mnt/data/published/rt-sim-training-client
rm -rf /usr/local/joylink/client/cbtc
mkdir -p /usr/local/joylink/client
tar xz --strip 2 -C /usr/local/joylink/client -f dist-master.tar.gz

1
.gitignore vendored
View File

@ -4,6 +4,7 @@ dist/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
package-lock.json
tests/**/coverage/
src/utils/baseUrl.js*

View File

@ -4,6 +4,3 @@ English | [简体中文](./README-zh.md)
Copyright (c) 2018-present Joylink
### 项目环境
- "node": "<=14.21.3";
- "webpack": ">=4 < 4.29";

View File

@ -19,8 +19,6 @@
},
"dependencies": {
"@stomp/stompjs": "^5.4.4",
"@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "^1.0.2",
"axios": "^0.18.0",
"dayjs": "^1.11.5",
"echarts": "^4.7.0",
@ -46,7 +44,6 @@
"vue-i18n": "^8.12.0",
"vue-quill-editor": "^3.0.6",
"vue-router": "^3.1.6",
"vue-video-player": "^5.0.1",
"vuedraggable": "^2.24.3",
"vuex": "^3.1.0",
"wangeditor": "^4.6.17",

View File

@ -23,6 +23,7 @@
<script>
import { getToken, getUserIdKey } from '@/utils/auth';
import { getSessionStorage, setSessionStorage } from '@/utils/auth';
import { loginInfo } from '@/scripts/ProjectConfig';
import WindowResizeHandler from '@/mixin/WindowResizeHandler';
import LoadingImg from '@/assets/loading.gif';
import AppLoading from '@/assets/appLoading.png';
@ -67,7 +68,7 @@ export default {
callback: action => {
removeToken();
this.$store.dispatch('exit').then(resp => {
this.$router.push({path: `/login?project=${this.$store.state.projectConfig.markKey}`});
this.$router.push({path: loginInfo[this.$store.state.projectConfig.markKey].loginPath});
});
}
});

View File

@ -1,416 +0,0 @@
import request from '@/utils/request';
/**
* 获取竞赛试卷分页列表
* @param {Object} params
* @param {String} params.name 试卷名称
*/
export function getPaperList(params) {
return request({
url: '/api/exercise/race/paper/page',
method: 'GET',
params
});
}
/**
* 创建试卷
* @param {Object} data
* @param {String} data.name 试卷名称
* @param {String} data.desc 基础描述
* @param {Number} data.seasonId 所属赛季id
* @param {Boolean} data.supportCopy 是否支持拷贝
*/
export function createPaper(data) {
return request({
url: '/api/exercise/race/paper',
method: 'POST',
data
});
}
/**
* @param {Object} data 同创建试卷
* @param {Number} id 试卷id
*/
export function editPaper(id, data) {
return request({
url: `/api/exercise/race/paper/${id}`,
method: 'POST',
data
});
}
/**
* @param {Number} id 任务id
*/
export function deletePaper(id) {
return request({
url: `/api/exercise/race/paper/${id}`,
method: 'DELETE'
});
}
/**
* 获取竞赛试卷菜单
* @param {Object} params
* @param {String} params.group 分组ZZ=中职;GZ=高职
*/
export function getPaperMenu(params) {
return request({
url: '/api/exercise/race/paper/menu',
method: 'GET',
params
});
}
/**
* @param {Object} data
* @param {Array} data.modules 所有模块
* @param {Number} data.modules[i].module_name 模块名字
* @param {Number} data.modules[i].duration 考试总时间
* @param {Number} data.modules[i].group 任务分组
* @param {Number} data.modules[i].group.taskIds 此分组中的任务id
* @param {Number} data.modules[i].group.name 此组的名字
* @param {Number} data.modules[i].group.group 此分组的子分组
*/
export function paperModuleTaskSetting(paperId, data) {
return request({
url: `/api/exercise/race/paper/${paperId}/config`,
method: 'POST',
data
});
}
/**
* @param {Number} id 模块id
*/
export function getPaperDetail(id) {
return request({
url: `/api/exercise/race/paper/${id}`,
method: 'GET'
});
}
/**
* @param {Number} id 模块id
*/
export function copyPaper(id) {
console.log(id);
return request({
url: `/api/exercise/race/paper/${id}/copy`,
method: 'PUT'
});
}
/** 查看所有任务数据 */
export function getTaskTreeDatas() {
return request({
url: '/api/exercise/race/task/tree',
method: 'GET'
});
}
/**
* 创建任务
* @param {Object} data
* @param {String} data.name 任务名称
* @param {String} data.desc 基础描述
* @param {String} data.content 考核内容
* @param {String} data.standards 评价标准
* @param {Number} data.parentId 如果是子任务需要父任务的id
*/
export function createTask(data) {
return request({
url: '/api/exercise/race/task',
method: 'POST',
data
});
}
/**
* @param {Object} data 同创建任务
* @param {Number} id 任务id
*/
export function editTask(id, data) {
return request({
url: `/api/exercise/race/task/${id}`,
method: 'POST',
data
});
}
/**
* @param {Number} id 任务id
*/
export function deleteTask(id) {
return request({
url: `/api/exercise/race/task/${id}`,
method: 'DELETE'
});
}
/**
* @param {Number} id 任务id
*/
export function getTaskDetail(id) {
return request({
url: `/api/exercise/race/task/${id}`,
method: 'GET'
});
}
/**
* @param {Number} id 任务id
*/
export function getchildrenTaskDatas(id) {
return request({
url: `/api/exercise/race/task/${id}/children`,
method: 'GET'
});
}
/**
* @param {Array} data
* @param {Number} taskId 任务id
* @param {Number} data[i].bindId 绑定id根据bindtype来区分对应的id
* @param {String} data[i].bindType rule =0评分规则;scene=1场景
* @param {Number} data[i].status 0=绑定 1=解绑
*/
export function bindTask(taskId, data) {
return request({
url: `/api/exercise/race/task/${taskId}/bind`,
method: 'POST',
data
});
}
/**
* @param {Object} data
* @param {Number} data.group 分组 1-高职 2中职
* @param {String} data.term 赛季
* @param {String} data.code 编号
*/
export function addContestSeason(data) {
return request({
url: '/api/exercise/race/season',
method: 'post',
data
});
}
/**
* @param {Object} params
* @param {Number} params.group 分组 1-高职 2中职
* @param {String} params.term 赛季
* @param {String} params.code 编号
*/
export function queryContestSeasonPaged(params) {
return request({
url: '/api/exercise/race/season/page',
method: 'get',
params
});
}
/**
* @param {Object} data
* @param {Number} id 赛季id
* @param {String} data.group 分组 ZZ=中职GZ=高职
* @param {String} data.term 赛季
* @param {String} data.code 编号
*/
export function updateContestSeason(id, data) {
return request({
url: `/api/exercise/race/season/${id}`,
method: 'post',
data
});
}
/**
* @param {Number} id 赛季id
*/
export function deleteContestSeason(id) {
return request({
url: `/api/exercise/race/season/${id}`,
method: 'delete'
});
}
/**
* @param {Object} data
* @param {String} data.name 名称
*/
export function createContextScore(data) {
return request({
url: '/api/exercise/race/score',
method: 'post',
data
});
}
/**
* @param {Object} params
* @param {String} params.name 名称
*/
export function queryContextScorePaged(params) {
return request({
url: '/api/exercise/race/score/page',
method: 'get',
params
});
}
/**
* @param {Number} id 评分id
*/
export function deleteContextScore(id) {
return request({
url: `/api/exercise/race/score/${id}`,
method: 'delete'
});
}
/**
* @param {Number} id 评分id
* @param {Object} data
* @param {Array [object]} data.units 评分单元
* @param {String} data.units[0].text 文字描述
* @param {Number} data.units[0].sceneStepId 场景步骤ID
* @param {Number} data.units[0].score 分值
* @param {String} data.units[0].worker 作业程序
* @param {String} data.units[0].criteria 评分标准
*/
export function updateContextScoreDetail(id, data) {
return request({
url: `/api/exercise/race/score/edit/rule/${id}`,
method: 'post',
data
});
}
/**
* @param {Number} id 评分id
*/
export function getContextScoreDetail(id) {
return request({
url: `/api/exercise/race/score/${id}`,
method: 'get'
});
}
/**
* @param {Object} params
* @param {String} params.type 竞赛类型 local=场景;link=3D
*/
export function queryContestSencePaged(params) {
return request({
url: '/api/exercise/race/scene/page',
method: 'get',
params
});
}
/**
* @param {Number} id 场景id
*/
export function deleteContestSence(id) {
return request({
url: `/api/exercise/race/scene/${id}`,
method: 'delete'
});
}
/**
* @param {Number} id 场景id
*/
export function getContextSenceDetail(id) {
return request({
url: `/api/exercise/race/scene/${id}`,
method: 'get'
});
}
/**
* @param {Object} data
* @param {Number} data.traningPublishId 草稿实训场景id
* @param {String} data.name 大赛场景名称
*/
export function publishContextSence(data) {
return request({
url: `/api/exercise/race/scene/publish/training`,
method: 'post',
data
});
}
/**
* @param {Object} data
* @param {String} data.name 场景名称
* @param {String} data.type Video=视频
* @param {Object} data.scene 大赛场景
* @param {String} data.scene.url 地址
* @param {String} data.scene.fileName 文件名
*/
export function saveSceneVideo(data) {
return request({
url: `/api/exercise/race/scene/custom/edit`,
method: 'post',
data
});
}
/** 场景视频编辑 */
export function editSceneVideo(sceneId, data) {
return request({
url: `/api/exercise/race/scene/custom/${sceneId}/edit`,
method: 'post',
data
});
}
/**
* @param {String} paperId 试卷id
* @param {String} moduleId 模块id
*/
export function getTaskTree(paperId, moduleId) {
return request({
url: `/api/exercise/race/paper/${paperId}/module/${moduleId}/task`,
method: 'get'
});
}
/**
* @param {String} paperId 试卷id
* @param {String} moduleId 模块id
*/
export function beginContestExercise(paperId, moduleId) {
return request({
url: `/api/race/${paperId}/${moduleId}`,
method: 'POST'
});
}
/** 竞赛完成训练 */
export function finishContestExercise() {
return request({
url: '/api/race/finish',
method: 'PUT'
});
}
/** html
* @param {String} id 赛季id
* @param {String} data.htmlContent 内容
*/
export function editSeasonContent(id, data) {
return request({
url: `/api/exercise/race/season/${id}/html`,
method: 'post',
data
});
}
/** html
* @param {String} id 赛季id
*/
export function getSeasonContent(id) {
return request({
url: `/api/exercise/race/season/${id}/html`,
method: 'get'
});
}
export function getTheoryList() {
return request({
url: '/api/exercise/race/paper/questions',
method: 'get'
});
}

View File

@ -7,6 +7,10 @@ const BASE_UPLOAD_API = store.state.user.uploadUrl;
// export const BASE_ASSET_API = store.state.user.resourcesUrl;
export const BASE_ASSET_API = store.state.user.ossUrl;
// console.log(JL3D_LOCAL_STATIC);
// console.log(BASE_UPLOAD_API);
// console.log(BASE_ASSET_API);
export function getUploadModelUrl() {
return (BASE_UPLOAD_API+"/api/upload/MODEL?appId=00001&appSecret=joylink00001");
}

View File

@ -182,7 +182,7 @@ export function localImportMap(data) {
url: '/api/map/local/import',
method: 'post',
data: data
});
});
}
/** 根据group获取排序的车站列表包含车辆段/停车场) */
@ -307,25 +307,3 @@ export function queryMapListByUser() {
method: 'get'
});
}
/** 根据mapId获取客户端信息数据 */
export function getClientDataById(mapId) {
return request({
url: `/api/map/${mapId}/mapClientMap`,
method: 'get'
});
}
/** 发布地图根据id生成实训 */
export function generateTrainingData(data) {
return request({
url: `/api/v2/training/rule/generate/mapId`,
method: 'post',
data: data
});
}
/** 根据mapId获取列车信息 */
export function getTrainListByMapId(mapId) {
return request({
url: `/api/map/${mapId}/trains`,
method: 'get'
});
}

View File

@ -265,11 +265,3 @@ export function loadTrainingBg(group, trainingId) {
method: 'post'
});
}
/** 预备开始场景 */
export function prepareScene(group, params) {
return request({
url:`/api/training2Simulation/${group}/prepare/start`,
method: 'post',
params
});
}

View File

@ -269,12 +269,12 @@ export function generateExam(pcId) {
}
/** 删除用户试卷 */
// export function deleteUserExam(param) {
// return request({
// url: `/api/v2/paper/user/${puId}`,
// method: 'DELETE'
// });
// }
export function deleteUserExam(param) {
return request({
url: `/api/v2/paper/user/${puId}`,
method: 'method'
});
}
/**
* @param {Number} puId 用户试卷Id
@ -344,13 +344,3 @@ export function queryTagList(data) {
data
});
}
/**
* 获取试卷创建者list
*/
export function queryPaperCreatorList(data) {
return request({
url: `/api/v2/paper/composition/list/creatorInfo`,
method: 'POST',
data
})
}

View File

@ -323,11 +323,3 @@ export function isExistEmail(params) {
});
}
// 成工院第三方登录
export function cgyThirdLogin(data) {
return request({
url: '/api/login/cgy/third',
method: 'post',
data
});
}

View File

@ -91,13 +91,13 @@ export function getSimulationTimeChart(mapId) {
})
}
// // 课程内实训数据统计
// export function getLessonTimeChart(id) {
// return request({
// url: `/api/stats/lesson/${id}/stats`,
// method: 'get',
// })
// }
// 课程内实训数据统计
export function getLessonTimeChart(id) {
return request({
url: `/api/stats/lesson/${id}/stats`,
method: 'get',
})
}
// 课程列表
export function getLessonList() {

View File

@ -1,221 +0,0 @@
import request from '@/utils/request';
/**
* 获取群列表
* @param {String} groupId 房间号
* @returns
*/
export function getGroupList(groupId) {
return request({
url: `/api/simulation/${groupId}/conversation/group/list`,
method: 'get'
});
}
/**
* 创建群
* @param {String} groupId 房间号
* @param {String} data
* @param {String} data.name 群组名称
* @param {String} data.imageUrl 群组头像
* @param {Array} data.memberIds 角色id列表
* @returns
*/
export function createGroup(groupId, data) {
return request({
url: `/simulation/${groupId}/operate/Conversation_Group_Create`,
method: 'post',
data
});
}
/**
* 修改群组名称
* @param {String} groupId 房间号
* @param {Object} data
* @param {String} data.id 群组id
* @param {String} data.name 群组名称
* @returns
*/
export function updateGroupName(groupId, data) {
return request({
url: `/simulation/${groupId}/operate/Conversation_Group_Update_Name`,
method: 'post',
data
});
}
/**
* 修改群组群主
* @param {String} groupId 房间号
* @param {Object} data
* @param {Number} data.id 群组id
* @param {String} data.memberId 角色id
* @returns
*/
export function updateGroupLeader(groupId, data) {
return request({
url: `/simulation/${groupId}/operate/Conversation_Group_Update_Leader`,
method: 'post',
data
});
}
/**
* 邀请人员入群
* @param {String} groupId 房间号
* @param {Object} data
* @param {Number} data.id 群组id
* @param {Array} data.memberIds 角色id列表
* @returns
*/
export function inviteMemberToGroup(groupId, data) {
return request({
url: `/simulation/${groupId}/operate/Conversation_Group_Invite_Member`,
method: 'post',
data
});
}
/**
* 移除群内人员
* @param {String} groupId 房间号
* @param {Object} data
* @param {Number} data.id 群组id
* @param {Array} data.memberIds 角色id列表
* @returns
*/
export function removeMemberFromGroup(groupId, data) {
return request({
url: `/simulation/${groupId}/operate/Conversation_Group_Remove_Member`,
method: 'post',
data
});
}
/**
* 退出群组
* @param {String} groupId 房间号
* @param {Object} data
* @param {Number} data.id 群组id
* @returns
*/
export function exitGroup(groupId, data) {
return request({
url: `/simulation/${groupId}/operate/Conversation_Group_Exit`,
method: 'post',
data
});
}
/**
* 解散群组
* @param {String} groupId 房间号
* @param {Object} data
* @param {Number} data.id 群组id
* @returns
*/
export function dissolveGroup(groupId, data) {
return request({
url: `/simulation/${groupId}/operate/Conversation_Group_Dissolve`,
method: 'post',
data
});
}
/**
* 发送语音信息
* @param {String} groupId 房间号
* @param {Object} data
* @param {Number} data.id 群组id
* @param {String} data.audioPath 文件地址
* @param {String} data.content 语音内容
* @returns
*/
export function sendAudio(groupId, data) {
return request({
url: `/simulation/${groupId}/operate/Conversation_Group_Audio_Chat`,
method: 'post',
data
});
}
/**
* 发送文字信息
* @param {String} groupId 房间号
* @param {Object} data
* @param {Number} data.id 群组id
* @param {String} data.content 文字内容
* @returns
*/
export function sendText(groupId, data) {
return request({
url: `/simulation/${groupId}/operate/Conversation_Group_Text_Chat`,
method: 'post',
data
});
}
/**
* 发送BASE64信息
* @param {String} groupId 房间号
* @param {Object} data
* @param {Number} data.id 群组id
* @param {String} data.fileBase64Str 文件base64码
* @returns
*/
export function sendBase64(groupId, data) {
return request({
url: `/simulation/${groupId}/operate/Conversation_Group_Audio_Base64`,
method: 'post',
data
});
}
/**
* 设置群消息已读
* @param {String} groupId 房间号
* @param {Object} data
* @param {Number} data.id 群组id
* @returns
*/
export function setGroupReadMessage(groupId, data) {
return request({
url: `/simulation/${groupId}/operate/Conversation_Group_Read_Message`,
method: 'post',
data
});
}
/**
* 发送私聊文字信息
* @param {String} groupId 房间号
* @param {Object} data
* @param {Number} data.memberId 角色id
* @param {String} data.content 文字内容
* @returns
*/
export function sendPrivateText(groupId, data) {
return request({
url: `/simulation/${groupId}/operate/Conversation_Group_Private_Text_Chat`,
method: 'post',
data
});
}
/**
* 发送私聊BASE64信息
* @param {String} groupId 房间号
* @param {Object} data
* @param {Number} data.memberId 角色id
* @param {String} data.fileBase64Str 文件base64码
* @returns
*/
export function sendPrivateBase64(groupId, data) {
return request({
url: `/simulation/${groupId}/operate/Conversation_Group_Private_Audio_Base64`,
method: 'post',
data
});
}

View File

@ -15,20 +15,3 @@ export function selectQuestionTypeNum(companyId) {
method: 'get'
});
}
/** 加载场景 */
export function loadRace(simulationId, sceneId) {
return request({
url: `/api/race/${simulationId}/load/${sceneId}`,
method: 'put'
});
}
/** 完成任务 */
export function overTask(taskId, data) {
return request({
url: `/api/race/${taskId}/finish`,
method: 'put',
data
});
}

View File

@ -1,10 +0,0 @@
import request from '@/utils/request';
/** 查询用户使用记录统计 */
export function queryUserSimulationRecord(params, userId) {
return request({
url: `/api/record/stats/list/criteria/${userId}`,
method: 'get',
params
});
}

View File

@ -47,39 +47,39 @@ export function examNotifyNew({ examId }) {
});
}
/** 获取用户实训列表*/
// export function getSimulationList(data) {
// return request({
// url: `/api/stats/simulation`,
// method: 'get',
// params: data
// });
// }
export function getSimulationList(data) {
return request({
url: `/api/stats/simulation`,
method: 'get',
params: data
});
}
// /** 添加用户仿真数据*/
// export function postSimulationStats(data) {
// return request({
// url: `/api/stats/simulation`,
// method: 'post',
// data: data
// });
// }
/** 添加用户仿真数据*/
export function postSimulationStats(data) {
return request({
url: `/api/stats/simulation`,
method: 'post',
data: data
});
}
// /** 更新用户仿真数据*/
// export function putSimulationStats(data) {
// return request({
// url: `/api/stats/${data.id}`,
// method: 'put',
// data: data
// });
// }
/** 更新用户仿真数据*/
export function putSimulationStats(data) {
return request({
url: `/api/stats/${data.id}`,
method: 'put',
data: data
});
}
/** 删除用户仿真数据*/
// export function deleteSimulationStats(statsId) {
// return request({
// url: `/api/stats/${statsId}`,
// method: 'delete'
// });
// }
export function deleteSimulationStats(statsId) {
return request({
url: `/api/stats/${statsId}`,
method: 'delete'
});
}
/** 录制脚本仿真(新版)*/
export function scriptRecordNotifyNew(scriptId) {
@ -515,10 +515,10 @@ export function getStandListByRunLineOrTrainCode(group, params) {
params
});
}
/** 沙盘列车控制 */
export function sandTableTrainControl(group, params) {
/** 上饶列车控制 */
export function srTrainControl(group, params) {
return request({
url: `/api/sandTable/${group}/control`,
url: `/api/sr/${group}/control`,
method: 'put',
params
});
@ -583,27 +583,3 @@ export function enterSimulationByTeacher(group) {
method: 'post'
});
}
/** 切换角色后触发消息 */
export function getUnreceivedMessages(simulationId, memberId) {
return request({
url: `/simulation/${simulationId}/${memberId}/unreceivedMessages`,
method: 'get'
});
}
/** 控制叶佳供货的小车 */
export function controlYjTrain(simulationId, right) {
return request({
url: `/api/realDevice/${simulationId}/train`,
method: 'put',
params: { right }
});
}
/** 创建仿真不通过功能id */
export function createSimulationNoFunction(mapId, data) {
return request({
url: `/simulation/new/${mapId}`,
method: 'post',
data
});
}

View File

@ -32,21 +32,14 @@ export function updateTraining(data) {
data
});
}
/** 更新发布实训信息(标签 描述, 标题) */
export function updateTrainingInfo(data) {
/** 更新实训标签 */
export function updateTrainingLabel(data) {
return request({
url: `/api/v2/training/published/update`,
url: `/api/v2/training/published/update/label`,
method: 'put',
data
});
}
/** 已发布实训转为草稿 */
export function saveAsTrainingDraft(trainingId) {
return request({
url: `/api/v2/training/published/${trainingId}/saveAsDraft`,
method: 'post'
});
}
/** 查询步骤列表 */
export function getTrainingStepList(trainingId) {
return request({
@ -173,26 +166,3 @@ export function clearDesignTraining(trainingId, group) {
method: 'delete'
});
}
/** 导出实训数据 */
export function exportTrainingData(data) {
return request({
url: `/api/v2/training/published/export`,
method: 'post',
data
});
}
/** 导入实训数据 */
export function importTrainingData(data) {
return request({
url: `/api/v2/training/published/import`,
method: 'post',
data
});
}
/** 实训跳转到当前步骤*/
export function jumpToTraining(group, stepId) {
return request({
url: `/api/training2Simulation/${group}/jumpTo/${stepId}`,
method: 'put'
});
}

View File

@ -193,11 +193,3 @@ export function queryTemplateMapFunPaged(params) {
params
});
}
/** 线路功能覆盖生成(主要用于客户端重新生成后线路功能里客户端重新匹配) */
export function generateMapFun(data) {
return request({
url: `/api/mapFunction/generate/mapIds`,
method: 'post',
data
});
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 709 B

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -332,6 +332,7 @@ export default {
methods: {
handleEdit(row, column, index) {
this.$set(row, 'isEdit', true);
// console.log(this.$refs);
// if (this.$refs.customerInput.length) {
// this.$refs.customerInput[index].$el.querySelector('input').focus();
// }

View File

@ -38,12 +38,6 @@ export default {
permissionManage: 'Permission',
authorityTransferManage: 'Privilege distribution management',
userRulesManage: 'User Rights Statistics',
contestDataManage:'Contest data management',
contestSubjectManage:'contest subject management',
contestTaskManage:'contest task management',
contestSceneManage:'contest scene management',
contestTaskScoreManage:'contest task score management',
contestSeasonManage:'contest season management',
fileManage: 'File Manage',
frontResourceManage: 'Front-End Resource Management',
iscsPrerecordManage: 'ISCS Advance record management',

View File

@ -1,112 +1,110 @@
export default {
homePage: 'Home',
homePage: 'Home',
mapManage: 'Map',
skinManage: 'Skin management',
mapDraw: 'Map draw',
runPlanManage: 'Run plan',
productEdit: 'Product editor',
mapManage: 'Map',
skinManage: 'Skin management',
mapDraw: 'Map draw',
runPlanManage: 'Run plan',
productEdit: 'Product editor',
newDesignEditor: 'Editor',
newDesignEditorList: 'Editor List',
newDesignDraftEditorList: 'Draft Editor List',
uploadPdf: 'Upload Pdf',
fileManage: 'File Manage',
newDesignEditor: 'Editor',
newDesignEditorList: 'Editor List',
newDesignDraftEditorList: 'Draft Editor List',
uploadPdf: 'Upload Pdf',
fileManage: 'File Manage',
designhomePage: 'Public map',
designUserPage: 'Personal map',
newDesignUserPage: 'Personal map',
designhomePage: 'Public map',
designUserPage: 'Personal map',
newDesignUserPage: 'Personal map',
lessaonManage: 'Lesson',
lessonEdit: 'Lesson editor',
trainingRecord: 'Trainning recording',
trainingRule: 'Training rules',
trainingManage: 'Training management',
taskManage: 'Task management',
scriptManage: 'Script',
lessaonManage: 'Lesson',
lessonEdit: 'Lesson editor',
trainingRecord: 'Trainning recording',
trainingRule: 'Training rules',
trainingManage: 'Training management',
taskManage: 'Task management',
scriptManage: 'Script',
teachSystem: 'Teaching',
teachSystem: 'Teaching',
examSystem: 'Examination',
examSystem: 'Examination',
demonstrationSystem: 'Simulation',
demonstrationSystem: 'Simulation',
dpSystem: 'Large screen',
dpSystem: 'Large screen',
planSystem: 'Lian plan',
planSystem: 'Lian plan',
replayManage: 'Playback',
replayManage: 'Playback',
permissionManage: 'Permission',
selfPermission: 'My Permission',
permissionManage: 'Permission',
selfPermission: 'My Permission',
pulishManage: 'Publication',
publishMapManage: 'Publishing map management',
productStateManage: 'Product state management',
publishLessonManage: 'Publishing lesson management',
runPlanTemplateManage: 'Template plan management',
runPlanCommonManage: 'Loading Plan Managemen',
runPlanEveryDayManage: 'Daily plan Management',
examRuleManage: 'Management of examination rules',
pulishManage: 'Publication',
publishMapManage: 'Publishing map management',
productStateManage: 'Product state management',
publishLessonManage: 'Publishing lesson management',
runPlanTemplateManage: 'Template plan management',
runPlanCommonManage: 'Loading Plan Managemen',
runPlanEveryDayManage: 'Daily plan Management',
examRuleManage: 'Management of examination rules',
orderAuthorityManage: 'Order&Authority',
commodityManage: 'Commodity management',
orderManage: 'Order management',
authorityManage: 'authority management',
authorityTransferManage: 'Privilege distribution management',
userRulesManage: 'User Rights Statistics',
addCommodity: 'Adding goods',
addOrder: 'Adding orders',
addCoursePermissions: 'Adding course permissions',
orderAuthorityManage: 'Order&Authority',
commodityManage: 'Commodity management',
orderManage: 'Order management',
authorityManage: 'authority management',
authorityTransferManage: 'Privilege distribution management',
userRulesManage: 'User Rights Statistics',
addCommodity: 'Adding goods',
addOrder: 'Adding orders',
addCoursePermissions: 'Adding course permissions',
systemManage: 'System',
dataDictionary: 'Data dictionary',
dataDictionaryDetails: 'Data dictionary details',
userManage: 'user management',
loginUserManage: 'login user Manage',
cacheManage: 'cache management',
userTrainingManage: 'User training management',
userExamManage: 'User examination management',
userSimulationManage: 'User simulation management',
existingSimulation: 'Existence simulation management',
ibpDraw: 'Ibp Draw',
trainingPlatform: 'trainingPlatform',
releaseApplication: 'Release application',
courseApplication: 'Course release application',
scriptReleaseApplication: 'Script release application',
runGraphReleaseApplication: 'Run graph release application',
subsystemGeneration: 'Subsystem generation',
newsBulletin: 'New bulletin',
notificationBulletin: 'Systematic notification',
commandDictionary: 'Command dictionary',
configLine: 'Line management',
deviceManage: 'Device management',
iscsDraw: 'Iscs Draw',
iscsSystem: 'Iscs System',
studentManage: 'Student manage',
examDetail: 'Exam detail',
raceManage: 'Race manage',
practiceManage: 'Practice manage',
bankManage: 'Bank manage',
sceneManage: 'Scene manage',
companyManage: 'Company manage',
authorApply: 'Grant application',
AuthorList: 'Authorization code list',
questionsRuleManage: 'Question rule manage',
preTheoryData: 'Pre Theory Data',
boardManage: 'Message Board Manage',
publishIBPManage: 'publish IBP Manage',
publishISCSManage: 'publish ISCS Manage',
publishTrainingManage: 'publish Training Manage',
voiceTraining: 'Voice Training',
mapGroup: 'Map Group',
drawingMange: 'Drawing Mange',
projectServer: 'Project Server',
audioResourcesManage: 'Audio Resources Manage',
iscsDeviceManage: 'ISCS Device Manage',
iscsResourcesManage: 'ISCS Resources Manage',
projectManage: 'Project Manage',
frontProjectConfigManage: 'Front Project Config Manage',
training: 'Training',
theory: 'Theory'
};
systemManage: 'System',
dataDictionary: 'Data dictionary',
dataDictionaryDetails: 'Data dictionary details',
userManage: 'user management',
loginUserManage: 'login user Manage',
cacheManage: 'cache management',
userTrainingManage: 'User training management',
userExamManage: 'User examination management',
userSimulationManage: 'User simulation management',
existingSimulation: 'Existence simulation management',
ibpDraw: 'Ibp Draw',
trainingPlatform: 'trainingPlatform',
releaseApplication: 'Release application',
courseApplication: 'Course release application',
scriptReleaseApplication: 'Script release application',
runGraphReleaseApplication: 'Run graph release application',
subsystemGeneration: 'Subsystem generation',
newsBulletin: 'New bulletin',
notificationBulletin: 'Systematic notification',
commandDictionary: 'Command dictionary',
configLine: 'Line management',
deviceManage: 'Device management',
iscsDraw: 'Iscs Draw',
iscsSystem: 'Iscs System',
studentManage: 'Student manage',
examDetail: 'Exam detail',
raceManage: 'Race manage',
practiceManage: 'Practice manage',
bankManage: 'Bank manage',
sceneManage: 'Scene manage',
companyManage: 'Company manage',
authorApply: 'Grant application',
AuthorList: 'Authorization code list',
questionsRuleManage: 'Question rule manage',
preTheoryData: 'Pre Theory Data',
boardManage: 'Message Board Manage',
publishIBPManage: 'publish IBP Manage',
publishISCSManage: 'publish ISCS Manage',
publishTrainingManage: 'publish Training Manage',
voiceTraining: 'Voice Training',
mapGroup: 'Map Group',
drawingMange: 'Drawing Mange',
projectServer: 'Project Server',
audioResourcesManage: 'Audio Resources Manage',
iscsDeviceManage: 'ISCS Device Manage',
iscsResourcesManage: 'ISCS Resources Manage',
projectManage: 'Project Manage',
frontProjectConfigManage: 'Front Project Config Manage',
}

View File

@ -51,7 +51,7 @@ export default {
menuSignal: {
routeSelect: '进路选排',
routeCancel: '进路取消',
signalBlock: '信号封',
signalBlock: '信号封',
signalDeblock: '信号解封',
signalReopen: '信号重开',
guideRouteHandle: '引导进路办理',

View File

@ -38,12 +38,6 @@ export default {
permissionManage: '权限管理',
authorityTransferManage: '权限分发管理',
userRulesManage: '用户权限管理',
contestDataManage:'竞赛数据管理',
contestSubjectManage:'竞赛题目管理',
contestTaskManage:'竞赛任务管理',
contestSceneManage:'竞赛场景管理',
contestTaskScoreManage:'竞赛任务评分管理',
contestSeasonManage:'竞赛赛季管理',
fileManage: '文件管理',
frontResourceManage: '前端资源管理',
iscsPrerecordManage: 'ISCS预录管理',

View File

@ -1,116 +1,114 @@
export default {
homePage: '首页',
homePage: '首页',
designhomePage: '公共地图',
designUserPage: '个人地图',
newDesignUserPage: '地图绘制',
newDesignEditor: '编辑器',
newDesignEditorList: '图文列表',
newDesignDraftEditorList: '文章草稿',
uploadPdf: 'PDF上传',
fileManage: '文件管理',
designhomePage: '公共地图',
designUserPage: '个人地图',
newDesignUserPage: '地图绘制',
newDesignEditor: '编辑器',
newDesignEditorList: '图文列表',
newDesignDraftEditorList: '文章草稿',
uploadPdf: 'PDF上传',
fileManage: '文件管理',
mapManage: '地图管理',
skinManage: '皮肤管理',
mapDraw: '地图绘制',
runPlanManage: '运行图管理',
productEdit: '产品编辑',
mapManage: '地图管理',
skinManage: '皮肤管理',
mapDraw: '地图绘制',
runPlanManage: '运行图管理',
productEdit: '产品编辑',
lessaonManage: '课程管理',
trainingRecord: '实训录制',
taskManage: '任务管理',
trainingRule: '操作定义',
trainingManage: '实训管理',
lessonEdit: '课程编辑',
scriptManage: '剧本管理',
lessaonManage: '课程管理',
trainingRecord: '实训录制',
taskManage: '任务管理',
trainingRule: '操作定义',
trainingManage: '实训管理',
lessonEdit: '课程编辑',
scriptManage: '剧本管理',
teachSystem: '教学系统',
teachSystem: '教学系统',
examSystem: '考试系统',
examSystem: '考试系统',
demonstrationSystem: '仿真系统',
demonstrationSystem: '仿真系统',
dpSystem: '大屏系统',
dpSystem: '大屏系统',
planSystem: '琏计划',
planSystem: '琏计划',
replayManage: '回放管理',
replayManage: '回放管理',
permissionManage: '权限管理',
selfPermission: '我的权限',
permissionManage: '权限管理',
selfPermission: '我的权限',
pulishManage: '发布内容管理',
publishMapManage: '发布地图管理',
productStateManage: '产品状态管理',
publishLessonManage: '发布课程管理',
runPlanTemplateManage: '模板运行图管理',
runPlanCommonManage: '加载计划运行图管理',
runPlanEveryDayManage: '每日运行图管理',
examRuleManage: '试卷规则管理',
pulishManage: '发布内容管理',
publishMapManage: '发布地图管理',
productStateManage: '产品状态管理',
publishLessonManage: '发布课程管理',
runPlanTemplateManage: '模板运行图管理',
runPlanCommonManage: '加载计划运行图管理',
runPlanEveryDayManage: '每日运行图管理',
examRuleManage: '试卷规则管理',
orderAuthorityManage: '订单权限管理',
commodityManage: '商品管理',
orderManage: '订单管理',
authorityManage: '权限管理',
authorityTransferManage: '权限分发管理',
userRulesManage: '用户权限统计',
addCommodity: '添加商品',
addOrder: '添加订单',
addCoursePermissions: '添加课程权限',
orderAuthorityManage: '订单权限管理',
commodityManage: '商品管理',
orderManage: '订单管理',
authorityManage: '权限管理',
authorityTransferManage: '权限分发管理',
userRulesManage: '用户权限统计',
addCommodity: '添加商品',
addOrder: '添加订单',
addCoursePermissions: '添加课程权限',
systemManage: '系统管理',
dataDictionary: '数据字典',
dataDictionaryDetails: '数据字典明细',
userManage: '用户管理',
loginUserManage: '在线用户管理',
cacheManage: '缓存管理',
userTrainingManage: '用户实训统计',
userExamManage: '用户考试统计',
userSimulationManage: '用户仿真统计',
existingSimulation: '存在仿真管理',
systemManage: '系统管理',
dataDictionary: '数据字典',
dataDictionaryDetails: '数据字典明细',
userManage: '用户管理',
loginUserManage: '在线用户管理',
cacheManage: '缓存管理',
userTrainingManage: '用户实训统计',
userExamManage: '用户考试统计',
userSimulationManage: '用户仿真统计',
existingSimulation: '存在仿真管理',
ibpDraw: 'Ibp盘绘制',
trainingPlatform: '实训平台',
releaseApplication: '发布申请',
courseApplication: '课程发布申请',
scriptReleaseApplication: '剧本发布申请',
runGraphReleaseApplication: '运行图发布申请',
subsystemGeneration: '子系统生成',
newsBulletin: '消息公告',
notificationBulletin: '系统通知',
commandDictionary: '指令字典',
configLine: '线路管理',
deviceManage: '设备管理',
iscsDraw: 'Iscs绘制',
iscsSystem: 'Iscs系统',
studentManage: '学生管理',
competitionManage: '竞赛管理',
refereeJManage: '仿真管理',
homeJsxt: '首页',
examDetail: '考试详情',
raceManage: '竞赛管理',
recaList: '报名列表',
bankManage: '题库列表',
practiceManage: '实操列表',
sceneManage: '场景列表',
companyManage: '组织管理',
authorApply: '授权申请',
AuthorList: '授权列表',
questionsRuleManage: '出题规则管理',
preTheoryData: '理论导入预处理',
boardManage: '留言板管理',
publishIBPManage: '发布IBP盘管理',
publishISCSManage: '发布ISCS管理',
publishTrainingManage: '发布实训管理',
voiceTraining: '语音训练',
mapGroup: '地图分组',
drawingMange: '图纸管理',
projectServer: '项目域名',
audioResourcesManage: '音频资源管理',
iscsDeviceManage: 'ISCS设备管理',
iscsResourcesManage: 'ISCS资源管理',
projectManage: '项目管理',
frontProjectConfigManage: '前端项目配置管理',
training: '实训',
theory: '理论'
};
ibpDraw: 'Ibp盘绘制',
trainingPlatform: '实训平台',
releaseApplication: '发布申请',
courseApplication: '课程发布申请',
scriptReleaseApplication: '剧本发布申请',
runGraphReleaseApplication: '运行图发布申请',
subsystemGeneration: '子系统生成',
newsBulletin: '消息公告',
notificationBulletin: '系统通知',
commandDictionary: '指令字典',
configLine: '线路管理',
deviceManage: '设备管理',
iscsDraw: 'Iscs绘制',
iscsSystem: 'Iscs系统',
studentManage: '学生管理',
competitionManage: '竞赛管理',
refereeJManage: '仿真管理',
homeJsxt: '首页',
examDetail: '考试详情',
raceManage: '竞赛管理',
recaList: '报名列表',
bankManage: '题库列表',
practiceManage: '实操列表',
sceneManage: '场景列表',
companyManage: '组织管理',
authorApply: '授权申请',
AuthorList: '授权列表',
questionsRuleManage: '出题规则管理',
preTheoryData: '理论导入预处理',
boardManage: '留言板管理',
publishIBPManage: '发布IBP盘管理',
publishISCSManage: '发布ISCS管理',
publishTrainingManage: '发布实训管理',
voiceTraining: '语音训练',
mapGroup: '地图分组',
drawingMange: '图纸管理',
projectServer: '项目域名',
audioResourcesManage: '音频资源管理',
iscsDeviceManage: 'ISCS设备管理',
iscsResourcesManage: 'ISCS资源管理',
projectManage: '项目管理',
frontProjectConfigManage: '前端项目配置管理',
}

View File

@ -9,15 +9,7 @@ const mapDeviceStyle = {
'09': 'xian_02',
'10': 'xian_01', // 西安一号线
'11': 'xian_01', // 西安三号线
'12': 'ningbo_03', // 宁波三号线
'13': 'race_01', // 2020国赛线路
'14':'nanjing_02', // 南京二号线
'15': 'datie_01', // 大铁线路一
'16': 'datie_02', // 大铁线路二
'17':'datie_tky', // 铁科院大铁线路
'18':'datie_jd1a',
'19': 'datie_ksk', // 大铁 卡斯柯
'20': 'ningbo_01'
'12': 'ningbo_03' // 宁波三号线
};
export function selectLineCode(code) {

View File

@ -5,6 +5,7 @@ export function SetScene(project) {
// var cubeTextureLoader = new THREE.CubeTextureLoader();
var bgTexture;
// console.log(project);
if(project == "login" || project == undefined){
bgTexture = new THREE.TextureLoader().load(JL3D_LOCAL_STATIC+"/background/other.jpg");
}else if(project == "heb"){

View File

@ -48,6 +48,7 @@ export function Pathaction(){
document.onmousedown = function(event){
jlmap3dedit.selectswitch = false;
console.log(event.button);
//辅助线段
@ -59,6 +60,7 @@ export function Pathaction(){
lineswitch = null;
console.log(linenew);
if(linenew){
@ -72,6 +74,7 @@ export function Pathaction(){
point1 = mouserray(event,jlmap3dedit);
console.log("new");
if(point1){
linenew = addline(point1,1,jlmap3dedit.splineHelperObjects,jlmap3dedit.scene);
jlmap3dedit.mapdata.path.push(linenew);
@ -101,6 +104,7 @@ export function Pathaction(){
jlmap3dedit.mapdata.sectionlist.sections.datalist[i].rail.push(linenew.geometry.vertices[n]);
}
jlmap3dedit.mapdata.sectionlist.sections.datalist[i].railline = linenew;
console.log(jlmap3dedit.mapdata.sectionlist.sections.datalist[i].rail);
i = jlmap3dedit.mapdata.sectionlist.sections.modellist.length;
}
}
@ -173,6 +177,7 @@ export function Pathaction(){
document.onmousedown = function(event){
console.log(event.button);
//辅助线段
@ -184,6 +189,7 @@ export function Pathaction(){
lineswitch = null;
console.log(linenew);
if(linenew){
@ -227,6 +233,8 @@ export function Pathaction(){
for(let n=0;n<linenew.geometry.vertices.length;n++){
jlmap3dedit.mapdata.sectionlist.sections.datalist[i].rail.push(linenew.geometry.vertices[n]);
}
console.log(jlmap3dedit.mapdata.sectionlist.sections.datalist[i]);
console.log(jlmap3dedit.mapdata.sectionlist.sections.datalist[i].rail);
}
}
}
@ -281,6 +289,7 @@ export function Pathaction(){
}
//点击事件
this.raycaster = function(data){
console.log();
if(scope.on == true){
//定义光线
@ -291,11 +300,13 @@ export function Pathaction(){
mouse.y = -(event.clientY / window.innerHeight) * 2 + 1;
raycaster.setFromCamera( mouse, data.camera );
console.log(data.splineHelperObjects);
let intersects1;
intersects1 = raycaster.intersectObjects( data.splineHelperObjects);
if(intersects1[0]){
console.log(intersects1[0]);
return intersects1[0].object;
}
@ -318,7 +329,9 @@ export function Pathaction(){
mouse.y = -(mousep.clientY / window.innerHeight) * 2 + 1;
raycaster.setFromCamera( mouse, jlmap3dedit.camera );
console.log(jlmap3dedit.assetloader.modellist[3].mesh);
var intersects = raycaster.intersectObjects(jlmap3dedit.assetloader.modellist[3].mesh.children);
console.log(intersects);
if(intersects[0]){
resultpoint = intersects[0].point;
return resultpoint;

View File

@ -79,9 +79,13 @@ export function Sectionaction(){
raycaster.setFromCamera( mouse, data.camera );
let intersects1;
// console.log(modellist);
for(let i=0;i<modellist.length;i++){
intersects1 = raycaster.intersectObject(modellist[i],true);
// console.log(intersects1);
if(intersects1[0]){
// console.log(intersects1[0].object.code);
// console.log(modellist[i].code);
if(intersects1[0].object.code == modellist[i].code){
return modellist[i];
@ -93,17 +97,20 @@ export function Sectionaction(){
}
this.changemodel = function(jlmap3dedit,changedata){
console.log(changedata);
let scene = jlmap3dedit.scene;
let assetloader = jlmap3dedit.assetloader;
let isnewmodel = true;
//判断是否是未加载模型
for(let i=0;i<assetloader.modellist.length;i++){
console.log(assetloader.modellist[i].assetUrl);
if(changedata.assetUrl == assetloader.modellist[i].assetUrl){
isnewmodel = false;
i = assetloader.modellist.length;
}
}
console.log(isnewmodel);
jlmap3dedit.assetloader.loadnewsection(changedata,jlmap3dedit);
@ -111,19 +118,25 @@ export function Sectionaction(){
// for(let i=0;i<jlmap3dedit.mapdata.signallist.list.length;i++){
// if(jlmap3dedit.selectmodel.code == jlmap3dedit.mapdata.signallist.list[i].mesh.code){
// console.log("change");
// let num = i;
//
// //判断是否修改模型
// console.log(changedata.id );
// console.log(jlmap3dedit.mapdata.signallist.list[i].mesh.name);
// if(changedata.id != jlmap3dedit.mapdata.signallist.list[i].mesh.name){
//
// if(isnewmodel == true){
// console.log("new");
// return jlmap3dedit.assetloader.loadnewasset(jlmap3dedit,changedata,num);
//
// }else{
// console.log("old");
// return jlmap3dedit.assetloader.loadoldasset(jlmap3dedit,changedata,num);
//
// }
// }else{
// console.log("same");
// return jlmap3dedit.selectmodel;
// }
//

View File

@ -50,6 +50,7 @@ export function Signalaction(){
for(let i=0;i<data.mapdata.signallist.list.length;i++){
intersects1 = raycaster.intersectObjects( data.mapdata.signallist.list[i].mesh.children);
if(intersects1[0]){
console.log(intersects1[0].object);
if(intersects1[0].object.parent.code == data.mapdata.signallist.list[i].mesh.code){
return data.mapdata.signallist.list[i].mesh;
}
@ -61,9 +62,11 @@ export function Signalaction(){
}
this.changemodel = function(jlmap3dedit,changedata){
console.log(changedata);
let isnewmodel = true;
//判断是否是未加载模型
for(let i=0;i<jlmap3dedit.assetloader.modellist.length;i++){
console.log(jlmap3dedit.assetloader.modellist[i].assetUrl);
if(changedata.assetUrl == jlmap3dedit.assetloader.modellist[i].assetUrl){
isnewmodel = false;
@ -74,19 +77,25 @@ export function Signalaction(){
let scene = jlmap3dedit.scene;
for(let i=0;i<jlmap3dedit.mapdata.signallist.list.length;i++){
if(jlmap3dedit.selectmodel.code == jlmap3dedit.mapdata.signallist.list[i].mesh.code){
console.log("change");
let num = i;
//判断是否修改模型
console.log(changedata.id );
console.log(jlmap3dedit.mapdata.signallist.list[i].mesh.name);
if(changedata.id != jlmap3dedit.mapdata.signallist.list[i].mesh.name){
if(isnewmodel == true){
console.log("new");
return jlmap3dedit.assetloader.loadnewasset(jlmap3dedit,changedata,num);
}else{
console.log("old");
return jlmap3dedit.assetloader.loadoldasset(jlmap3dedit,changedata,num);
}
}else{
console.log("same");
return jlmap3dedit.selectmodel;
}

View File

@ -48,11 +48,15 @@ export function Stationaction(){
raycaster.setFromCamera( mouse, data.camera );
let intersects1;
console.log( data.mapdata.stationstandlist);
for(let i=0;i<data.mapdata.stationstandlist.group.children.length;i++){
intersects1 = raycaster.intersectObjects( data.mapdata.stationstandlist.group.children[i].children);
if(intersects1[0]){
console.log(data.mapdata.stationstandlist.group);
console.log(intersects1[0]);
console.log(data.mapdata.stationstandlist.group.children[i]);
if(intersects1[0].object.parent.code == data.mapdata.stationstandlist.group.children[i].code){
return data.mapdata.stationstandlist.group.children[i];
}

View File

@ -55,6 +55,7 @@ export function Switchaction(){
if(intersects1[0]){
if(intersects1[0].object.code == data.mapdata.sectionlist.switchs.modellist[i].code){
//console.log(intersects1[0].object.name);
return data.mapdata.sectionlist.switchs.modellist[i];
}
}

View File

@ -55,6 +55,8 @@ export function Trainaction(){
if(intersects1[0]){
if(intersects1[0].object.name == data.mapdata.trainlisttest.list[i].name){
//console.log(intersects1[0].object.name);
console.log(data.mapdata.trainlisttest.list[i]);
return data.mapdata.trainlisttest.list[i];
}
}

View File

@ -1,6 +1,7 @@
//import request from '@/utils/request';
export function initDataSave(data) {
console.log(data);
let postmap = {
id:data.mapdata.id,
mapId:data.mapdata.mapId,
@ -23,6 +24,7 @@ export function initDataSave(data) {
}else{
let models = data.assetManager;
console.log(data.assetManager);
postmap.assets = JSON.stringify(models);
@ -111,6 +113,7 @@ export function initDataSave(data) {
postmap.signals = JSON.stringify(signals);
//车站
let stands = [];
console.log(data.mapdata.stationstandlist);
if(data.mapdata.stationstandlist){
for(let i=0;i<data.mapdata.stationstandlist.list.length;i++){
let station = {

View File

@ -1,5 +1,6 @@
//import request from '@/utils/request';
export function specilDataSave(data) {
console.log(data);
let postmap = {
id:data.mapdata.id,
mapId:data.mapdata.mapId,
@ -54,6 +55,7 @@ export function specilDataSave(data) {
let models = data.assetManager;
console.log(data.assetManager);
postmap.assets = JSON.stringify(models);

View File

@ -23,11 +23,13 @@ export function testgetmodels(data) {
}else{
let models = data.assetManager;
console.log(data.assetManager);
postmap.assets = JSON.stringify(models);
//section隧道
let sections = [];
// console.log(data.mapdata.sectionlist.sections.datalist);
for(let i in data.mapdata.sectionlist.sections.datalist){
let section = {
// uuid:data.mapdata.sectionlist.sections.modellist[i].uuid,
@ -45,6 +47,7 @@ export function testgetmodels(data) {
}
let nowmesh = data.mapdata.sectionlist.sectiongroup.getObjectByProperty("code",section.code);
section.railpoint = nowmesh.railpoint;
// console.log(nowmesh.railpoint);
// if(data.mapdata.sectionlist.sections.datalist[i].rsection){
// section.rsection = data.mapdata.sectionlist.sections.datalist[i].rsection;
// }

View File

@ -27,6 +27,7 @@ export function jl3dEditorLoader(mapid,scope){
get3dMapData(editmapid).then(data => {
if(data.data ){
console.log(data);
if(data.data.assets){
// initData(editmapid,data.data.id);
loadData(editmapid,data.data);
@ -39,22 +40,26 @@ export function jl3dEditorLoader(mapid,scope){
set3dMapData(params).then(data => {
if(data.code == "200"){
//console.log("创建三维数据成功");
// console.log(data);
initData(editmapid,data.data.id);
}
}).catch(error => {
console.error(error);
console.log(error);
});
}
}).catch(error => {
console.error(error);
console.log(error);
});
function initData(mapid,data3did){
getMapDetail(mapid).then(data => {
console.log(data);
let mapdata = data.data;
//console.log(data3did);
jlmap3ddata.id = data3did;
jlmap3ddata.mapId = mapid;
@ -66,9 +71,11 @@ export function jl3dEditorLoader(mapid,scope){
jlmap3ddata.switchlist = new rSwitchList();
assetloader.assetinit(scene)
.then(function(data){
//console.log(data);
return jlmap3ddata.sectionlist.initpromise(jlmap3ddata,assetloader,mapdata.sectionList,mapdata.switchList,scene);
})
.then(function(data){
//console.log(data);
return jlmap3ddata.signallist.initpromise(jlmap3ddata,mapdata.signalList,scene,assetloader);
})
.then(function(data){
@ -76,6 +83,7 @@ export function jl3dEditorLoader(mapid,scope){
})
.then(function(data){
//console.log(data);
loadingInstance.close();
});
}else{
@ -92,12 +100,15 @@ export function jl3dEditorLoader(mapid,scope){
jlmap3ddata.raillist.setrail();
assetloader.assetinit(scene)
.then(function(data){
//console.log(data);
return jlmap3ddata.stationstandlist.initpromise(jlmap3ddata,mapdata.stationList,mapdata.stationStandList,scene,assetloader);
})
.then(function(data){
//console.log(data);
return jlmap3ddata.sectionlist.initpromise(jlmap3ddata,assetloader,mapdata.sectionList,mapdata.switchList,scene);
})
.then(function(data){
//console.log(data);
return jlmap3ddata.signallist.initpromise(jlmap3ddata,mapdata.signalList,scene,assetloader);
})
.then(function(data){
@ -105,6 +116,7 @@ export function jl3dEditorLoader(mapid,scope){
})
.then(function(data){
//console.log(data);
loadingInstance.close();
});
}
@ -139,10 +151,12 @@ export function jl3dEditorLoader(mapid,scope){
assetloader.setModelListOver(jlmap3dasset.sceneAssetList,5,jlmap3dasset.others);
assetloader.assetPromiseOver(scene)
.then(function(data){
//console.log(data);
// return jlmap3ddata.sectionlist.initpromise(jlmap3ddata,assetloader,mapdata.sectionList,mapdata.switchList,scene);
return jlmap3ddata.sectionlist.loadpromise(jlmap3ddata,assetloader,sectiondata.section,mapdata.sectionList,mapdata.switchList,scene);
})
.then(function(data){
//console.log(data);
// return jlmap3ddata.signallist.initpromise(jlmap3ddata,mapdata.signalList,scene,assetloader);
return jlmap3ddata.signallist.loadpromise(signaldata,scene,assetloader,mapdata.signalList);
})
@ -151,6 +165,7 @@ export function jl3dEditorLoader(mapid,scope){
return jlmap3ddata.switchlist.loadpromise(jlmap3ddata,switchdata,scene,assetloader);
})
.then(function(data){
//console.log(data);
loadingInstance.close();
});
}else{
@ -164,6 +179,7 @@ export function jl3dEditorLoader(mapid,scope){
jlmap3ddata.switchlist = new SwitchList();
jlmap3ddata.raillist = new RailList();
console.log(netdata);
let sectiondata = JSON.parse(netdata.sections);
let switchdata = JSON.parse(netdata.switchs);
let signaldata = JSON.parse(netdata.signals);
@ -180,10 +196,12 @@ export function jl3dEditorLoader(mapid,scope){
return jlmap3ddata.stationstandlist.loadpromise(jlmap3ddata,standsdata,mapdata.stationStandList,scene,assetloader);
})
.then(function(data){
//console.log(data);
// return jlmap3ddata.sectionlist.initpromise(jlmap3ddata,assetloader,mapdata.sectionList,mapdata.switchList,scene);
return jlmap3ddata.sectionlist.loadpromise(jlmap3ddata,assetloader,sectiondata.section,scene);
})
.then(function(data){
//console.log(data);
// return jlmap3ddata.signallist.initpromise(jlmap3ddata,mapdata.signalList,scene,assetloader);
return jlmap3ddata.signallist.loadpromise(signaldata,scene,assetloader,mapdata.signalList);
})
@ -192,6 +210,7 @@ export function jl3dEditorLoader(mapid,scope){
return jlmap3ddata.switchlist.loadpromise(jlmap3ddata,switchdata,scene,assetloader);
})
.then(function(data){
//console.log(data);
loadingInstance.close();
});
}else{
@ -203,10 +222,12 @@ export function jl3dEditorLoader(mapid,scope){
return jlmap3ddata.stationstandlist.loadpromise(jlmap3ddata,standsdata,mapdata,scene,assetloader,jlmap3dasset.others);
})
.then(function(data){
//console.log(data);
// return jlmap3ddata.sectionlist.initpromise(jlmap3ddata,assetloader,mapdata.sectionList,mapdata.switchList,scene);
return jlmap3ddata.sectionlist.loadpromise(jlmap3ddata,assetloader,sectiondata.section,mapdata.sectionList,mapdata.switchList,scene);
})
.then(function(data){
//console.log(data);
// return jlmap3ddata.signallist.initpromise(jlmap3ddata,mapdata.signalList,scene,assetloader);
return jlmap3ddata.signallist.loadpromise(signaldata,scene,assetloader,mapdata.signalList);
})
@ -215,6 +236,7 @@ export function jl3dEditorLoader(mapid,scope){
return jlmap3ddata.switchlist.loadpromise(jlmap3ddata,switchdata,scene,assetloader);
})
.then(function(data){
//console.log(data);
loadingInstance.close();
});
}

View File

@ -29,6 +29,7 @@ import { jl3dEditorLoader } from '@/jlmap3d/edit/jl3dEditorLoader';
import { Actionmanage } from '@/jlmap3d/edit/actionmanage';
export function JLmap3dEdit(dom, data, mapid) {
console.log(data);
var scope = this;
@ -143,6 +144,7 @@ export function JLmap3dEdit(dom, data, mapid) {
};
this.eventon = function(){
//console.log("on");
//raycaster交互模型点击事件
document.getElementById("testdraw").addEventListener( "mousedown", onselect, false );
//窗口自适应
@ -152,6 +154,7 @@ export function JLmap3dEdit(dom, data, mapid) {
};
this.eventoff = function(){
//console.log("off");
//raycaster交互模型点击事件
document.getElementById("testdraw").removeEventListener( "mousedown", onselect, false );
//窗口自适应
@ -160,6 +163,7 @@ export function JLmap3dEdit(dom, data, mapid) {
this.exportsection = function(){
let exporter = new THREE.OBJExporter();
console.log(scope.mapdata);
// let exportmodels = scope.mapdata.stationstandlist.group;
let exportmodels = scope.mapdata.sectionlist.sectiongroup;
// let exportmodels = scope.mapdata.stationstandlist.group;
@ -180,6 +184,7 @@ export function JLmap3dEdit(dom, data, mapid) {
this.exportsection = function(){
let exporter = new THREE.OBJExporter();
console.log(scope.mapdata);
// let exportmodels = scope.mapdata.stationstandlist.group;
let exportSectionModel = scope.mapdata.sectionlist.sectiongroup;
objDownload("section",exporter.parse( exportSectionModel ));
@ -221,6 +226,10 @@ export function JLmap3dEdit(dom, data, mapid) {
}
this.actiommode = function(changedata){
console.log(changedata);
console.log(scope.editmode);
// console.log(scope.actionmode);
// console.log(changedata);
if(changedata == "trackreplace"){
scope.editmode = "trackedit";
scope.eventon();
@ -265,6 +274,7 @@ export function JLmap3dEdit(dom, data, mapid) {
// if(scope.editmode == "pathedit"){
//
// if(scope.actionmode == "drawrail"){
// //console.log("drawrail");
// scope.selectmodel = scope.action.pathaction.drawline(scope);
// }
//
@ -295,14 +305,27 @@ export function JLmap3dEdit(dom, data, mapid) {
for(let i=0,leni=scope.mapdata.stationstandlist.list.length;i<leni;i++){
if(changeStation.code == scope.mapdata.stationstandlist.list[i].code){
let changeData = scope.mapdata.stationstandlist.list[i];
console.log(changeData);
let topStandTrack = scope.mapdata.sectionlist.sections.datalist[changeData.stands[0].section];
let downStandTrack = scope.mapdata.sectionlist.sections.datalist[changeData.stands[changeData.stands.length-1].section];
console.log(scope.mapdata.sectionlist.sections);
console.log(topStandTrack.mesh.railpoint[0].x);
console.log(topStandTrack.mesh.railpoint[2].x);
console.log(downStandTrack.mesh.railpoint[0].x);
console.log(downStandTrack.mesh.railpoint[2].x);
let rightpos = topStandTrack.leftStopPercent*(topStandTrack.mesh.railpoint[2].x -topStandTrack.mesh.railpoint[0].x)+topStandTrack.mesh.railpoint[0].x;
let leftpos = downStandTrack.rightStopPercent*(downStandTrack.mesh.railpoint[2].x -downStandTrack.mesh.railpoint[0].x)+downStandTrack.mesh.railpoint[0].x;
let rightX = changeData.mesh.position.x-63.4 - rightpos;
let leftX = changeData.mesh.position.x+63.4 - leftpos;
console.log("----------------------------");
console.log(rightpos);
console.log(leftpos);
console.log("----------------------------");
console.log(rightX);
console.log(leftX);
topStandTrack.mesh.position.x = topStandTrack.mesh.position.z + rightX;
downStandTrack.mesh.position.x = downStandTrack.mesh.position.x + leftX;
//
@ -344,6 +367,9 @@ export function JLmap3dEdit(dom, data, mapid) {
plane2.rotation.y = Math.PI/2;
let leftpos = scope.mapdata.sectionlist.sections.datalist[k].leftStopPercent*(scope.mapdata.sectionlist.sections.datalist[k].railpoint[2].x -scope.mapdata.sectionlist.sections.datalist[k].railpoint[0].x)+scope.mapdata.sectionlist.sections.datalist[k].railpoint[0].x;
let rightpos = scope.mapdata.sectionlist.sections.datalist[k].rightStopPercent*(scope.mapdata.sectionlist.sections.datalist[k].railpoint[2].x -scope.mapdata.sectionlist.sections.datalist[k].railpoint[0].x)+scope.mapdata.sectionlist.sections.datalist[k].railpoint[0].x;
// console.log("==========");
// console.log(scope.mapdata.sectionlist.sections.datalist[k].leftStopPercent);
// console.log(scope.mapdata.sectionlist.sections.datalist[k].rightStopPercent);
plane1.position.set(leftpos,scope.mapdata.sectionlist.sections.datalist[k].railpoint[1].y,scope.mapdata.sectionlist.sections.datalist[k].railpoint[1].z);
plane2.position.set(rightpos,scope.mapdata.sectionlist.sections.datalist[k].railpoint[1].y,scope.mapdata.sectionlist.sections.datalist[k].railpoint[1].z);
stationStopGroup.add(plane1);
@ -367,6 +393,8 @@ export function JLmap3dEdit(dom, data, mapid) {
//自动匹配轨道信号灯道岔
this.autoss = function(){
console.log("autoss");
// console.log(scope.mapdata);
scope.mapdata.signallist.resetsignal(scope.mapdata);
scope.mapdata.switchlist.resetswitch(scope.mapdata);
//old
@ -466,6 +494,8 @@ export function JLmap3dEdit(dom, data, mapid) {
newpointlist.push(new THREE.Vector3(alignmentModel.railpoint[1].x,alignmentModel.railpoint[0].y,alignmentModel.railpoint[0].z+0.001));
newpointlist.push(new THREE.Vector3(alignmentModel.railpoint[2].x,alignmentModel.railpoint[0].y,alignmentModel.railpoint[0].z));
// console.log(oldobject);
let newSection = reCreatSection(newpointlist,oldobject);
newSection.meshtype = "section";
scope.mapdata.sectionlist.sections.datalist[alignmentCode].mesh = newSection;
@ -539,6 +569,8 @@ export function JLmap3dEdit(dom, data, mapid) {
//三维交互点击事件函数
function onselect(event) {
//console.log("select");
//console.log("select");
if(scope.selectswitch == true){
scope.transcontrol.detach();
@ -561,6 +593,7 @@ export function JLmap3dEdit(dom, data, mapid) {
}
if(scope.editmode == "stationedit"){
console.log("stat!!!!!!!!!!!!");
scope.selectmodel = scope.action.stationaction.raycaster(scope);
}
@ -574,9 +607,11 @@ export function JLmap3dEdit(dom, data, mapid) {
if(scope.editmode == "pathedit"){
scope.selectmodel = scope.action.pathaction.raycaster(scope);
//console.log(scope.selectmodel);
}
if(scope.selectmodel != null){
//console.log(scope.selectmodel.rotation);
if(scalControls.scalon){
}else{

View File

@ -36,6 +36,7 @@ export function rSectionList() {
if(sectiondata[i].type == "01" || sectiondata[i].type == "03"){
//初始化区段对象数据
let newsection = new SectionModel(sectiondata[i]);
// console.log(sectiondata[i]);
newsection.name = sectiondata[i].name;
newsection.code = sectiondata[i].code;
newsection.index = i;
@ -48,6 +49,7 @@ export function rSectionList() {
newsection.points = sectiondata[i].points;
newsection.pointslength = sectiondata[i].points.length-1;
newsection.railpoint = [];
// console.log(sectiondata[i].points.length);
newsection.standTrack = sectiondata[i].standTrack;
newsection.endbuild = false;
@ -72,6 +74,7 @@ export function rSectionList() {
let acode = switchdata[i].sectionACode;
let bcode = switchdata[i].sectionBCode;
let ccode = switchdata[i].sectionCCode;
// console.log(switchdata[i]);
let aposx = (scope.sections.datalist[acode].points[0].x + scope.sections.datalist[acode].points[scope.sections.datalist[acode].pointslength].x)/2;
@ -80,6 +83,7 @@ export function rSectionList() {
let aposy = (scope.sections.datalist[acode].points[0].y + scope.sections.datalist[acode].points[scope.sections.datalist[acode].pointslength].y)/2;
let cposy = (scope.sections.datalist[ccode].points[0].y + scope.sections.datalist[ccode].points[scope.sections.datalist[ccode].pointslength].y)/2;
// console.log("----------------");
if(aposx > cposx){
if(aposy < cposy){
// ——A
@ -153,6 +157,8 @@ export function rSectionList() {
y:0,
z:0
});
console.log(scope.sections.datalist);
console.log("START BUILD !!!!!!!!!!!!!!!!!");
buildsectionall(scope.sections.datalist["T1"]);
resolve("loadersection");
});
@ -240,7 +246,12 @@ export function rSectionList() {
y:0,
z:position.z
};
// console.log(origin+"******************************");
// console.log(start);
// console.log(origin);
if(scope.sections.datalist[start].standTrack == true && start != origin){
// console.log(start+"到达");
// console.log("++++++++++++++++++++++++");
return ;
}else if(scope.sections.datalist[start].rsection == undefined){
return ;
@ -409,7 +420,11 @@ export function rSectionList() {
];
}
// console.log(data.ctype);
if(type == "cross"){
// console.log(data.ctype);
// console.log(scope.sections.datalist[data.code].points.length);
// console.log(scope.sections.datalist[data.code]);
if(data.ctype == "1"||data.ctype == "2" ){
@ -754,13 +769,16 @@ export function rSectionList() {
let acode = switch2d[i].sectionACode;
let bcode = switch2d[i].sectionBCode;
let ccode = switch2d[i].sectionCCode;
// console.log(switchdata[i]);
// console.log(scope.sections.datalist[acode]);
let aposx = (scope.sections.datalist[acode].points[0].x + scope.sections.datalist[acode].points[scope.sections.datalist[acode].pointslength].x)/2;
let cposx = (scope.sections.datalist[ccode].points[0].x + scope.sections.datalist[ccode].points[scope.sections.datalist[ccode].pointslength].x)/2;
let aposy = (scope.sections.datalist[acode].points[0].y + scope.sections.datalist[acode].points[scope.sections.datalist[acode].pointslength].y)/2;
let cposy = (scope.sections.datalist[ccode].points[0].y + scope.sections.datalist[ccode].points[scope.sections.datalist[ccode].pointslength].y)/2;
// console.log("----------------");
if(aposx > cposx){
if(aposy < cposy){
// ——A

View File

@ -13,6 +13,7 @@ export function rSignalList() {
this.initpromise = function(jlmap3ddata,data,scene,assetloader,netdata){
return new Promise(function(resolve, reject){
scope.group.name = "signal";
// console.log(data);
//遍历信号数据
let netsignal = null;
let haddata = false;
@ -31,6 +32,7 @@ export function rSignalList() {
if(data[i].virtual == false){
let newsignal = new SignalModel(data[i]);
if(haddata == false){
// console.log(data[i])
let newmesh = assetloader.modellist[num].mesh.clone(true);
newmesh.name = data[i].name;
@ -152,6 +154,7 @@ export function rSignalList() {
if(data[n].virtual == false){
let newsignal = new SignalModel(signaldata[i]);
// console.log(signaldata[i]);
let newmesh = assetloader.modellist[num].mesh.clone(true);
newmesh.sectionCode = data[n].sectionCode;
newmesh.sectionOffset = data[n].sectionOffset;
@ -188,6 +191,7 @@ export function rSignalList() {
});
};
this.resetsignal = function(jlmap3ddata){
// console.log(jlmap3ddata.linksgroup);
let sectiondata = jlmap3ddata.sectionlist.sectiongroup.children;
for(let i=0;i<scope.group.children.length;i++){
let signaldata = scope.group.children[i];
@ -196,6 +200,7 @@ export function rSignalList() {
if(sectiondata[j].code == signaldata.sectionCode){
let section = sectiondata[j];
let posx = null;
// console.log(section);
posx = section.railpoint[0].x + signaldata.sectionOffset;

View File

@ -14,9 +14,11 @@ export function rSwitchList() {
};
this.initpromise = function(jlmap3ddata,data,scene,assetloader,netdata){
// console.log(jlmap3ddata);
return new Promise(function(resolve, reject){
scene.add( scope.switchgroup );
let sectiondata = jlmap3ddata.sectionlist.sections.datalist;
// console.log(sectiondata);
let num;
for(let j=0;j<assetloader.modellist.length;j++){
if(assetloader.modellist[j].deviceType == "autoswitch"){
@ -56,6 +58,7 @@ export function rSwitchList() {
return new Promise(function(resolve, reject){
scene.add( scope.switchgroup );
// let sectiondata = jlmap3ddata.sectionlist.sections.datalist;
// console.log(sectiondata);
let num;
for(let j=0;j<assetloader.modellist.length;j++){
if(assetloader.modellist[j].type == "switch"){
@ -67,6 +70,7 @@ export function rSwitchList() {
}
};
for(let i=0,leni = switchdata.length;i<leni;i++){
// console.log(switchdata[i]);
let newswitch = {
code:switchdata[i].code,
name:switchdata[i].name,
@ -75,6 +79,7 @@ export function rSwitchList() {
pc:switchdata[i].pc
};
// console.log(newswitch.pa);
let autoswitch = assetloader.modellist[num].mesh.clone(true);
autoswitch.code = switchdata[i].code;
for(let j=0;j<autoswitch.children.length;j++){
@ -96,6 +101,7 @@ export function rSwitchList() {
}
this.resetswitch = function(data){
// console.log("reset");
let sectiondata = data.sectionlist.sectiongroup;
for(let i=0;i<scope.switchs.datalist.length;i++){

View File

@ -61,7 +61,12 @@ export function RailList(){
x:circle1.position.x,
z:circle1.position.z
}];
// console.log(i);
// console.log(section[i].mesh);
// console.log(mapdata.sectionlist.sections.datalist[i].rail);
// console.log("=======================");
}
// console.log(n);
// for(let i=0;i<mapdata.switchlist.switchgroup.children.length;i++){
// var geometry = new THREE.CircleBufferGeometry( 1, 16 );
// var material = new THREE.MeshBasicMaterial( { color: 0xff00ff } );

View File

@ -36,6 +36,7 @@ export function SectionList() {
if(sectiondata[i].type == "01" || sectiondata[i].type == "03"){
//初始化区段对象数据
let newsection = new SectionModel(sectiondata[i]);
// console.log(sectiondata[i]);
newsection.name = sectiondata[i].name;
newsection.code = sectiondata[i].code;
newsection.index = i;
@ -48,6 +49,7 @@ export function SectionList() {
newsection.points = sectiondata[i].points;
newsection.pointslength = sectiondata[i].points.length-1;
newsection.railpoint = [];
// console.log(sectiondata[i].points.length);
newsection.standTrack = sectiondata[i].standTrack;
newsection.endbuild = false;
@ -95,6 +97,7 @@ export function SectionList() {
let acode = switchdata[i].sectionACode;
let bcode = switchdata[i].sectionBCode;
let ccode = switchdata[i].sectionCCode;
// console.log(switchdata[i]);
let aposx = (scope.sections.datalist[acode].points[0].x + scope.sections.datalist[acode].points[scope.sections.datalist[acode].pointslength].x)/2;
@ -103,6 +106,7 @@ export function SectionList() {
let aposy = (scope.sections.datalist[acode].points[0].y + scope.sections.datalist[acode].points[scope.sections.datalist[acode].pointslength].y)/2;
let cposy = (scope.sections.datalist[ccode].points[0].y + scope.sections.datalist[ccode].points[scope.sections.datalist[ccode].pointslength].y)/2;
// console.log("----------------");
if(aposx > cposx){
if(aposy < cposy){
// ——A
@ -171,6 +175,7 @@ export function SectionList() {
reals:[],
posx:null,
};
// console.log(stationlist[i]);
// realstopsection.stands.push();
for(let n=0,lenn = stationlist[i].stands.length;n<lenn;n++){
@ -379,6 +384,7 @@ export function SectionList() {
}
//根据站台区段创建站台位置 120停车点距离
for(let j=0,lenj=stations.length;j<lenj;j++){
// console.log(j);
let direction1 = scope.sections.datalist[stations[j].stands[0].section];
let direction2 = scope.sections.datalist[stations[j].stands[1].section];
@ -398,6 +404,7 @@ export function SectionList() {
}
// scope.sections.datalist[stations[0].stands[0].section].endbuild = true;
console.log("START BUILD !!!!!!!!!!!!!!!!!");
buildsectionall(scope.sections.datalist[stations[0].stands[0].section]);
resolve("loadersection");
});
@ -485,7 +492,12 @@ export function SectionList() {
y:0,
z:position.z
};
// console.log(origin+"******************************");
// console.log(start);
// console.log(origin);
if(scope.sections.datalist[start].standTrack == true && start != origin){
// console.log(start+"到达");
// console.log("++++++++++++++++++++++++");
return ;
}else if(scope.sections.datalist[start].rsection == undefined){
return ;
@ -654,7 +666,11 @@ export function SectionList() {
];
}
// console.log(data.ctype);
if(type == "cross"){
// console.log(data.ctype);
// console.log(scope.sections.datalist[data.code].points.length);
// console.log(scope.sections.datalist[data.code]);
if(data.ctype == "1"||data.ctype == "2" ){
@ -999,13 +1015,16 @@ export function SectionList() {
let acode = switch2d[i].sectionACode;
let bcode = switch2d[i].sectionBCode;
let ccode = switch2d[i].sectionCCode;
// console.log(switchdata[i]);
// console.log(scope.sections.datalist[acode]);
let aposx = (scope.sections.datalist[acode].points[0].x + scope.sections.datalist[acode].points[scope.sections.datalist[acode].pointslength].x)/2;
let cposx = (scope.sections.datalist[ccode].points[0].x + scope.sections.datalist[ccode].points[scope.sections.datalist[ccode].pointslength].x)/2;
let aposy = (scope.sections.datalist[acode].points[0].y + scope.sections.datalist[acode].points[scope.sections.datalist[acode].pointslength].y)/2;
let cposy = (scope.sections.datalist[ccode].points[0].y + scope.sections.datalist[ccode].points[scope.sections.datalist[ccode].pointslength].y)/2;
// console.log("----------------");
if(aposx > cposx){
if(aposy < cposy){
// ——A

View File

@ -13,6 +13,7 @@ export function SignalList() {
this.initpromise = function(jlmap3ddata,data,scene,assetloader,netdata){
return new Promise(function(resolve, reject){
scope.group.name = "signal";
// console.log(data);
//遍历信号数据
let netsignal = null;
let haddata = false;
@ -31,6 +32,7 @@ export function SignalList() {
if(data[i].virtual == false){
let newsignal = new SignalModel(data[i]);
if(haddata == false){
// console.log(data[i])
let newmesh = assetloader.modellist[num].mesh.clone(true);
newmesh.name = data[i].name;
@ -152,6 +154,7 @@ export function SignalList() {
if(data[n].virtual == false){
let newsignal = new SignalModel(signaldata[i]);
// console.log(signaldata[i]);
let newmesh = assetloader.modellist[num].mesh.clone(true);
newmesh.sectionCode = data[n].sectionCode;
newmesh.sectionOffset = data[n].sectionOffset;
@ -188,6 +191,7 @@ export function SignalList() {
});
};
this.resetsignal = function(jlmap3ddata){
// console.log(jlmap3ddata.linksgroup);
let sectiondata = jlmap3ddata.sectionlist.sectiongroup.children;
for(let i=0;i<scope.group.children.length;i++){
let signaldata = scope.group.children[i];
@ -196,6 +200,7 @@ export function SignalList() {
if(sectiondata[j].code == signaldata.sectionCode){
let section = sectiondata[j];
let posx = null;
// console.log(section);
posx = section.railpoint[0].x + signaldata.sectionOffset;

View File

@ -83,14 +83,18 @@ export function StationStandList() {
}
}
console.log(scope.list);
resolve("loadedstation");
});
}
this.loadpromise = function(jlmap3ddata,standsdata,jlmapdata,scene,assetloader,otherStation){
return new Promise(function(resolve, reject){
// console.log(jlmap3ddata);
let jlmapstationdata = jlmapdata.stationList;
let jlmapstanddata = jlmapdata.stationStandList;
// jlmapstationdata.splice(0,1);
console.log(standsdata);
console.log(jlmapstationdata);
// for(let i=0;i<jlmapstationdata.length;i++){// || jlmapstationdata[i].subheadDisplay == false
// if(jlmapstationdata[i].visible == false){
// jlmapstationdata.splice(i,1);
@ -99,19 +103,30 @@ export function StationStandList() {
// standsdata[i].code = jlmapstationdata[i].code;
// standsdata[i].name = jlmapstationdata[i].name;
// }
// // console.log(jlmapstationdata[i].subheadDisplay);
// }
// console.log(jlmapstationdata);
console.log(standsdata);
//
// console.log(jlmapstationdata);
//
// console.log(standsdata);
// console.log(jlmapstationdata);
for(let i=0;i<jlmapstationdata.length;i++){
if(jlmapstationdata[i].visible == false || jlmapstationdata[i].depot == true){
jlmapstationdata.splice(i,1);
i--;
}else{
// console.log(jlmapstationdata[i]);
// console.log(standsdata[i]);
standsdata[i].code = jlmapstationdata[i].code;
standsdata[i].name = jlmapstationdata[i].name;
}
}
// console.log(otherStation);
// console.log(standsdata);
// console.log(assetloader.modellist);
let stations = jlmap3ddata.stationstandlist.list;
let num;
let num2;
@ -139,6 +154,9 @@ export function StationStandList() {
num3 = j;
}
}
// console.log("+++++++++++++");
// console.log(jlmapstanddata);
// console.log(standsdata);
for(let i=0;i<standsdata.length;i++){
let newstationstand = new StationStandModel(standsdata[i]);
let newstationmesh;
@ -168,6 +186,7 @@ export function StationStandList() {
newstationstand.name = standsdata[i].name;
newstationstand.inside = standsdata[i].inside;
// console.log(standsdata[i]);
newstationmesh.code = standsdata[i].code;
newstationmesh.name = standsdata[i].name;
newstationmesh.meshtype = "station";
@ -192,11 +211,13 @@ export function StationStandList() {
}else{
newstationmesh = assetloader.modellist[num2].mesh.clone(true);
}
// console.log(jlmapstanddata[j]);
newstationstand.code = standsdata[i].code;
newstationstand.name = standsdata[i].name;
newstationstand.inside = standsdata[i].inside;
// console.log(standsdata[i]);
newstationmesh.code = standsdata[i].code;
newstationmesh.name = standsdata[i].name;
newstationmesh.meshtype = "station";
@ -211,9 +232,11 @@ export function StationStandList() {
scope.list.push(newstationstand);
}else{
newstationmesh = assetloader.modellist[num3].mesh.clone(true);
// console.log(jlmapstanddata[j]);
newstationstand.code = standsdata[i].code;
newstationstand.name = standsdata[i].name;
newstationstand.inside = standsdata[i].inside;
// console.log(standsdata[i]);
newstationmesh.code = standsdata[i].code;
newstationmesh.name = standsdata[i].name;
newstationmesh.position.x = standsdata[i].position.x;

View File

@ -14,9 +14,11 @@ export function SwitchList() {
};
this.initpromise = function(jlmap3ddata,data,scene,assetloader,netdata){
// console.log(jlmap3ddata);
return new Promise(function(resolve, reject){
scene.add( scope.switchgroup );
let sectiondata = jlmap3ddata.sectionlist.sections.datalist;
// console.log(sectiondata);
let num;
for(let j=0;j<assetloader.modellist.length;j++){
if(assetloader.modellist[j].deviceType == "autoswitch"){
@ -56,6 +58,7 @@ export function SwitchList() {
return new Promise(function(resolve, reject){
scene.add( scope.switchgroup );
// let sectiondata = jlmap3ddata.sectionlist.sections.datalist;
// console.log(sectiondata);
let num;
for(let j=0;j<assetloader.modellist.length;j++){
if(assetloader.modellist[j].type == "switch"){
@ -67,6 +70,7 @@ export function SwitchList() {
}
};
for(let i=0,leni = switchdata.length;i<leni;i++){
// console.log(switchdata[i]);
let newswitch = {
code:switchdata[i].code,
name:switchdata[i].name,
@ -75,6 +79,7 @@ export function SwitchList() {
pc:switchdata[i].pc
};
// console.log(newswitch.pa);
let autoswitch = assetloader.modellist[num].mesh.clone(true);
autoswitch.code = switchdata[i].code;
for(let j=0;j<autoswitch.children.length;j++){
@ -96,6 +101,7 @@ export function SwitchList() {
}
this.resetswitch = function(data){
// console.log("reset");
let sectiondata = data.sectionlist.sectiongroup;
for(let i=0;i<scope.switchs.datalist.length;i++){

View File

@ -76,6 +76,7 @@ let onProgress = function ( xhr ) {
if ( xhr.lengthComputable ) {
let percentComplete = xhr.loaded / xhr.total * 100;
//console.log( Math.round( percentComplete, 2 ) + '% downloaded' );
}

View File

@ -46,6 +46,7 @@ export function SetObj(data,scope) {
if(data.sectionList[i].type == "01"){
if(data.sectionList[i].points.length>=3){
console.log(data.sectionList[i]);
for(let j=1;j<data.sectionList[i].points.length;j++){
point1 = data.sectionList[i].points[j-1];
@ -202,5 +203,7 @@ export function SetObj(data,scope) {
group.add(object);
}
console.log("setobj");
scope.exportmodel = group;
console.log(group);
}

View File

@ -15,12 +15,17 @@
var intersects4 = raycaster4.intersectObjects( helppoints[i] );
//// //console.log(raycaster1);
if(intersects1[0] != undefined){
// // //console.log("intersects1");
// // //console.log(intersects1[0]);
intersects1[0].name = "1";
mindistance = intersects1[0].distance;
result = intersects1[0];
}
if(intersects2[0] != undefined){
// // //console.log("intersects2");
// // //console.log(mindistance);
intersects2[0].name = "2";
if(mindistance == undefined){
mindistance = intersects2[0].distance;
@ -33,6 +38,8 @@
}
if(intersects3[0] != undefined){
// // //console.log("intersects3");
// // //console.log(mindistance);
intersects3[0].name = "3";
if(mindistance == undefined){
mindistance = intersects3[0].distance;
@ -43,6 +50,8 @@
}
}
if(intersects4[0] != undefined){
// // //console.log("intersects4");
// // //console.log(mindistance);
intersects4[0].name = "4";
if(mindistance == undefined){
mindistance = intersects4[0].distance;

View File

@ -485,6 +485,7 @@ export function Moveanimate(main){
}
}else{
// console.log(scope.animatelist[k].connectmodel);
if(scope.nowmodelname != scope.playlist[scope.playorder][i].connectmodel.name){
scope.nowmodelname = scope.playlist[scope.playorder][i].connectmodel.name;
main.animationmsgshowon(scope.playlist[scope.playorder][i].connectmodel);

View File

@ -10,6 +10,7 @@ export function Textconfig(){
if(scope.devicelist.length>0){
scope.devicelist = [];
}
console.log(selectmodel.deviceType);
if(selectmodel.deviceType == "DeviceSwitch"){
initSwitchText(selectmodel);
}
@ -91,6 +92,9 @@ export function Textconfig(){
}
// if(part.text == null){
// console.log(selectmodel.children[i].name);
// }
if(part.text){
scope.devicelist.push(part);
}
@ -188,6 +192,9 @@ export function Textconfig(){
part.msg = "用于机内外电缆连接,方便更换转辙机。";
selectmodel.children[i].text = "二十位插接件";
}
// if(part.text == null){
// console.log(selectmodel.children[i].name);
// }
if(part.text){
scope.devicelist.push(part);
}

View File

@ -143,8 +143,11 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
stationList.push(mapnetdata.stationList[i]);
}
}
// console.log(mapnetdata.stationList);
for(let k in psdVoiceStationList){
for(let i=0,leni=stationList.length;i<leni;i++){
// console.log("---------------");
// console.log("---------------");
if(psdVoiceStationList[k].stationCode == stationList[i].code){
psdVoiceStationList[k].nowStationName = stationList[i].name;
@ -291,6 +294,7 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
for (let i = 0; i < scope.mixers.length; i++) {
if (scope.mixers[i]) {
if( scope.mixers[i].staticType){
// console.log(scope.mixers[i].time);
if(scope.mixers[i]._actions[0].time<stopTime){
scope.mixers[i].update(delta);
}else{
@ -339,7 +343,11 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
scope.raycasterstatus = false;
scope.nowobject = null;
updatemenulist();
if(data._type == "Station"){
console.log(data);
}
if (data._type == "Switch") {
// scope.modelmanager.switchmodel.locateType = data.body.locateType;
scope.modelmanager.switchmodel.code = data.code;
@ -485,6 +493,8 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
this.changeAnimate = function(type){
//
console.log(type);
// console.log(scope.modelmanager.staticswitchmodel);
// scope.modelmanager.staticswitchmodel.action["2kai"].reset();
// scope.modelmanager.staticswitchmodel.action["5jiasuo"].reset();
@ -510,6 +520,7 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
stopTime = 3.33;
scope.modelmanager.staticswitchmodel.action.play();
console.log(scope.mixers);
}
if(type == "action2"){
scope.camera.position.x = -7.23;
@ -573,6 +584,8 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
scope.camera.position.y = 22.56;
scope.camera.position.z = -1.348;
scope.controls.target = new THREE.Vector3(-2.15,10,-1.348);
// console.log(scope.camera.position);
// console.log(scope.controls.target);
scope.modelmanager.staticswitchmodel.action.reset();
scope.modelmanager.staticswitchmodel.action.time = 23.36;
stopTime = 26.66;

View File

@ -93,6 +93,7 @@ export function ModelManager(){
Promise.all(initlist).then((result) => {
resolve("success"); //['成功了', 'success']
}).catch((error) => {
//console.log(error);
});
});

View File

@ -156,6 +156,7 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj
getPublishMapDetail(mapId).then(data => {
let mapnetdata = data.data;
getPublish3dMapDetail(mapId).then(netdata => {
// console.log(netdata);
let assetsdata = JSON.parse(netdata.data.sections);
scope.datatype = "new";
@ -270,6 +271,7 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj
};
updatemmi.updatedrivingcode = function(code) {
// console.log(trainlisttest);
drivingcode = code;
trainlisttest.group.children[0].children[0].add(controls3.getObject());
controls3.getObject().position.x = 10;
@ -311,6 +313,7 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj
if(driverWebWorker){
driverWebWorker.terminate();
}
// console.log(scope);
// scope = null;
};
@ -383,6 +386,7 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj
realsectionlist = loadrealsectionlist;
rails = loadrails;
console.log(trainlisttest);
trainlisttest.group.children[0].getObjectByName("C6").add(cameracctv);
}
@ -397,6 +401,7 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj
};
this.eventoff = function() {
// console.log("off");
// raycaster交互模型点击事件
document.getElementById('jlsimulation').removeEventListener( 'mousedown', onselect, false );
// 窗口自适应
@ -415,6 +420,7 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj
camera.position.z = mesh.children[0].position.z;
// controls.target = new THREE.Vector3(mesh.position.x,0,mesh.children[0].position.z);
}
// console.log(mesh);
if (type == 'station') {
camera.position.x = mesh.position.x;
camera.position.y = mesh.position.y+800;
@ -487,6 +493,7 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj
}
if (scope.raycasterswitch == 'section') {
// console.log(sectionlist.sections.modellist);
let intersects = raycaster.intersectObjects( sectionlist.sections.modellist, true);
if (intersects[0]) {

View File

@ -81,6 +81,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
}
if(data.type == "DeviceCtrl_3D"){
// console.log(data);
if (data.body.type== 'SIGNAL' && signallist) {
signalupdate(data.body);
return;
@ -200,6 +201,8 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
}
this.updatamap = function(newsectionlist,newlinklist,newsignallist,newstationstandlist,newtrainlisttest,newrealsectionlist,newrails,newtdt, materiallist, nowaction, scene) {
// console.log(mapdata);
// console.log(newtrainlisttest);
trainmodel = newtrainlisttest.group.children[0];
trainlisttest = newtrainlisttest;
sectionlist = newsectionlist;
@ -219,6 +222,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
this.socketon = function(topic) {
try {
// console.log("teststomp");
// scope.teststomp.subscribe(topic, callback, header);
} catch (error) {
console.error('websocket订阅失败');
@ -251,11 +255,13 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
// 仿真socket接口回调函数
function callback(Response) {
// console.log(Response);
// 对象化数据
let data = JSON.parse(Response.body);
// stats.update();
// 遍历后台数据
// console.log(data);
if(data.type == "Train_Position"){
nowTrainRun(data.body);
@ -300,6 +306,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
}
function DeviceDestroy(data){
// console.log(data);
for(let i=0,leni=data.length;i<leni;i++){
if(data[i].type == "SIGNAL"){
@ -352,6 +359,10 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
}
function otherTrainUpdate(data,updateTrainModel){
// console.log(data);
// if(data.code = "336"){
// console.log(data);
// }
if(rails.sectionrail[data.section]){
if(data.section != updateTrainModel.nowsection){
updateTrainModel.nowsection = data.section;
@ -407,6 +418,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
// if(updateTrainModel.children[1].rotalist.length > 0 || updateTrainModel.children[2].rotalist.length > 0 || updateTrainModel.children[3].rotalist.length > 0 || updateTrainModel.children[4].rotalist.length > 0|| updateTrainModel.children[5].rotalist.length > 0){
for(let rs = 1;rs<updateTrainModel.children.length;rs++){
//console.log(rs);
if(updateTrainModel.children[rs].rotalist[0]){
let offsetz = parseFloat(updateTrainModel.children[rs].rotalist[0].posr.z) + parseFloat(updateTrainModel.children[rs].position.z);
@ -429,11 +441,13 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
xh = updateTrainModel.children[rs].rotalist.length;
}
}
//console.log(trainmodel.children[rs].rotalist.length);
}
}
// console.log(trainmodel.rotalist);
// }
}else{
@ -479,6 +493,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
// if(updateTrainModel.children[1].rotalist.length > 0 || updateTrainModel.children[2].rotalist.length > 0 || updateTrainModel.children[3].rotalist.length > 0 || updateTrainModel.children[4].rotalist.length > 0|| updateTrainModel.children[5].rotalist.length > 0){
for(let rs = 1;rs<updateTrainModel.children.length;rs++){
//console.log(rs);
if(updateTrainModel.children[rs].rotalist[0]){
let offsetz = parseFloat(updateTrainModel.children[rs].rotalist[0].posr.z) - parseFloat(updateTrainModel.children[rs].matrixWorld.elements[14]);
@ -643,6 +658,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
if(trainmodel.children[1].rotalist.length > 0 || trainmodel.children[2].rotalist.length > 0 || trainmodel.children[3].rotalist.length > 0 || trainmodel.children[4].rotalist.length > 0|| trainmodel.children[5].rotalist.length > 0){
for(let rs = 1;rs<trainmodel.children.length;rs++){
//console.log(rs);
if(trainmodel.children[rs].rotalist[0]){
let offsetz = parseFloat(trainmodel.children[rs].rotalist[0].posr.z) + parseFloat(trainmodel.children[rs].position.z);
@ -669,10 +685,13 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
xh = trainmodel.children[rs].rotalist.length;
}
}
//console.log(trainmodel.children[rs].rotalist.length);
}
}
// console.log(trainmodel.rotalist);
}
}else{
@ -749,6 +768,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
if(trainmodel.children[1].rotalist.length > 0 || trainmodel.children[2].rotalist.length > 0 || trainmodel.children[3].rotalist.length > 0 || trainmodel.children[4].rotalist.length > 0|| trainmodel.children[5].rotalist.length > 0){
for(let rs = 1;rs<trainmodel.children.length;rs++){
//console.log(rs);
if(trainmodel.children[rs].rotalist[0]){
let offsetz = parseFloat(trainmodel.children[rs].rotalist[0].posr.z) - parseFloat(trainmodel.children[rs].matrixWorld.elements[14]);
trainmodel.children[rs].position.z += offsetz;
@ -774,6 +794,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
xh = trainmodel.children[rs].rotalist.length;
}
}
//console.log(trainmodel.children[rs].rotalist.length);
}
}
}
@ -796,6 +817,10 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
function traindoorupdate(data){
// console.log(data);
// console.log("direct:"+trainmodel.right);
// console.log(trainmodel.openleft);
// console.log(trainmodel.openright);
if(trainmodel.code == data.trainCode){
if(trainmodel.right == "0"){
if(data.code == "2"){

View File

@ -4,9 +4,11 @@ export function UpdateTrain(camera,traindata,control){
if(traindata != undefined && traindata.group.children[0]){//traindata.group.children[0].dispose == false
if(traindata.group.children[0].progress != null){
// console.log(traindata.group);
let trainmodel = traindata.group.children[0];
if(trainmodel.speeds > 0 && trainmodel.speeds){
let speed = null;
// console.log(traindata.group.children[0].progress);
if(traindata.group.children[0].progress >=0&&traindata.group.children[0].progress<=1){
let movecurve = trainmodel.curve;
@ -42,6 +44,7 @@ export function UpdateTrain(camera,traindata,control){
if(trainmodel.children[1].rotalist.length > 0 || trainmodel.children[2].rotalist.length > 0 || trainmodel.children[3].rotalist.length > 0 || trainmodel.children[4].rotalist.length > 0|| trainmodel.children[5].rotalist.length > 0){
for(let rs = 1;rs<6;rs++){
//console.log(rs);
if(trainmodel.children[rs].rotalist[0]){
let offsetz = parseFloat(trainmodel.children[rs].matrixWorld.elements[14]) - parseFloat(trainmodel.children[rs].rotalist[0].posr.z);
@ -63,6 +66,7 @@ export function UpdateTrain(camera,traindata,control){
xh = trainmodel.children[rs].rotalist.length;
}
}
//console.log(trainmodel.children[rs].rotalist.length);
}
}
}
@ -99,6 +103,7 @@ export function UpdateTrain(camera,traindata,control){
if(trainmodel.children[1].rotalist.length > 0 || trainmodel.children[2].rotalist.length > 0 || trainmodel.children[3].rotalist.length > 0 || trainmodel.children[4].rotalist.length > 0|| trainmodel.children[5].rotalist.length > 0){
for(let rs = 1;rs<6;rs++){
//console.log(rs);
if(trainmodel.children[rs].rotalist[0]){
let offsetz = parseFloat(trainmodel.children[rs].rotalist[0].posr.z) - parseFloat(trainmodel.children[rs].matrixWorld.elements[14]);
@ -121,10 +126,13 @@ export function UpdateTrain(camera,traindata,control){
xh = trainmodel.children[rs].rotalist.length;
}
}
//console.log(trainmodel.children[rs].rotalist.length);
}
}
// console.log(trainmodel.rotalist);
}
trainmodel.progress += trainmodel.speeds;
}
@ -144,6 +152,9 @@ export function UpdateTrain(camera,traindata,control){
trainmodel.nextcode = null;
}
// console.log(trainmodel.name);
// console.log(trainmodel.progress);
// console.log(trainmodel.nextcurve);
// if(trainmodel.status == "02"){
// trainmodel.progress = 0;
// }else if(trainmodel.status == "03"){
@ -186,6 +197,7 @@ export function UpdateTrain(camera,traindata,control){
if(trainmodel.children[1].rotalist.length > 0 || trainmodel.children[2].rotalist.length > 0 || trainmodel.children[3].rotalist.length > 0 || trainmodel.children[4].rotalist.length > 0|| trainmodel.children[5].rotalist.length > 0){
for(let rs = 1;rs<6;rs++){
//console.log(rs);
if(trainmodel.children[rs].rotalist[0]){
let offsetz = parseFloat(trainmodel.children[rs].matrixWorld.elements[14]) - parseFloat(trainmodel.children[rs].rotalist[0].posr.z);
@ -207,6 +219,7 @@ export function UpdateTrain(camera,traindata,control){
xh = trainmodel.children[rs].rotalist.length;
}
}
//console.log(trainmodel.children[rs].rotalist.length);
}
}
}
@ -243,6 +256,7 @@ export function UpdateTrain(camera,traindata,control){
if(trainmodel.children[1].rotalist.length > 0 || trainmodel.children[2].rotalist.length > 0 || trainmodel.children[3].rotalist.length > 0 || trainmodel.children[4].rotalist.length > 0|| trainmodel.children[5].rotalist.length > 0){
for(let rs = 1;rs<6;rs++){
//console.log(rs);
if(trainmodel.children[rs].rotalist[0]){
let offsetz = parseFloat(trainmodel.children[rs].rotalist[0].posr.z) - parseFloat(trainmodel.children[rs].matrixWorld.elements[14]);
@ -265,12 +279,16 @@ export function UpdateTrain(camera,traindata,control){
xh = trainmodel.children[rs].rotalist.length;
}
}
//console.log(trainmodel.children[rs].rotalist.length);
}
}
// console.log(trainmodel.rotalist);
}
// console.log(trainmodel.nextcurve);
if(trainmodel.progress > -(trainmodel.speeds)){
trainmodel.progress += trainmodel.speeds;
}

View File

@ -106,6 +106,7 @@ export function Jl3dfaultdevice(dom,group,token,skinCode) {
let topic = '/user/queue/simulation/'+ group +'/jl3d';
let header = {'X-Token': token};
try {
// console.log("teststomp");
teststomp.subscribe(topic, callback, header);
} catch (error) {
console.error('websocket订阅失败');
@ -119,6 +120,7 @@ export function Jl3dfaultdevice(dom,group,token,skinCode) {
// scope.selectmodel(data);
// }else{
if(data.type == "DeviceCtrl_3D"){
// console.log(data.body);
if(data.body.code == scope.nowcode){
scope.updateaction(data.body);
}
@ -141,6 +143,7 @@ export function Jl3dfaultdevice(dom,group,token,skinCode) {
this.anime = null;
this.modelmanager = new ModelManager();
console.log(skinCode);
getPublish3dMapDetail(skinCode).then(netdata => {
let netDataAssets = JSON.parse(netdata.data.assets);
setpsdstationmap(JSON.parse(netdata.data.stands));
@ -203,6 +206,7 @@ export function Jl3dfaultdevice(dom,group,token,skinCode) {
}
this.selectmodel = function (data) {
console.log(data);
if (scope.showmodel) {
if (scope.showmodel.code != data.code) {
@ -246,6 +250,7 @@ export function Jl3dfaultdevice(dom,group,token,skinCode) {
}
if (data.type == "STAND") {
// console.log(data);
scope.modelmanager.standmodel.code = data.code;
scope.showmodel = scope.modelmanager.standmodel.mesh;
scope.scene.add(scope.showmodel);
@ -262,6 +267,7 @@ export function Jl3dfaultdevice(dom,group,token,skinCode) {
}
if (data.type == "SECTION") {
// console.log(data);
scope.modelmanager.sectionmodel.code = data.code;
scope.showmodel = scope.modelmanager.sectionmodel.mesh;
scope.scene.add(scope.showmodel);
@ -279,6 +285,7 @@ export function Jl3dfaultdevice(dom,group,token,skinCode) {
} else {
scope.nowcode = data.code;
if (data.type == "room") {
// console.log(scope.modelmanager.roommodel.mesh);
scope.showmodel = scope.modelmanager.roommodel.mesh;
scope.scene.add(scope.showmodel);
scope.camera.position.set(5, 7, -9);
@ -402,6 +409,7 @@ export function Jl3dfaultdevice(dom,group,token,skinCode) {
}
settext(scope.animationmodel,scope.animationmodel.position);
// console.log(scope.animationmodel);
helpbox = new THREE.BoxHelper( scope.animationmodel, 0xff0000 );
moveanima.updatehelpbox(helpbox,textplane);
// settext(intersects[0].object,intersects[0].point);
@ -540,11 +548,13 @@ export function Jl3dfaultdevice(dom,group,token,skinCode) {
scope.modelmanager.standmodel.action.play();
}
this.updateselect = function(updata){
// console.log(updata);
if(helpbox){
scope.scene.remove( helpbox );
helpbox = null;
}
helpbox = new THREE.BoxHelper( updata.mesh, 0xff0000 );
// console.log(updata.mesh);
let point = {
x:updata.mesh.matrixWorld.elements[12],
y:updata.mesh.matrixWorld.elements[13],
@ -556,6 +566,7 @@ export function Jl3dfaultdevice(dom,group,token,skinCode) {
}
function getdevicemsg(selectname){
// console.log(selectname);
for(let i=0,leni=scope.devicetext.devicelist.length;i<leni;i++){
if(selectname == scope.devicetext.devicelist[i].name){
@ -719,6 +730,7 @@ export function Jl3dfaultdevice(dom,group,token,skinCode) {
textplane.position.x = point.x;
textplane.position.y = point.y+6;
textplane.position.z = point.z;
// console.log(textplane.position);
// textplane.tcode = data[i].code;
textplane.rotation.y = -Math.PI/2;
textplane.lookAt(scope.camera.position);
@ -752,6 +764,7 @@ export function Jl3dfaultdevice(dom,group,token,skinCode) {
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.clearRect(0,0,256,128);
//console.log(text.groupNumber);
ctx.drawImage(beauty,0,0,256, 128);
ctx.fillText("设备部件:"+text, 90,30);
// ctx.fillText("车组人员:XXX", 40,20);

View File

@ -700,6 +700,7 @@ export function jl3dFaultDeviceVr(dom,group,skinCode) {
function onSelectStart( event ) {
var controller = event.target;
// console.log(event);
let clickGui = getGuiButton(controller);
if(clickGui.length > 0){
if(positionStatus == "dm"){
@ -852,7 +853,9 @@ export function jl3dFaultDeviceVr(dom,group,skinCode) {
}else{
var intersections = getIntersections( controller );
// console.log(intersections);
if ( intersections) {
// console.log(intersections);
var intersection = intersections[ 0 ];
if(intersection.distance <3.5){
if(positionStatus != intersection.object.name){
@ -883,12 +886,14 @@ export function jl3dFaultDeviceVr(dom,group,skinCode) {
let posx = intersection.point.x - trainControl.toptrain.position.x;
let posz = intersection.point.z - trainControl.toptrain.position.z;
human.position.set( posx, intersection.point.y+0.6, posz);
// console.log(human.position);
}
if(positionStatus == "downfloor"){
let posx = trainControl.downtrain.position.x - intersection.point.x;
let posz = trainControl.downtrain.position.z - intersection.point.z;
human.position.set( posx, intersection.point.y+0.6, posz);
// console.log(human.position);
}
let postData = {
type:"syn",
@ -924,7 +929,9 @@ export function jl3dFaultDeviceVr(dom,group,skinCode) {
// if ( intersections.length > 0 ) {
//
// // for(){}
// // console.log(intersections);
// var intersection = intersections[ 0 ];
// // console.log(intersection);
// // tempMatrix.getInverse( controller.matrixWorld );
// //
// // var object = intersection.object;
@ -950,6 +957,7 @@ export function jl3dFaultDeviceVr(dom,group,skinCode) {
}
function squeezeStart(){
console.log("squeeze");
scope.modelmanager.otherDevice.action.play();
if(positionStatus == "dm"){
if(vrPlaneStatus){
@ -978,6 +986,7 @@ export function jl3dFaultDeviceVr(dom,group,skinCode) {
// }
// settext(scope.animationmodel,scope.animationmodel.position);
// console.log(scope.animationmodel);
// helpbox = new THREE.BoxHelper( scope.animationmodel, 0xff0000 );
// moveanima.updatehelpbox(helpbox,textplane);
// settext(intersects[0].object,intersects[0].point);
@ -1013,6 +1022,7 @@ export function jl3dFaultDeviceVr(dom,group,skinCode) {
raycastervr.ray.direction.set( 0, 0, - 1 ).applyMatrix4( tempMatrix );
for(let i=0;i<3;i++){
let rayObject = raycastervr.intersectObject( floors[i]);
// console.log(rayObject);
if(rayObject.length>0){
return rayObject;
}
@ -1063,6 +1073,7 @@ export function jl3dFaultDeviceVr(dom,group,skinCode) {
if ( intersections) {
var intersection = intersections[ 0 ];
// console.log(intersection);
if(intersection.distance <3.5){
var object = intersection.object;
circle.position.set( intersection.point.x, intersection.point.y+0.05, intersection.point.z );
@ -1120,6 +1131,7 @@ export function jl3dFaultDeviceVr(dom,group,skinCode) {
}
function getdevicemsg(selectname){
// console.log(selectname);
for(let i=0,leni=scope.devicetext.devicelist.length;i<leni;i++){
if(selectname == scope.devicetext.devicelist[i].name){
@ -1193,6 +1205,7 @@ export function jl3dFaultDeviceVr(dom,group,skinCode) {
}
// console.log(scope.nowstation);
}
function initstationanimation(object){

View File

@ -299,6 +299,7 @@ export function MoveanimateVr(main){
}
//动画播放器
this.animateupdate = function(){
// console.log(scope.animatelist);
if(scope.enable){
if(scope.playlist){
@ -334,6 +335,7 @@ export function MoveanimateVr(main){
}else{
// console.log(scope.animatelist[k].connectmodel);
if(scope.nowmodelname != scope.playlist[scope.playorder][i].connectmodel.name){
scope.nowmodelname = scope.playlist[scope.playorder][i].connectmodel.name;
main.animationmsgshowon(scope.playlist[scope.playorder][i].connectmodel);

View File

@ -18,6 +18,7 @@ function setTextVr(intersects,plane){
textplane.position.x = 0;
textplane.position.y = 1.55;
textplane.position.z = 0.01;
// console.log(textplane.position);
// textplane.tcode = data[i].code;
// textplane.rotation.y = -Math.PI/2;
// scope.textlist.push(textplane);
@ -50,6 +51,7 @@ function getTextCanvas(text){
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.clearRect(0,0,256,128);
//console.log(text.groupNumber);
ctx.drawImage(beauty,0,0,256, 128);
ctx.fillText("新的设备故障", 110,30);
ctx.fillText(text.name, 110,65);

View File

@ -277,6 +277,8 @@ export function VrGui(){
//
// let nowGroupComponent = scope.homeGroup;
this.setStationPlane = function(stations){
// console.log(stations);
// console.log(textures);
let posX,posY;
for(let i=0,leni = stations.length;i<leni;i++){
@ -366,6 +368,7 @@ export function VrGui(){
}
this.updataDeviceFaultMsg = function(faultData){
console.log(faultData);
let textt = new THREE.CanvasTexture(getTextCanvas(faultData,"faultMsg"));
scope.deviceGroup.getObjectByName("deviceText").material.map = textt;
scope.deviceGroup.getObjectByName("deviceText").material.map.needsUpdate = true;
@ -471,6 +474,7 @@ export function VrGui(){
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.clearRect(0,0,128,64);
//console.log(text.groupNumber);
ctx.drawImage(beauty,0,0,128, 64);
ctx.fillText(text.name, 64,32);
//ctx.fillText(text.trainModel.name, width/2,height*3/4);
@ -489,6 +493,7 @@ export function VrGui(){
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.clearRect(0,0,128,64);
//console.log(text.groupNumber);
ctx.drawImage(beauty,0,0,128, 64);
ctx.fillText("故障设备编号:", 64,16);
ctx.fillText(text.name, 64,48);
@ -508,6 +513,7 @@ export function VrGui(){
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.clearRect(0,0,256,256);
//console.log(text.groupNumber);
ctx.drawImage(beauty,0,0,256, 256);
ctx.fillText("当前车站信息", 128,32);
ctx.fillText("车站名:"+text.name, 128,64);
@ -534,6 +540,7 @@ export function VrGui(){
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.clearRect(0,0,256,256);
//console.log(text.groupNumber);
ctx.drawImage(beauty,0,0,256, 256);
ctx.fillText("当前故障信息", 128,32);
ctx.fillText("故障设备:"+text.code, 128,64);

View File

@ -183,7 +183,9 @@ export function Jl3dOtherVR(dom,group,skinCode) {
otherVrViewWorker.onmessage = function (event) {
// maintainerHuman
console.log(event.data);
if(event.data.type == "VR_Sync_3D"){
console.log(event.data);
humanMove(event.data);
@ -266,6 +268,8 @@ export function Jl3dOtherVR(dom,group,skinCode) {
}
if(event.data.type == "takeDownTrain"){
console.log(event.data);
console.log(stationList);
for(let i=0,leni=stationList.length;i<leni;i++){
if(stationList[i].code == event.data.stationcode){
scope.nowstation = stationList[i];
@ -290,6 +294,8 @@ export function Jl3dOtherVR(dom,group,skinCode) {
}
if(event.data.type == "topTrain"){
console.log(event.data);
console.log(trainControl.toptrain.status);
if(trainControl.toptrain.status != 1){
trainControl.toptrain.position.copy(trainControl.toptrain.curve.getPointAt(event.data.offset));
}
@ -304,6 +310,8 @@ export function Jl3dOtherVR(dom,group,skinCode) {
if(event.data.type == "topTrainDoor"){
console.log(event.data);
if(event.data.open == "0"){
trainControl.closetraindoor(trainControl.toptrain,event.data.doorCode,"top");
// trainLeaveStation("top");
@ -519,6 +527,7 @@ export function Jl3dOtherVR(dom,group,skinCode) {
// }
// settext(scope.animationmodel,scope.animationmodel.position);
// console.log(scope.animationmodel);
// helpbox = new THREE.BoxHelper( scope.animationmodel, 0xff0000 );
// moveanima.updatehelpbox(helpbox,textplane);
// settext(intersects[0].object,intersects[0].point);
@ -593,6 +602,7 @@ export function Jl3dOtherVR(dom,group,skinCode) {
function getdevicemsg(selectname){
// console.log(selectname);
for(let i=0,leni=scope.devicetext.devicelist.length;i<leni;i++){
if(selectname == scope.devicetext.devicelist[i].name){
@ -656,6 +666,7 @@ export function Jl3dOtherVR(dom,group,skinCode) {
}
}
console.log(stationList);
scope.nowstation = stationList[0];
let stationworket = {
type:'station',
@ -665,6 +676,7 @@ export function Jl3dOtherVR(dom,group,skinCode) {
}
// console.log(scope.nowstation);
}
@ -739,6 +751,7 @@ export function Jl3dOtherVR(dom,group,skinCode) {
}
function humanMove(movedata){
console.log(maintainerHuman);
let distance = Math.sqrt(Math.pow(movedata.body.pos.x - maintainerGroup.position.x, 2) + Math.pow(movedata.body.pos.y - maintainerGroup.position.y, 2) + Math.pow(movedata.body.pos.z - maintainerGroup.position.z, 2));
if(distance <5){
@ -776,6 +789,8 @@ export function Jl3dOtherVR(dom,group,skinCode) {
}
function setTextVr(intersects,plane){
console.log(intersects);
console.log(plane);
if(intersects.text){
let textgeometry = new THREE.PlaneBufferGeometry( 1.2, 0.8, 1 );
let textt = new THREE.CanvasTexture(getTextCanvas(intersects));
@ -794,6 +809,7 @@ export function Jl3dOtherVR(dom,group,skinCode) {
textplane.position.x = 0;
textplane.position.y = 1.55;
textplane.position.z = 0.01;
// console.log(textplane.position);
// textplane.tcode = data[i].code;
// textplane.rotation.y = -Math.PI/2;
// scope.textlist.push(textplane);
@ -826,6 +842,7 @@ export function Jl3dOtherVR(dom,group,skinCode) {
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.clearRect(0,0,256,128);
//console.log(text.groupNumber);
ctx.drawImage(beauty,0,0,256, 128);
ctx.fillText("新的设备故障", 110,30);
ctx.fillText(text.name, 110,65);

View File

@ -54,6 +54,7 @@ export function Jl3dTrainRescueVr(dom,group,skinCode) {
// this.renderer.shadowMap.type = THREE.PCFSoftShadowMap;
this.renderer.gammaInput = true;
this.renderer.gammaOutput = true;
console.log( this.renderer);
this.renderer.vr.enabled = true;
this.dom.appendChild(this.renderer.domElement);
document.body.appendChild( VRButton.createButton( human,{x:25,y:1.3,z:1},this.renderer ) );
@ -138,6 +139,7 @@ export function Jl3dTrainRescueVr(dom,group,skinCode) {
let timer=setInterval(function(){
if(TrainRescueStatic.other.mesh){
console.log(TrainRescueStatic);
scope.scene.add(TrainRescueStatic.animatemodel.mesh);
scope.scene.add(TrainRescueStatic.controlmodel.mesh);
scope.scene.add(TrainRescueStatic.floorplane.mesh);
@ -148,6 +150,7 @@ export function Jl3dTrainRescueVr(dom,group,skinCode) {
// controller1.add(handrBox);
controller1.add( TrainRescueStatic.handR.mesh );
console.log(TrainRescueStatic.controlmodel.mesh);
// floors.push(TrainRescueStatic.floorplane.mesh);
animate();
@ -206,6 +209,8 @@ export function Jl3dTrainRescueVr(dom,group,skinCode) {
}
function onSelectStart( event ) {
// console.log();
console.log("select");
var controller = event.target;
var intersections = getIntersections( controller );
@ -247,6 +252,7 @@ export function Jl3dTrainRescueVr(dom,group,skinCode) {
let controlMoveSwitch = false;
let nowControlModel = null;
function squeezeStart(){
console.log("squeezestart");
TrainRescueStatic.handR.action.reset();
TrainRescueStatic.handR.action.time = TrainRescueStatic.handR.action._clip.duration;
TrainRescueStatic.handR.action.timeScale = 1;
@ -269,6 +275,7 @@ export function Jl3dTrainRescueVr(dom,group,skinCode) {
}
function squeezeEnd(){
console.log("squeezeend");
TrainRescueStatic.handR.action.reset();
TrainRescueStatic.handR.action.time = 0;
TrainRescueStatic.handR.action.timeScale = -1;
@ -290,6 +297,7 @@ export function Jl3dTrainRescueVr(dom,group,skinCode) {
}
// for(let i=0;i<1;i++){
// let rayObject = raycastervr.intersectObject( floors[i]);
// console.log(rayObject);
// if(rayObject.length>0){
// return rayObject;
// }
@ -307,6 +315,7 @@ export function Jl3dTrainRescueVr(dom,group,skinCode) {
if ( intersections) {
var intersection = intersections[ 0 ];
// console.log(intersection);
var object = intersection.object;
circle.position.set( intersection.point.x, intersection.point.y+0.2, intersection.point.z );
}
@ -385,8 +394,13 @@ export function Jl3dTrainRescueVr(dom,group,skinCode) {
let animateStage = "0";
function updateControlModel(){
if(controlMoveSwitch == true){
console.log(nowControlModel.name);
console.log(TrainRescueStatic.animatemodel.action.time);
// console.log(nowControlModel);
// console.log(TrainRescueStatic.handR.mesh);
let originPoint = new THREE.Vector3(nowControlModel.matrixWorld.elements[12],nowControlModel.matrixWorld.elements[13],nowControlModel.matrixWorld.elements[14]);
let overPoint = new THREE.Vector3(TrainRescueStatic.handR.mesh.matrixWorld.elements[12],TrainRescueStatic.handR.mesh.matrixWorld.elements[13],TrainRescueStatic.handR.mesh.matrixWorld.elements[14]);
// console.log(originPoint);
// rad *= ( endNorm.cross( startNorm ).dot( eye ) < 0 ? 1 : -1);
if(nowControlModel.name == "5"){
@ -394,6 +408,7 @@ export function Jl3dTrainRescueVr(dom,group,skinCode) {
let v2 = new THREE.Vector3(overPoint.z-originPoint.z,overPoint.y-originPoint.y,overPoint.x-originPoint.x);
let rad = v1.angleTo(v2);
console.log(rad);
if(rad>0.725 && rad<2.37){
if(TrainRescueStatic.animatemodel.action.time >= 7.8 && TrainRescueStatic.animatemodel.action.time <20){
animateStage = "3";
@ -495,6 +510,7 @@ export function Jl3dTrainRescueVr(dom,group,skinCode) {
let rad = v1.angleTo(v2);
if(rad>0.546 && rad<2.4){
if(TrainRescueStatic.animatemodel.action.time>=2.6 && TrainRescueStatic.animatemodel.action.time<5.2){
console.log(animateStage);
animateStage = "1";
if(rad>1.3){
if(controlStage == false){
@ -588,6 +604,7 @@ export function Jl3dTrainRescueVr(dom,group,skinCode) {
textplane.position.x = 0;
textplane.position.y = 1.55;
textplane.position.z = 0.01;
// console.log(textplane.position);
// textplane.tcode = data[i].code;
// textplane.rotation.y = -Math.PI/2;
// scope.textlist.push(textplane);
@ -620,6 +637,7 @@ export function Jl3dTrainRescueVr(dom,group,skinCode) {
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.clearRect(0,0,256,128);
//console.log(text.groupNumber);
ctx.drawImage(beauty,0,0,256, 128);
ctx.fillText("新的设备故障", 110,30);
ctx.fillText(text.name, 110,65);

View File

@ -200,6 +200,7 @@ export function JLmap3dMaintainer(dom, data,skinCode,storemod,routegroup,project
if(camerarail.moveswitch == true){
// console.log(camerarail.progress);
if(camerarail.progress>=0.99){
camerarail.moveswitch = false;
camerarail.curve = null;
@ -221,6 +222,7 @@ export function JLmap3dMaintainer(dom, data,skinCode,storemod,routegroup,project
delta = clock.getDelta();
for(let i=scope.mixers.length-1;i>=0;i--){
if(scope.mixers[i]._actions[0].isRunning()){
// console.log(scope.mixers[i]._actions[0].isRunning());
scope.mixers[i].update( delta );
}
}
@ -247,6 +249,7 @@ export function JLmap3dMaintainer(dom, data,skinCode,storemod,routegroup,project
scope.mixers = null;
scope.actions = null;
scope.Subscribe = null;
//console.log(scope);
//scope = null;
}
@ -317,6 +320,7 @@ export function JLmap3dMaintainer(dom, data,skinCode,storemod,routegroup,project
};
this.eventoff = function(){
//console.log("off");
//raycaster交互模型点击事件
document.getElementById("testjlmap3d").removeEventListener( "mousedown", onselect, false );
//窗口自适应
@ -324,6 +328,7 @@ export function JLmap3dMaintainer(dom, data,skinCode,storemod,routegroup,project
};
this.updatecamera = function(mesh,type){
//console.log(mesh);
if(type == "station"){
camera.position.x = mesh.position.x;
camera.position.y = mesh.position.y+800;
@ -393,9 +398,13 @@ export function JLmap3dMaintainer(dom, data,skinCode,storemod,routegroup,project
if(intersects[0]){
for(let j=0;j<trainlisttest.list.length;j++){
if(intersects[0].object.name == trainlisttest.list[j].name){
// console.log(trainlisttest.list[j].position.x);
// console.log(trainlisttest.list[j].position.y);
// console.log(trainlisttest.list[j].children[2].matrixWorld.elements[14]);
camera.position.x = trainlisttest.list[j].position.x;
camera.position.y = 200;
camera.position.z = trainlisttest.list[j].children[2].matrixWorld.elements[14]+300;
//console.log(camera.position);
controls.target = new THREE.Vector3(trainlisttest.list[j].children[2].matrixWorld.elements[12],trainlisttest.list[j].children[2].matrixWorld.elements[13],trainlisttest.list[j].children[2].matrixWorld.elements[14]);
controls.update();
}
@ -405,8 +414,10 @@ export function JLmap3dMaintainer(dom, data,skinCode,storemod,routegroup,project
if(scope.raycasterswitch == "section"){
//console.log(sectionlist.sections.modellist);
let intersects = raycaster.intersectObjects( linklist.linksgroup.children,true);
if(intersects[0]){
// console.log(intersects[0].object);
scope.helpbox = new THREE.BoxHelper( intersects[0].object, 0xff0000 );
scene.add( scope.helpbox );
}
@ -416,6 +427,7 @@ export function JLmap3dMaintainer(dom, data,skinCode,storemod,routegroup,project
let intersects = raycaster.intersectObjects( signallist.group.children,true);
if(intersects[0]){
// console.log(intersects[0].object.matrixWorld);
scope.helpbox = new THREE.BoxHelper( intersects[0].object, 0xff0000 );
scene.add( scope.helpbox );
}

View File

@ -55,7 +55,13 @@ export function Maintainerconnect(jlmap3d,routegroup,jsonwebwork,lablecodemap) {
// if(event.data.deviceType == "TRAIN"){
// // console.log(event.data);
//
// }
// console.log(event.data);
if(event.data.type == "Device_Fault_Set_3D"){
// console.log(event.data);
let newfault = {
code:event.data.body.code,
name:'',
@ -234,16 +240,19 @@ export function Maintainerconnect(jlmap3d,routegroup,jsonwebwork,lablecodemap) {
// if(event.data.type == 'TrainRun_3D'){
//
// for(let i=0,leni=event.data.body.length;i<leni;i++){
// // console.log(event.data.body[i]);
// trainrunnew(event.data.body[i]);
// }
// return;
// }
// if(event.data.type == 'TRAIN'){
// console.log(event.data);
// trainrun(event.data);
// }
// if (event.data.type== 'SIGNAL' && signallist) {
// signalupdate(event.data);
// // console.log(event.data);
// return;
// }
//
@ -273,7 +282,7 @@ export function Maintainerconnect(jlmap3d,routegroup,jsonwebwork,lablecodemap) {
return;
}
};
this.updatamap = function(newsectionlist,newlinklist,newsignallist,newstationstandlist,newtrainlisttest,newrealsectionlist,newrails, materiallist, nowaction, scene) {
trainlisttest = newtrainlisttest;
sectionlist = newsectionlist;
@ -288,6 +297,7 @@ export function Maintainerconnect(jlmap3d,routegroup,jsonwebwork,lablecodemap) {
this.socketon = function(topic) {
try {
// console.log("teststomp");
// scope.teststomp.subscribe(topic, callback, header);
} catch (error) {
console.error('websocket订阅失败');
@ -338,6 +348,7 @@ export function Maintainerconnect(jlmap3d,routegroup,jsonwebwork,lablecodemap) {
}
}
// console.log(data);
if(trainlisttest.list[code].dispose == "0"){
if (data.right == '1') { // 向右
@ -387,6 +398,7 @@ export function Maintainerconnect(jlmap3d,routegroup,jsonwebwork,lablecodemap) {
}
if(trainlisttest.list[code].children[1].rotalist.length > 0 || trainlisttest.list[code].children[2].rotalist.length > 0 || trainlisttest.list[code].children[3].rotalist.length > 0 || trainlisttest.list[code].children[4].rotalist.length > 0|| trainlisttest.list[code].children[5].rotalist.length > 0){
for(let rs = 1;rs<6;rs++){
//console.log(rs);
if(trainlisttest.list[code].children[rs].rotalist[0]){
let offsetz = parseFloat(trainlisttest.list[code].children[rs].rotalist[0].posr.z) - parseFloat(trainlisttest.list[code].children[rs].matrixWorld.elements[14]);
@ -394,6 +406,11 @@ export function Maintainerconnect(jlmap3d,routegroup,jsonwebwork,lablecodemap) {
for(let xh=0;xh<trainlisttest.list[code].children[rs].rotalist.length;xh++){
if((trainlisttest.list[code].children[rs].matrixWorld.elements[12])>=trainlisttest.list[code].children[rs].rotalist[0].posr.x){
// if(trainlisttest.list[code].groupNumber == "005"){
// console.log("rs:"+rs);
// console.log(trainlisttest.list[code].children[rs].matrixWorld.elements[12]);
// console.log(trainlisttest.list[code].children[rs].rotalist[0].posr.x);
// }
if(rs != 5){
let asd = trainlisttest.list[code].children[rs].rotalist[0];
trainlisttest.list[code].children[rs+1].rotalist.push(asd);
@ -407,6 +424,7 @@ export function Maintainerconnect(jlmap3d,routegroup,jsonwebwork,lablecodemap) {
xh = trainlisttest.list[code].children[rs].rotalist.length;
}
}
//console.log(trainlisttest.list[code].children[rs].rotalist.length);
}
}
}
@ -463,6 +481,7 @@ export function Maintainerconnect(jlmap3d,routegroup,jsonwebwork,lablecodemap) {
if(trainlisttest.list[code].children[1].rotalist.length > 0 || trainlisttest.list[code].children[2].rotalist.length > 0 || trainlisttest.list[code].children[3].rotalist.length > 0 || trainlisttest.list[code].children[4].rotalist.length > 0|| trainlisttest.list[code].children[5].rotalist.length > 0){
for(let rs = 1;rs<6;rs++){
//console.log(rs);
if(trainlisttest.list[code].children[rs].rotalist[0]){
let offsetz = parseFloat(trainlisttest.list[code].children[rs].rotalist[0].posr.z) + parseFloat(trainlisttest.list[code].children[rs].position.z);
@ -485,11 +504,13 @@ export function Maintainerconnect(jlmap3d,routegroup,jsonwebwork,lablecodemap) {
xh = trainlisttest.list[code].children[rs].rotalist.length;
}
}
//console.log(trainlisttest.list[code].children[rs].rotalist.length);
}
}
// console.log(trainlisttest.list[code].rotalist);
}
}
@ -502,6 +523,7 @@ export function Maintainerconnect(jlmap3d,routegroup,jsonwebwork,lablecodemap) {
}
function trainrun(data){
let code = data.code;
// console.log(data);
if(trainlisttest.list[code].dispose == "0"){
if(trainlisttest.list[code].curve == null){
if (data.right == '1') { // 向右

View File

@ -135,6 +135,7 @@ export function MaintainerLoad(data,scope,netdata,mapdata,camera,controls,scene)
// if(scope.assetloader.modellist[mn].name && scope.assetloader.modellist[mn].name == "suidao"){
// // scope.assetloader.modellist[mn].mesh.rotation.x = Math.PI/2;
// // scope.assetloader.modellist[mn].mesh.position.y -=0.1;
// // console.log(scope.assetloader.modellist[mn].mesh);
// scene.add(scope.assetloader.modellist[mn].mesh);
// }
// }
@ -154,6 +155,7 @@ export function MaintainerLoad(data,scope,netdata,mapdata,camera,controls,scene)
if ( xhr.lengthComputable ) {
let percentComplete = xhr.loaded / xhr.total * 100;
//console.log( 'model ' + Math.round( percentComplete, 2 ) + '% downloaded' );
}

View File

@ -76,6 +76,7 @@ export function PassflowConnect(deviceaction, toptrain, downtrain, routegroup, p
}
if (downtrain.nowcode == data.body.trainCode) {
// console.log(data.body);
if (data.body.command == 'G') {
closetraindoor(downtrain, data.body.code, 'down');

View File

@ -221,6 +221,7 @@ export function Jl3dpassflow(dom,skinCode,routegroup,viewMap) {
passerAi.initPasser(humanlist,passerHuman);
let updateaianimate = setInterval(
function(){
// console.log("?");
if(aiswitch == 0){
passerHuman.moveAnimateUpdate(humanlist,olddataai,passerHuman);
passerAi.aiUpdate(humanlist,passerHuman,passerCheckDoor,deviceaction);
@ -243,6 +244,7 @@ export function Jl3dpassflow(dom,skinCode,routegroup,viewMap) {
passerWebWork.onmessage = function (event) {
if(aiswitch == 0){
// console.log(humanlist.children.length);
if(humanlist.children.length < 80){
let direct = Math.floor(Math.random()*(3-1+1))+1;
//1--top

View File

@ -101,6 +101,7 @@ export function ModelManager(){
Promise.all(initlist).then((result) => {
resolve("success"); //['成功了', 'success']
}).catch((error) => {
//console.log(error);
});
});

View File

@ -61,6 +61,7 @@ export function PasserHuman() {
newhuman.speed = 0;
newhuman.mixer = mixer;
humanlist.add(newhuman);
// console.log(humanlist.children.length);
}
//定义新模型走路动画
this.initMoveAnimate = function(model,name,points,index){
@ -72,6 +73,7 @@ export function PasserHuman() {
// progress动画进度
// enable当前动画开关
// speed动画速度
// console.log(curve);
model.action.play();
model.progress = 0;
@ -127,6 +129,7 @@ export function PasserHuman() {
humanlist.children[i].stage = 2;
}else if(humanlist.children[i].stage == 0){
// // console.log(humans[i].doors);
// zhajiin[humanlist.children[i].doors].waiting = 0;
humanlist.children[i].stage = 1;
}
@ -135,6 +138,9 @@ export function PasserHuman() {
}else{
//根据动画进度获取动画轨迹上点
// console.log(i);
// console.log(humanlist.children[i].runrail);
// console.log(humanlist.children[i].progress);
let point = humanlist.children[i].runrail.getPointAt(humanlist.children[i].progress);
//更新模型坐标

View File

@ -87,6 +87,7 @@ export function PasserStation() {
} );
scope.stationMesh = object;
// console.log(deviceaction);
scene.add(object);
}

View File

@ -188,8 +188,10 @@ export function ZoneManager() {
}
//获取区域范围内点
this.getinitposition = function(name){
// console.log(scope.list[name]);
let randompoint = new THREE.Vector3(0,scope.list[name].randompoint.y,0);
// console.log(randompoint);
if(name == "enter1"){
randompoint.x = scope.list[name].randompoint.x + Math.random()*8;
randompoint.z = scope.list[name].randompoint.z + Math.random()*8;

View File

@ -17,7 +17,9 @@ export function PasserAi(zone,finder) {
let targetPosition = new THREE.Vector3();
//生成下车出站人物
this.passerout = function(direct){
// console.log(direct);
if(direct == "top"){
// console.log("toppasser");
scope.toppasseron = true;
setTimeout(function(){
scope.toppasseron = false
@ -29,6 +31,7 @@ export function PasserAi(zone,finder) {
}, 5000);
}
if(direct == "down"){
// console.log("downpasser");
scope.downpasseron = true;
setTimeout(function(){
scope.downpasseron = false;
@ -68,6 +71,7 @@ export function PasserAi(zone,finder) {
//人物站台阶段更新
this.aiUpdate = function(humanlist,passerHuman,passerCheckDoor,deviceaction){
for(let i=0;i<humanlist.children.length;i++){
// console.log(humans[i]);
if(humanlist.children[i].status == 0){
//stage = 0 进入车站
@ -83,6 +87,7 @@ export function PasserAi(zone,finder) {
points.push(new THREE.Vector3(path[i].x,path[i].y,path[i].z));
}
passerHuman.initMoveAnimate(humanlist.children[i],i,points,i);
// console.log(path);
}
//stage = 1 前往进站闸机
@ -115,6 +120,7 @@ export function PasserAi(zone,finder) {
if(humanlist.children[i].stage == 3){
let direct = Math.floor(Math.random()*(2))+1;
// console.log(direct);
let points = [];
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
// points.push(new THREE.Vector3(11.81,9.8,13.11));
@ -172,6 +178,7 @@ export function PasserAi(zone,finder) {
}else{
passerHuman.initMoveAnimate(humanlist.children[i],i,points,i);
}
// console.log(points);
}
}

View File

@ -243,8 +243,11 @@ export function Moveanimate(main){
// points.push(new THREE.Vector3(switchmodel.children[i].position.x,switchmodel.children[i].position.y,switchmodel.children[i].position.z));
// scope.initanimate(switchmodel.children[i],switchmodel.name+"select1",points,true);
let modelorderlist = [];
// for(let i=0;i<switchmodel.children.length;i++){
// }
console.log(switchmodel);
for(let i=0;i<switchmodel.children.length;i++){
console.log(switchmodel.children[i].name);
console.log(switchmodel.children[i]);
}
modelorderlist[switchmodel.animacode] = [
{name:"SJ",pos:[-3.5,0,-1]},
{name:"ZZJJG",pos:[0,9,0]},
@ -272,12 +275,16 @@ export function Moveanimate(main){
scope.animatelist[switchmodel.animacode+"on"] = [];
scope.animatelist[switchmodel.animacode+"off"] = [];
console.log("==========");
for(let i=0,leni=modelorderlist[switchmodel.animacode].length;i<leni;i++){
let orderdata = modelorderlist[switchmodel.animacode];
console.log(switchmodel.animacode);
console.log(orderdata[i].name);
let modelon = switchmodel.getObjectByName(orderdata[i].name);
// modelon.helpbox = undefined;
console.log(modelon);
let pointson = [];
pointson.push(new THREE.Vector3(modelon.position.x,modelon.position.y,modelon.position.z));
pointson.push(new THREE.Vector3(modelon.position.x+orderdata[i].pos[0],modelon.position.y+orderdata[i].pos[1],modelon.position.z+orderdata[i].pos[2]));
@ -394,6 +401,7 @@ export function Moveanimate(main){
}
}else{
// console.log(scope.animatelist[k].connectmodel);
if(scope.nowmodelname != scope.playlist[scope.playorder][i].connectmodel.name){
scope.nowmodelname = scope.playlist[scope.playorder][i].connectmodel.name;
main.animationmsgshowon(scope.playlist[scope.playorder][i].connectmodel);

View File

@ -232,6 +232,9 @@ export function Textconfig(){
part.msg = "用于机内外电缆连接,方便更换转辙机。";
selectmodel.children[i].text = "二十位插接件";
}
// if(part.text == null){
// console.log(selectmodel.children[i].name);
// }
if(part.text){
scope.devicelist.push(part);
}

View File

@ -125,6 +125,7 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
stationList.push(mapnetdata.stationList[i]);
}
}
// console.log(mapnetdata.stationList);
});
@ -148,6 +149,7 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
function callback(Response) {
let data = JSON.parse(Response.body);
console.log(data);
if(data.srSignal){
if(data.srSignal[0] == scope.nowcode){
@ -225,6 +227,7 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
for (let i = 0; i < scope.mixers.length; i++) {
if (scope.mixers[i]) {
if( scope.mixers[i].staticType){
// console.log(scope.mixers[i].time);
if(scope.mixers[i]._actions[0].time<stopTime){
scope.mixers[i].update(delta);
}else{
@ -396,6 +399,8 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
let switchActionMode = true;
this.changeAnimate = function(type){
// console.log(scope.modelmanager.staticswitchmodel);
// scope.modelmanager.staticswitchmodel.action["2kai"].reset();
// scope.modelmanager.staticswitchmodel.action["5jiasuo"].reset();
// scope.modelmanager.staticswitchmodel.action["8shunyao"].reset();
@ -419,6 +424,8 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
scope.modelmanager.staticswitchmodel.action.time = 0;
stopTime = 3.33;
scope.modelmanager.staticswitchmodel.action.play();
console.log(scope.mixers);
}
if(type == "action2"){
scope.camera.position.x = -7.23;
@ -482,6 +489,8 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
scope.camera.position.y = 22.56;
scope.camera.position.z = -1.348;
scope.controls.target = new THREE.Vector3(-2.15,10,-1.348);
// console.log(scope.camera.position);
// console.log(scope.controls.target);
scope.modelmanager.staticswitchmodel.action.reset();
scope.modelmanager.staticswitchmodel.action.time = 23.36;
stopTime = 26.66;
@ -856,6 +865,10 @@ export function Jl3ddeviceNew(dom,group,token,skinCode) {
}
}
if (data._type == "Signal") {
console.log(data);
}
}

View File

@ -139,6 +139,7 @@ export function ModelManager(){
Promise.all(initlist).then((result) => {
resolve("success"); //['成功了', 'success']
}).catch((error) => {
//console.log(error);
});
});

View File

@ -199,6 +199,7 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj
getPublishMapDetail(mapId).then(data => {
let mapnetdata = data.data;
getPublish3dMapDetail(mapId).then(netdata => {
// console.log(netdata);
let assetsdata = JSON.parse(netdata.data.sections);
scope.datatype = "new";
@ -313,6 +314,7 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj
// };
updatemmi.updatedrivingcode = function(code) {
// console.log(trainlisttest);
drivingcode = code;
trainlisttest.group.children[0].children[0].add(controls3.getObject());
controls3.getObject().position.x = 10;
@ -423,6 +425,7 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj
realsectionlist = loadrealsectionlist;
rails = loadrails;
console.log(trainlisttest.group);
trainlisttest.group.children[0].add(cameracctv);
}
@ -437,6 +440,7 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj
};
this.eventoff = function() {
// console.log("off");
// raycaster交互模型点击事件
document.getElementById('jlsimulation').removeEventListener( 'mousedown', onselect, false );
// 窗口自适应
@ -455,6 +459,7 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj
camera.position.z = mesh.children[0].position.z;
// controls.target = new THREE.Vector3(mesh.position.x,0,mesh.children[0].position.z);
}
// console.log(mesh);
if (type == 'station') {
camera.position.x = mesh.position.x;
camera.position.y = mesh.position.y+800;
@ -527,6 +532,7 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj
}
if (scope.raycasterswitch == 'section') {
// console.log(sectionlist.sections.modellist);
let intersects = raycaster.intersectObjects( sectionlist.sections.modellist, true);
if (intersects[0]) {

View File

@ -115,6 +115,7 @@ export function AssetLoader(){
resolve("loaderassets"); //['成功了', 'success']
}).catch((error) => {
//console.log(error);
});
});
@ -134,6 +135,7 @@ export function AssetLoader(){
resolve("loaderassets"); //['成功了', 'success']
}).catch((error) => {
//console.log(error);
});
});
@ -168,30 +170,45 @@ export function AssetLoader(){
fbxpromise(signal)
.then(function(data){
////console.log(data);
// console.log("test");
return fbxpromise(train);
})
.then(function(data){
////console.log(data);
// console.log("test");
return fbxpromise(station);
})
.then(function(data){
////console.log(data);
// console.log("test");
return fbxpromise(wstation);
})
// .then(function(data){
// ////console.log(data);
// return fbxpromise(autorail);
// })
// .then(function(data){
// ////console.log(data);
// return fbxpromise(autosuidao);
// })
.then(function(data){
////console.log(data);
// console.log("defaultswitch1");
return fbxpromise(defaultswitch1);
})
.then(function(data){
// console.log("defaultswitch2");
////console.log(data);
return fbxpromise(defaultswitch2);
})
.then(function(data){
////console.log(data);
// console.log("autoswitchs");
return fbxpromise(autoswitchs);
})
.then(function(data){
////console.log(scope.modellist);
resolve("loaderassets");
});
});
@ -211,6 +228,7 @@ export function AssetLoader(){
let newmesh = object;
//let mixer = new THREE.AnimationMixer( newmesh );
////console.log(jlmap3ddata.sectionlist);
for(let i=0;i<newmesh.children.length;i++){
let name = newmesh.children[i].name.split("_");
@ -296,6 +314,7 @@ export function AssetLoader(){
scene.add(newmesh);
loadingInstance.close();
//console.log("add");
} );
}
@ -395,6 +414,7 @@ export function AssetLoader(){
function fbxPromiseOver(asset){
return new Promise(function(resolve, reject){
var loader = new THREE.FBXLoader();
console.log(asset);
if(asset.type == "static"){
loader.load(asset.url, function ( object ) {
let mixer = new THREE.AnimationMixer( object );

View File

@ -15,6 +15,10 @@ import { Loading } from 'element-ui';
// import {SwitchModel} from '@/jlmap3d/model/SwitchModel.js';
export function DriverLoadNew(data,scope,netdata,mapdata,sectionlist,signallist,switchlist,stationstandlist,trainlisttest,rails,camera,controls,scene,mixerss){
//console.log(mapdata);
//console.log(data);
//console.log(scope);
let sceneload = scene;
let backdata = scope;
let assetloader = scope.assetloader;
@ -29,12 +33,15 @@ export function DriverLoadNew(data,scope,netdata,mapdata,sectionlist,signallist,
let isNewdata = false;
if(netdata.assets){
let assetsdata = JSON.parse(netdata.sections);
// console.log(assetsdata.link);
if(assetsdata.link){
isSection = true;
}else{
isNewdata = true;
}
}
// console.log(isNewdata);
// console.log(netdata);
if(isNewdata == true){
initnew3d(data,netdata);
}else{
@ -93,6 +100,9 @@ export function DriverLoadNew(data,scope,netdata,mapdata,sectionlist,signallist,
return trainlisttest.drivertrain(mapdata.trainList,sceneload,assetloader,mixers,actions,"01");
})
// .then(function(data){
// //console.log(data);
// //console.log(assetloader);
// console.log(stationstandlist);
// return tdt.initTdt(stationstandlist.list,mapdata.sectionList,rails.sectionrail,sceneload);
// })
.then(function(data){

View File

@ -12,6 +12,8 @@ export function RailListN(){
};
// this.init = function(section,linklist,scene){
this.init = function(section,sectionList,switchdata,scene){
// console.log(section);
// console.log(switchdata);
for(let i=0;i<section.length;i++){
scope.sectionrail[section[i].code] = {
lp:section[i].lp,
@ -174,6 +176,7 @@ export function RailListN(){
// circle2.rotation.x = -Math.PI/2;
// scene.add( circle1 );
// scene.add( circle2 );
// console.log(scope.sectionrail[section[i].code]);
}else{
scope.sectionrail[section[i].code].standTrack = false;
}
@ -183,6 +186,8 @@ export function RailListN(){
// var geometry = new THREE.CircleGeometry( 0.05, 16 );
// var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
// var circle = new THREE.Mesh( geometry, material );
// // console.log(n);
// // console.log(scope.sectionrail[section[i].code].lineleft.points[n]);
// circle.position.x = scope.sectionrail[section[i].code].lineleft.points[n].x;
// circle.position.y = scope.sectionrail[section[i].code].lineleft.points[n].y;
// circle.position.z = scope.sectionrail[section[i].code].lineleft.points[n].z;
@ -240,6 +245,8 @@ export function RailListN(){
// var geometry = new THREE.CircleGeometry( 0.05, 16 );
// var material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
// var circle = new THREE.Mesh( geometry, material );
// // console.log(n);
// // console.log(scope.sectionrail[section[i].code].lineleft.points[n]);
// circle.position.x = scope.sectionrail[sectioncode].lineleft.points[n].x;
// circle.position.y = scope.sectionrail[sectioncode].lineleft.points[n].y;
// circle.position.z = scope.sectionrail[sectioncode].lineleft.points[n].z;

View File

@ -49,6 +49,7 @@ this.loadpromise = function(sectionList,sectiondata,rails,scene,assetloader){
// autorail.leftlist = leftlist;
scene.add(scope.sectiongroup);
return new Promise(function(resolve, reject){
// console.log(sectiondata);
let mergegeometry = new THREE.Geometry();
for(let i=0,leni = sectiondata.length;i<leni;i++){
@ -100,6 +101,7 @@ this.loadpromise = function(sectionList,sectiondata,rails,scene,assetloader){
// testmesh2 = null;
if(newsection.railpoint.length>=3){
// console.log(newsection);
let height = Math.random()/1000;
var closedSpline;

View File

@ -37,6 +37,7 @@ export function SignalListN() {
for(let j=0,lenj = data.length;j<lenj;j++){
if(data[j].code == signaldata[i].code){
if(data[j].virtual == false){
// console.log(signaldata[i]);
let newsignal = new SignalModel(signaldata[i]);
let newmesh;
if(data[j].type == "ARRIVAL"){

View File

@ -135,12 +135,14 @@ export function StationStandListN() {
}
this.loadpromise = function(stationdata,standsdata,psddata,scene,assetloader,mixers,actionss,mode,otherStation){
return new Promise(function(resolve, reject){
// console.log(standsdata);
let stations = stationdata;
let selectmesh1;
let selectmesh2;
let selectmesh3;
let specilmesh;
for(let j=0;j<assetloader.modellist.length;j++){
// console.log(assetloader.modellist[j].type);
if(assetloader.modellist[j].type == "stationInside"){
selectmesh1 = assetloader.modellist[j].mesh;
}
@ -200,6 +202,7 @@ export function StationStandListN() {
}
//
//
// console.log(psddata);
for(let i=0;i<standsdata.length;i++){
@ -265,6 +268,8 @@ export function StationStandListN() {
newstationmesh.code = standsdata[i].code;
newstationmesh.name = standsdata[i].code;
// console.log(newstationmesh.name);
// console.log(standsdata[i].inside);
newstationmesh.inside = standsdata[i].inside;
newstationmesh.position.x = standsdata[i].position.x;
newstationmesh.position.y = standsdata[i].position.y;

View File

@ -17,6 +17,7 @@ export function SwitchListN() {
return new Promise(function(resolve, reject){
scene.add( scope.switchgroup );
// let sectiondata = jlmap3ddata.sectionlist.sections.datalist;
// console.log(sectiondata);
let num;
for(let j=0;j<assetloader.modellist.length;j++){
if(assetloader.modellist[j].type == "switch"){
@ -24,6 +25,7 @@ export function SwitchListN() {
}
};
for(let i=0,leni = switchdata.length;i<leni;i++){
// console.log(switchdata[i]);
let newswitch = {
code:switchdata[i].code,
name:switchdata[i].name,
@ -56,6 +58,7 @@ export function SwitchListN() {
actions[autoswitch.code].action.clampWhenFinished = true;
mixers.push(mixer);
}
// console.log(scope.switchs.modellist);
resolve("loadedswitch");
});

View File

@ -17,6 +17,7 @@ export function TdtList() {
stopSections[sectionData[i].code] = sectionData[i];
}
}
// console.log(stationData);
for(let k in stationData){
for(let i=0;i<stationData[k].stands.length;i++){
let newmesh = object.clone(true);
@ -89,6 +90,7 @@ export function TdtList() {
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.clearRect(0,0,128,64);
//console.log(text.groupNumber);
ctx.drawImage(beauty,0,0,128, 64);
ctx.fillText(text, 64,32);
return canvas;

View File

@ -60,6 +60,8 @@ export function TrainListN() {
}
this.removeDriveTrain = function(removeLength){
console.log(removeLength);
scope.group.remove(scope.otherTrainmodels[0]);
scope.otherTrainmodels.splice(0,removeLength);
}
@ -67,6 +69,7 @@ export function TrainListN() {
this.drivertrain = function(data,scene,assetloader,mixers,actionss,mode){
return new Promise(function(resolve, reject){
// console.log(data);
let selectmesh,ntracks1,ntracks2,tclip,fclip;
for(let n=assetloader.modellist.length-1;n>=0;n--){
@ -102,12 +105,15 @@ export function TrainListN() {
newmesh.mixer = [];
for(let j=0;j<newmesh.children.length;j++){
// console.log("===================");
for(let n=0,lenn = newmesh.children[j].children.length;n<lenn;n++){
if(newmesh.children[j].children[n].name == "top"){
newmesh.children[j].children[n].animations = [];
newmesh.children[j].children[n].animations.push(tclip.clone());
let mixer = new THREE.AnimationMixer( newmesh.children[j].children[n] );
// console.log(n);
// console.log(newmesh.children[j].children[n]);
newmesh.mixer.push(mixer);
newmesh.mixerpush = false;
@ -145,6 +151,7 @@ export function TrainListN() {
// pos.position.x = -73.5;
// newmesh.children[j].add( pos );
newmesh.children[j].rotalist = [];
// console.log(newmesh);
}
newmesh.first = false;
@ -207,6 +214,7 @@ export function TrainListN() {
} );
//遍历列车数据
// console.log(data.length);
for(let i=0;i<data.length;i++){
@ -216,14 +224,19 @@ export function TrainListN() {
};
let newmesh = selectmesh.clone(true);
newmesh.mixer = [];
// console.log("-------------------------");
// console.log(data[i]);
for(let j=0;j<newmesh.children.length;j++){
// console.log("===================");
for(let n=0,lenn = newmesh.children[j].children.length;n<lenn;n++){
if(newmesh.children[j].children[n].name == "top"){
newmesh.children[j].children[n].animations = [];
newmesh.children[j].children[n].animations.push(tclip.clone());
let mixer = new THREE.AnimationMixer( newmesh.children[j].children[n] );
// console.log(n);
// console.log(newmesh.children[j].children[n]);
newmesh.mixer.push(mixer);
newmesh.mixerpush = false;
// mixers.push(mixer);
@ -261,6 +274,7 @@ export function TrainListN() {
// pos.position.x = -73.5;
// newmesh.children[j].add( pos );
newmesh.children[j].rotalist = [];
// console.log(newmesh);
}
//
@ -329,6 +343,7 @@ export function TrainListN() {
scope.list[data[i].groupNumber] = newmesh;
//scene.add(newmesh);
}
// console.log(selectmesh);
// for(let i=0,leni=selectmesh.children.length;i<leni;i++){
// selectmesh.children[i].geometry.dispose();
// selectmesh.children[i].material.dispose();
@ -346,6 +361,7 @@ let onProgress = function ( xhr ) {
if ( xhr.lengthComputable ) {
let percentComplete = xhr.loaded / xhr.total * 100;
console.log( Math.round( percentComplete, 2 ) + '% downloaded' );
}
@ -373,6 +389,7 @@ function getTextCanvas(text){
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.clearRect(0,0,128,64);
//console.log(text.groupNumber);
ctx.drawImage(beauty,0,0,128, 64);
ctx.fillText("车组号:"+text.groupNumber, 40,10);
ctx.fillText("车组人员:XXX", 40,20);

View File

@ -38,6 +38,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,sta
var datatype = '00';
this.teststomp = new StompClient();
// let toppic = '/app/topic/simulation/client/'+routegroup+'/drive';
console.log(routegroup);
this.topic = '/queue/simulation/'+routegroup+'/trainPosition';
let allDeviceTopic = '/queue/simulation/'+routegroup+'/srDeviceState';
let hmiTopic = '/queue/simulation/'+routegroup+'/train/001/Hmi';
@ -51,6 +52,8 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,sta
//切换车辆修改列车属性
this.updatamap = function(newsectionlist,newlinklist,newsignallist,newstationstandlist,newtrainlisttest,newrealsectionlist,newrails,newtdt, materiallist, nowaction, scene) {
// console.log(mapdata);
// console.log(newtrainlisttest);
trainmodel = newtrainlisttest.group.children[0];
trainlisttest = newtrainlisttest;
sectionlist = newsectionlist;
@ -99,6 +102,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,sta
let initStatus = true;
// 仿真socket接口回调函数
function callback(Response) {
// console.log(Response);
// 对象化数据
let data = JSON.parse(Response.body);
@ -127,6 +131,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,sta
}
// stats.update();
// 遍历后台数据
// console.log(data);
}
@ -223,6 +228,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,sta
// if(updateTrainModel.children[1].rotalist.length > 0 || updateTrainModel.children[2].rotalist.length > 0 || updateTrainModel.children[3].rotalist.length > 0 || updateTrainModel.children[4].rotalist.length > 0|| updateTrainModel.children["black"].rotalist.length > 0){
for(let rs = 1;rs<updateTrainModel.children.length;rs++){
//console.log(rs);
if(updateTrainModel.children[rs].rotalist[0]){
let offsetz = parseFloat(updateTrainModel.children[rs].rotalist[0].posr.z) + parseFloat(updateTrainModel.children[rs].position.z);
@ -245,11 +251,13 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,sta
xh = updateTrainModel.children[rs].rotalist.length;
}
}
//console.log(trainmodel.children[rs].rotalist.length);
}
}
// console.log(trainmodel.rotalist);
// }
}else{
@ -295,6 +303,7 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,sta
// if(updateTrainModel.children[1].rotalist.length > 0 || updateTrainModel.children[2].rotalist.length > 0 || updateTrainModel.children[3].rotalist.length > 0 || updateTrainModel.children[4].rotalist.length > 0|| updateTrainModel.children["black"].rotalist.length > 0){
for(let rs = 1;rs<updateTrainModel.children.length;rs++){
//console.log(rs);
if(updateTrainModel.children[rs].rotalist[0]){
let offsetz = parseFloat(updateTrainModel.children[rs].rotalist[0].posr.z) - parseFloat(updateTrainModel.children[rs].matrixWorld.elements[14]);

View File

@ -4,9 +4,11 @@ export function UpdateTrain(camera,traindata,control){
if(traindata != undefined && traindata.group.children[0]){//traindata.group.children[0].dispose == false
if(traindata.group.children[0].progress != null){
// console.log(traindata.group);
let trainmodel = traindata.group.children[0];
if(trainmodel.speeds > 0 && trainmodel.speeds){
let speed = null;
// console.log(traindata.group.children[0].progress);
if(traindata.group.children[0].progress >=0&&traindata.group.children[0].progress<=1){
let movecurve = trainmodel.curve;
@ -42,6 +44,7 @@ export function UpdateTrain(camera,traindata,control){
if(trainmodel.children[1].rotalist.length > 0 || trainmodel.children[2].rotalist.length > 0 || trainmodel.children[3].rotalist.length > 0 || trainmodel.children[4].rotalist.length > 0|| trainmodel.children[5].rotalist.length > 0){
for(let rs = 1;rs<6;rs++){
//console.log(rs);
if(trainmodel.children[rs].rotalist[0]){
let offsetz = parseFloat(trainmodel.children[rs].matrixWorld.elements[14]) - parseFloat(trainmodel.children[rs].rotalist[0].posr.z);
@ -63,6 +66,7 @@ export function UpdateTrain(camera,traindata,control){
xh = trainmodel.children[rs].rotalist.length;
}
}
//console.log(trainmodel.children[rs].rotalist.length);
}
}
}
@ -99,6 +103,7 @@ export function UpdateTrain(camera,traindata,control){
if(trainmodel.children[1].rotalist.length > 0 || trainmodel.children[2].rotalist.length > 0 || trainmodel.children[3].rotalist.length > 0 || trainmodel.children[4].rotalist.length > 0|| trainmodel.children[5].rotalist.length > 0){
for(let rs = 1;rs<6;rs++){
//console.log(rs);
if(trainmodel.children[rs].rotalist[0]){
let offsetz = parseFloat(trainmodel.children[rs].rotalist[0].posr.z) - parseFloat(trainmodel.children[rs].matrixWorld.elements[14]);
@ -121,10 +126,13 @@ export function UpdateTrain(camera,traindata,control){
xh = trainmodel.children[rs].rotalist.length;
}
}
//console.log(trainmodel.children[rs].rotalist.length);
}
}
// console.log(trainmodel.rotalist);
}
trainmodel.progress += trainmodel.speeds;
}
@ -144,6 +152,9 @@ export function UpdateTrain(camera,traindata,control){
trainmodel.nextcode = null;
}
// console.log(trainmodel.name);
// console.log(trainmodel.progress);
// console.log(trainmodel.nextcurve);
// if(trainmodel.status == "02"){
// trainmodel.progress = 0;
// }else if(trainmodel.status == "03"){
@ -186,6 +197,7 @@ export function UpdateTrain(camera,traindata,control){
if(trainmodel.children[1].rotalist.length > 0 || trainmodel.children[2].rotalist.length > 0 || trainmodel.children[3].rotalist.length > 0 || trainmodel.children[4].rotalist.length > 0|| trainmodel.children[5].rotalist.length > 0){
for(let rs = 1;rs<6;rs++){
//console.log(rs);
if(trainmodel.children[rs].rotalist[0]){
let offsetz = parseFloat(trainmodel.children[rs].matrixWorld.elements[14]) - parseFloat(trainmodel.children[rs].rotalist[0].posr.z);
@ -207,6 +219,7 @@ export function UpdateTrain(camera,traindata,control){
xh = trainmodel.children[rs].rotalist.length;
}
}
//console.log(trainmodel.children[rs].rotalist.length);
}
}
}
@ -243,6 +256,7 @@ export function UpdateTrain(camera,traindata,control){
if(trainmodel.children[1].rotalist.length > 0 || trainmodel.children[2].rotalist.length > 0 || trainmodel.children[3].rotalist.length > 0 || trainmodel.children[4].rotalist.length > 0|| trainmodel.children[5].rotalist.length > 0){
for(let rs = 1;rs<6;rs++){
//console.log(rs);
if(trainmodel.children[rs].rotalist[0]){
let offsetz = parseFloat(trainmodel.children[rs].rotalist[0].posr.z) - parseFloat(trainmodel.children[rs].matrixWorld.elements[14]);
@ -265,12 +279,16 @@ export function UpdateTrain(camera,traindata,control){
xh = trainmodel.children[rs].rotalist.length;
}
}
//console.log(trainmodel.children[rs].rotalist.length);
}
}
// console.log(trainmodel.rotalist);
}
// console.log(trainmodel.nextcurve);
if(trainmodel.progress > -(trainmodel.speeds)){
trainmodel.progress += trainmodel.speeds;
}

View File

@ -55,9 +55,12 @@ export function Jlmap3dSubscribeNew(jlmap3d,routegroup,jsonwebwork) {
jsonwebwork.onmessage = function (event) {
// console.log(event.data);
// if(event.data.deviceType == "TRAIN"){
// // console.log(event.data);
//
// }
// console.log(event.data);
if(event.data.type == "Device_Load_Destroy_3D"){
DeviceDestroy(event.data);
return;
@ -66,16 +69,19 @@ export function Jlmap3dSubscribeNew(jlmap3d,routegroup,jsonwebwork) {
if(event.data.type == 'TrainRun_3D'){
for(let i=0,leni=event.data.body.length;i<leni;i++){
// console.log(event.data.body[i]);
trainRunNew(event.data.body[i]);
}
return;
}
// if(event.data.type == 'TRAIN'){
// console.log(event.data);
// trainrun(event.data);
// }
if (event.data.type== 'SIGNAL' && signallist) {
signalupdate(event.data);
// console.log(event.data);
return;
}
@ -125,6 +131,7 @@ export function Jlmap3dSubscribeNew(jlmap3d,routegroup,jsonwebwork) {
this.socketon = function(topic) {
try {
// console.log("teststomp");
// scope.teststomp.subscribe(topic, callback, header);
} catch (error) {
console.error('websocket订阅失败');
@ -159,9 +166,11 @@ export function Jlmap3dSubscribeNew(jlmap3d,routegroup,jsonwebwork) {
function trainRunNew(data){
let code = data.code;
// console.log(rails.sectionrail[data.section],data.section,code,'--------')
if(rails.sectionrail[data.section]){
if(trainlisttest.list[code].right != data.right){
if(data.right == "0"){
console.log('right==0')
trainlisttest.list[code].right = "0";
trainlisttest.list[code].rotation.y = Math.PI;
let point = rails.sectionrail[data.section].lineleft.getPointAt(data.offset);
@ -203,6 +212,7 @@ export function Jlmap3dSubscribeNew(jlmap3d,routegroup,jsonwebwork) {
}
if(data.right == "1"){
console.log('right==1')
trainlisttest.list[code].right = "1";
trainlisttest.list[code].rotation.y = 0;
let point = rails.sectionrail[data.section].lineleft.getPointAt(data.offset);
@ -242,7 +252,10 @@ export function Jlmap3dSubscribeNew(jlmap3d,routegroup,jsonwebwork) {
}
}
// console.log(data);
console.log(trainlisttest.list[code].dispose,'88888888');
if(trainlisttest.list[code].dispose == "0") {
console.log(trainlisttest.list[code].dispose,'-----------');
if (data.right == '1') { // 向右
trainlisttest.list[code].right = '1';
trainlisttest.list[code].progress = data.offset;
@ -297,6 +310,7 @@ export function Jlmap3dSubscribeNew(jlmap3d,routegroup,jsonwebwork) {
}
// if(trainlisttest.list[code].children[1].rotalist.length > 0 || trainlisttest.list[code].children[2].rotalist.length > 0 || trainlisttest.list[code].children[3].rotalist.length > 0 || trainlisttest.list[code].children[4].rotalist.length > 0|| trainlisttest.list[code].children[5].rotalist.length > 0){
for(let rs = 1;rs<trainlisttest.list[code].children.length;rs++){
//console.log(rs);
if(trainlisttest.list[code].children[rs].rotalist[0]){
let offsetz = parseFloat(trainlisttest.list[code].children[rs].rotalist[0].posr.z) - parseFloat(trainlisttest.list[code].children[rs].matrixWorld.elements[14]);
trainlisttest.list[code].children[rs].position.z += offsetz;
@ -306,6 +320,9 @@ export function Jlmap3dSubscribeNew(jlmap3d,routegroup,jsonwebwork) {
for(let xh=0;xh<trainlisttest.list[code].children[rs].rotalist.length;xh++){
if((trainlisttest.list[code].children[rs].matrixWorld.elements[12])>=trainlisttest.list[code].children[rs].rotalist[0].posr.x){
// if(trainlisttest.list[code].groupNumber == "005"){
// console.log("rs:"+rs);
// console.log(trainlisttest.list[code].children[rs].matrixWorld.elements[12]);
// console.log(trainlisttest.list[code].children[rs].rotalist[0].posr.x);
// }
if(rs != (trainlisttest.list[code].children.length-1)){
let asd = trainlisttest.list[code].children[rs].rotalist[0];
@ -321,6 +338,7 @@ export function Jlmap3dSubscribeNew(jlmap3d,routegroup,jsonwebwork) {
xh = trainlisttest.list[code].children[rs].rotalist.length;
}
}
//console.log(trainlisttest.list[code].children[rs].rotalist.length);
}
}
// }
@ -384,6 +402,7 @@ export function Jlmap3dSubscribeNew(jlmap3d,routegroup,jsonwebwork) {
// if(trainlisttest.list[code].children[1].rotalist.length > 0 || trainlisttest.list[code].children[2].rotalist.length > 0 || trainlisttest.list[code].children[3].rotalist.length > 0 || trainlisttest.list[code].children[4].rotalist.length > 0|| trainlisttest.list[code].children[5].rotalist.length > 0){
for(let rs = 1;rs<trainlisttest.list[code].children.length;rs++){
//console.log(rs);
if(trainlisttest.list[code].children[rs].rotalist[0]){
let offsetz = parseFloat(trainlisttest.list[code].children[rs].rotalist[0].posr.z) + parseFloat(trainlisttest.list[code].children[rs].position.z);
@ -407,23 +426,28 @@ export function Jlmap3dSubscribeNew(jlmap3d,routegroup,jsonwebwork) {
xh = trainlisttest.list[code].children[rs].rotalist.length;
}
}
//console.log(trainlisttest.list[code].children[rs].rotalist.length);
}
}
// console.log(trainlisttest.list[code].rotalist);
// }
}
}
console.log(code,trainlisttest.list[code].position.x,trainlisttest.list[code].position.y,trainlisttest.list[code].position.z, '666666')
}else{
// console.log(code,'trainlisttest.list[code].position.x = -1000000')
trainlisttest.list[code].position.x = -1000000;
}
}
function trainrun(data){
let code = data.code;
// console.log(data);
if(trainlisttest.list[code].dispose == "0"){
if(trainlisttest.list[code].curve == null){
if (data.right == '1') { // 向右

View File

@ -128,6 +128,7 @@ export function JLmap3d(dom, data,skinCode,storemod,routegroup,project) {
}
weatherManager.update(controlManager.orbitCamera.position);
// console.log(controlManager.orbitCamera.position);
// stats.update();
}
@ -146,12 +147,14 @@ export function JLmap3d(dom, data,skinCode,storemod,routegroup,project) {
delta = clock.getDelta();
for(let i=scope.mixers.length-1;i>=0;i--){
if(scope.mixers[i]._actions[0].isRunning()){
// console.log(scope.mixers[i]._actions[0].isRunning());
scope.mixers[i].update( delta );
}
}
//开启车站漫游
if(camerarail.moveswitch == true){
// console.log(camerarail.progress);
if(camerarail.progress>=0.99){
camerarail.moveswitch = false;
camerarail.curve = null;
@ -190,6 +193,7 @@ export function JLmap3d(dom, data,skinCode,storemod,routegroup,project) {
scope.mixers = null;
scope.actions = null;
scope.Subscribe = null;
//console.log(scope);
//scope = null;
}
@ -220,6 +224,7 @@ export function JLmap3d(dom, data,skinCode,storemod,routegroup,project) {
}
};
this.changeweather = function(weathertype){
// console.log(weathertype);
weatherManager.changeweather(weathertype);
}
//开启轨道镜头交互

View File

@ -141,6 +141,7 @@ export function silumationConnect(deviceaction,toptrain,downtrain,routegroup,pas
start = true;
toptrain.nowcode = null;
downtrain.nowcode = null;
console.log("仿真重开=====================");
}
@ -155,6 +156,7 @@ export function silumationConnect(deviceaction,toptrain,downtrain,routegroup,pas
let actions;
function opentraindoor(train,doorcode,direct){
// console.log(train);
if(direct == "top"){
// if(doorcode == "1"){
// actions = train.action.down;

Some files were not shown because too many files have changed in this diff Show More