修改三维cctv中路径
This commit is contained in:
parent
3bf766cbe1
commit
041528ebaa
@ -12,6 +12,8 @@ import { Pathfinding } from '@/jlmap3d/jl3dpassflow/utils/Pathfinding.js';
|
||||
// const Pathfinding = window.threePathfinding.Pathfinding;
|
||||
import { ZoneManager } from '@/jlmap3d/jl3dpassflow/model/zonemanager.js';
|
||||
|
||||
import { getPublishMapVersion, getPublishMapDetail,getPublish3dMapDetail} from '@/api/jlmap3d/load3ddata';
|
||||
|
||||
import StompClient from '@/utils/sock';
|
||||
import { Loading } from 'element-ui';
|
||||
|
||||
@ -143,7 +145,7 @@ var views = [
|
||||
];
|
||||
|
||||
|
||||
export function Jl3dpassflow(dom) {
|
||||
export function Jl3dpassflow(dom,skinCode) {
|
||||
var scope = this;
|
||||
|
||||
this.dom = dom;
|
||||
@ -235,6 +237,29 @@ export function Jl3dpassflow(dom) {
|
||||
let mouse = new THREE.Vector2();
|
||||
let raycaster = new THREE.Raycaster();
|
||||
|
||||
|
||||
getPublishMapDetail(skinCode).then(netdata => {
|
||||
|
||||
// let assetsdata = JSON.parse(netdata.data.sections);
|
||||
console.log(netdata);
|
||||
// if(assetsdata.link){
|
||||
// scope.datatype = "old";
|
||||
// scope.jsonwebwork = new Worker("../../static/workertest/jsonworker.js");
|
||||
// scope.Subscribe = new Jlmap3dSubscribe(scope,routegroup,scope.jsonwebwork);
|
||||
// scope.Subscribe.socketon(scope.Subscribe.topic);
|
||||
// SimulationLoad(mapnetdata,scope,netdata.data,mapdata,camera,controls,scenesimulation,storemod);
|
||||
//
|
||||
// }else{
|
||||
// scope.datatype = "new";
|
||||
// scope.jsonwebworknew = new Worker("../../static/workertest/jsonworkernew.js");
|
||||
// scope.Subscribe = new Jlmap3dSubscribeNew(scope,routegroup,scope.jsonwebworknew);
|
||||
// scope.Subscribe.socketon(scope.Subscribe.topic);
|
||||
// SimulationLoadNew(mapnetdata,scope,netdata.data,mapdata,camera,controls,scenesimulation,storemod);
|
||||
// }
|
||||
|
||||
});
|
||||
|
||||
|
||||
var loader = new THREE.OBJLoader();
|
||||
|
||||
// load a resource
|
||||
@ -364,7 +389,7 @@ export function Jl3dpassflow(dom) {
|
||||
initzhajiinaimation(scope.modelmanager.zhajiin.mesh);
|
||||
initzhajioutanimation(scope.modelmanager.zhajiout.mesh);
|
||||
scene.add(scope.modelmanager.section.mesh);
|
||||
scene.add(scope.modelmanager.train.mesh);
|
||||
// scene.add(scope.modelmanager.train.mesh);
|
||||
level = scope.modelmanager.station.mesh;
|
||||
|
||||
monitor = scope.modelmanager.monitor.mesh;
|
||||
@ -511,13 +536,13 @@ export function Jl3dpassflow(dom) {
|
||||
|
||||
if(humanlist.children[i].status == 0){
|
||||
if(humanlist.children[i].stage == 0){
|
||||
|
||||
groupID = pathfinder.getGroup( ZONE, humanlist.children[i].position );
|
||||
targetPosition = stationzon.getzoneposition("security");
|
||||
path = pathfinder.findPath( humanlist.children[i].position, targetPosition, ZONE, groupID );
|
||||
|
||||
let points = [];
|
||||
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
||||
|
||||
groupID = pathfinder.getGroup( ZONE, points[0] );
|
||||
targetPosition = stationzon.getzoneposition("security");
|
||||
path = pathfinder.findPath( points[0], targetPosition, ZONE, groupID );
|
||||
|
||||
for(let i=0;i<path.length;i++){
|
||||
points.push(new THREE.Vector3(path[i].x,path[i].y,path[i].z));
|
||||
}
|
||||
@ -526,13 +551,13 @@ export function Jl3dpassflow(dom) {
|
||||
}
|
||||
|
||||
if(humanlist.children[i].stage == 1){
|
||||
|
||||
groupID = pathfinder.getGroup( ZONE, humanlist.children[i].position );
|
||||
targetPosition = stationzon.getzoneposition("entergate");
|
||||
path = pathfinder.findPath( humanlist.children[i].position, targetPosition, ZONE, groupID );
|
||||
|
||||
let points = [];
|
||||
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
||||
|
||||
groupID = pathfinder.getGroup( ZONE, points[0] );
|
||||
targetPosition = stationzon.getzoneposition("entergate");
|
||||
path = pathfinder.findPath( points[0], targetPosition, ZONE, groupID );
|
||||
|
||||
for(let i=0;i<path.length;i++){
|
||||
points.push(new THREE.Vector3(path[i].x,path[i].y,path[i].z));
|
||||
}
|
||||
@ -555,13 +580,17 @@ export function Jl3dpassflow(dom) {
|
||||
//1--top
|
||||
//2-- down
|
||||
if(direct == 1){
|
||||
groupID = pathfinder.getGroup( ZONE, humanlist.children[i].position );
|
||||
groupID = pathfinder.getGroup( ZONE, points[0] );
|
||||
targetPosition = stationzon.getzoneposition("standtop");
|
||||
path = pathfinder.findPath( humanlist.children[i].position, targetPosition, ZONE, groupID );
|
||||
path = pathfinder.findPath( points[0], targetPosition, ZONE, groupID );
|
||||
}else{
|
||||
groupID = pathfinder.getGroup( ZONE, humanlist.children[i].position );
|
||||
groupID = pathfinder.getGroup( ZONE, points[0] );
|
||||
targetPosition = stationzon.getzoneposition("standdown");
|
||||
path = pathfinder.findPath( humanlist.children[i].position, targetPosition, ZONE, groupID );
|
||||
path = pathfinder.findPath( points[0], targetPosition, ZONE, groupID );
|
||||
}
|
||||
if(path == null){
|
||||
console.log(points);
|
||||
console.log(path);
|
||||
}
|
||||
for(let i=0;i<path.length;i++){
|
||||
points.push(new THREE.Vector3(path[i].x,path[i].y,path[i].z));
|
||||
@ -600,13 +629,16 @@ export function Jl3dpassflow(dom) {
|
||||
// // moveanimateinit(humans[i],i,points,i,0.002);
|
||||
// }
|
||||
if(humanlist.children[i].stage == 4){
|
||||
|
||||
groupID = pathfinder.getGroup( ZONE, humanlist.children[i].position );
|
||||
targetPosition = stationzon.getzoneposition("exitgate");
|
||||
path = pathfinder.findPath( humanlist.children[i].position, targetPosition, ZONE, groupID );
|
||||
|
||||
let points = [];
|
||||
points.push(new THREE.Vector3(humanlist.children[i].position.x,humanlist.children[i].position.y,humanlist.children[i].position.z));
|
||||
|
||||
groupID = pathfinder.getGroup( ZONE, points[0] );
|
||||
targetPosition = stationzon.getzoneposition("exitgate");
|
||||
path = pathfinder.findPath( points[0], targetPosition, ZONE, groupID );
|
||||
if(path == null){
|
||||
console.log(points[0]);
|
||||
console.log(targetPosition);
|
||||
}
|
||||
for(let i=0;i<path.length;i++){
|
||||
points.push(new THREE.Vector3(path[i].x,path[i].y,path[i].z));
|
||||
}
|
||||
@ -628,18 +660,23 @@ export function Jl3dpassflow(dom) {
|
||||
//1--top
|
||||
//2-- down
|
||||
if(direct == 1){
|
||||
groupID = pathfinder.getGroup( ZONE, humanlist.children[i].position );
|
||||
groupID = pathfinder.getGroup( ZONE, points[0] );
|
||||
targetPosition = stationzon.getzoneposition("exit1");
|
||||
path = pathfinder.findPath( humanlist.children[i].position, targetPosition, ZONE, groupID );
|
||||
path = pathfinder.findPath( points[0], targetPosition, ZONE, groupID );
|
||||
}else{
|
||||
groupID = pathfinder.getGroup( ZONE, humanlist.children[i].position );
|
||||
groupID = pathfinder.getGroup( ZONE, points[0] );
|
||||
targetPosition = stationzon.getzoneposition("exit2");
|
||||
path = pathfinder.findPath( humanlist.children[i].position, targetPosition, ZONE, groupID );
|
||||
path = pathfinder.findPath( points[0], targetPosition, ZONE, groupID );
|
||||
}
|
||||
if(path == null){
|
||||
console.log(points[0]);
|
||||
console.log(targetPosition);
|
||||
}
|
||||
for(let i=0;i<path.length;i++){
|
||||
points.push(new THREE.Vector3(path[i].x,path[i].y,path[i].z));
|
||||
}
|
||||
moveanimateinit(humanlist.children[i],i,points,i);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -671,10 +708,7 @@ export function Jl3dpassflow(dom) {
|
||||
//更新模型坐标
|
||||
if(humanlist.children[i].status == 1){
|
||||
// humanlist.children[i].runrail.enable = false;
|
||||
humanlist.children[i].progress = 1;
|
||||
// humanlist.children[i].mixer.runplay = false;
|
||||
humanlist.children[i].action.stop();
|
||||
humanlist.children[i].status = 0;
|
||||
|
||||
|
||||
// if(humanlist.children[i].stage == 4){
|
||||
//
|
||||
@ -682,6 +716,12 @@ export function Jl3dpassflow(dom) {
|
||||
// // humans.splice(i,1);
|
||||
// }
|
||||
//
|
||||
|
||||
humanlist.children[i].progress = 1;
|
||||
// humanlist.children[i].mixer.runplay = false;
|
||||
humanlist.children[i].action.stop();
|
||||
humanlist.children[i].status = 0;
|
||||
|
||||
if(humanlist.children[i].stage == 6){
|
||||
humanlist.remove(humanlist.children[i]);
|
||||
// humanlist.children[i].stage = 7;
|
||||
|
@ -19,8 +19,8 @@ let enter2 = {
|
||||
stage : "0",
|
||||
randompoint : new THREE.Vector3(27,9.8,16),
|
||||
railpoints : [
|
||||
new THREE.Vector3(35,9.8,31.5),
|
||||
new THREE.Vector3(31,9.8,31.5)
|
||||
new THREE.Vector3(34,9.8,31.5),
|
||||
new THREE.Vector3(32,9.8,31.5)
|
||||
]
|
||||
};
|
||||
|
||||
@ -43,11 +43,11 @@ let entergate = {
|
||||
stage : "2",
|
||||
randompoint : new THREE.Vector3(2.3,9.8,13),
|
||||
railpoints : [
|
||||
new THREE.Vector3(6.3,9.8,17.4),
|
||||
new THREE.Vector3(4.8,9.8,17.4),
|
||||
new THREE.Vector3(3.4,9.8,17.4),
|
||||
new THREE.Vector3(2.1,9.8,17.4),
|
||||
new THREE.Vector3(0.7,9.8,17.4)
|
||||
new THREE.Vector3(6.3,9.8,18.1),
|
||||
new THREE.Vector3(4.8,9.8,18.1),
|
||||
new THREE.Vector3(3.4,9.8,18.1),
|
||||
new THREE.Vector3(2.1,9.8,18.1),
|
||||
new THREE.Vector3(0.7,9.8,18.1)
|
||||
]
|
||||
};
|
||||
|
||||
@ -82,11 +82,11 @@ let exitgate = {
|
||||
stage : "5",
|
||||
randompoint : new THREE.Vector3(-16,9.8,-0.4),
|
||||
railpoints : [
|
||||
new THREE.Vector3(18.8,9.8,-0.27),
|
||||
new THREE.Vector3(18.8,9.8,1.18),
|
||||
new THREE.Vector3(18.8,9.8,2.64),
|
||||
new THREE.Vector3(18.8,9.8,4.1),
|
||||
new THREE.Vector3(18.8,9.8,5.4)
|
||||
new THREE.Vector3(18,9.8,-0.27),
|
||||
new THREE.Vector3(18,9.8,1.18),
|
||||
new THREE.Vector3(18,9.8,2.64),
|
||||
new THREE.Vector3(18,9.8,4.1),
|
||||
new THREE.Vector3(18,9.8,5.4)
|
||||
]
|
||||
};
|
||||
|
||||
@ -109,8 +109,8 @@ let exit2 = {
|
||||
stage : "6",
|
||||
randompoint : new THREE.Vector3(),
|
||||
railpoints : [
|
||||
new THREE.Vector3(28.3,9.8,28.8),
|
||||
new THREE.Vector3(31.2,9.8,28.8)
|
||||
new THREE.Vector3(28.3,9.8,28),
|
||||
new THREE.Vector3(30.2,9.8,28)
|
||||
]
|
||||
};
|
||||
|
||||
|
@ -54,7 +54,7 @@ export default {
|
||||
init: function () {
|
||||
// let mapdata = this.$store.state.socket.device;
|
||||
const dom = document.getElementById('jl3d');
|
||||
this.jl3d = new Jl3dpassflow(dom);
|
||||
this.jl3d = new Jl3dpassflow(dom,this.$route.query.mapid);
|
||||
},
|
||||
switchrender() {
|
||||
if (this.renderswitch == true) {
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user