Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-station-module-view
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
station
amos-station-module-view
Commits
029270c7
Commit
029270c7
authored
Jun 10, 2020
by
suhuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.修改多线程
parent
65a1bc65
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
194 additions
and
95 deletions
+194
-95
3dService.js
mods/components/3dviewConvertor/services/3dService.js
+11
-4
index.json
...mponents/3dviewConvertor/threeres/models/yinan/index.json
+88
-66
View3D.js
mods/components/3dviewConvertor/view/View3D.js
+40
-21
conf.js
mods/components/3dviewConvertor/view/conf.js
+4
-4
dataProcessor.js
mods/components/3dviewConvertor/view/dataProcessor.js
+51
-0
No files found.
mods/components/3dviewConvertor/services/3dService.js
View file @
029270c7
...
...
@@ -3,6 +3,8 @@ import * as helper from 'base-r3d/lib/utils/helper';
import
{
FscSerUrl
,
FasSerUrl
}
from
'./../consts/urlConsts'
;
import
{
commonGet
,
commonPost
,
singleFetch
}
from
'./../utils/request'
;
import
{
encodeUrl
}
from
'amos-tool'
;
//---------------- 加载模型、解析模型json -----------
export
const
getObjFromNet
=
(
url
,
callback
)
=>
{
return
singleFetch
(
url
).
then
(
data
=>
{
...
...
@@ -10,10 +12,15 @@ export const getObjFromNet = (url, callback) => {
// 临时将 asyncModels 也放在主线程
const
{
basePath
,
asyncModels
=
[]
}
=
data
;
const
_asyncModels
=
asyncModels
.
map
(
m
=>
({
basePath
,
...
m
}));
const
_asyncModels
=
asyncModels
.
map
(
m
=>
{
const
{
objName
,
mtlName
,
...
rest
}
=
m
;
return
{
basePath
,
...
rest
,
objName
:
encodeUrl
(
objName
),
mtlName
:
encodeUrl
(
mtlName
)
};
});
// const _objs = objs.concat(_asyncModels);
callback
(
objs
,
_asyncModels
);
...
...
mods/components/3dviewConvertor/threeres/models/yinan/index.json
View file @
029270c7
...
...
@@ -2,74 +2,96 @@
"sceneName"
:
"station-yinan"
,
"basePath"
:
"/mods/components/3dviewConvertor/threeres/models/yinan/"
,
"models"
:
[
{
"objName"
:
"ground.obj"
,
"mtlName"
:
"ground.mtl"
,
"modelLevel"
:
"Park"
},
{
"objName"
:
"helper-text.obj"
,
"mtlName"
:
"helper-text.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"building_01.obj"
,
"mtlName"
:
"building_01.mtl"
,
"modelLevel"
:
"Building"
,
"foreignKey"
:
"valve-hall_01"
},
{
"objName"
:
"building_02.obj"
,
"mtlName"
:
"building_02.mtl"
,
"modelLevel"
:
"Building"
,
"foreignKey"
:
"valve-hall_02"
},
{
"objName"
:
"building_03.obj"
,
"mtlName"
:
"building_03.mtl"
,
"modelLevel"
:
"Building"
,
"foreignKey"
:
"valve-hall_03"
},
{
"objName"
:
"building_04.obj"
,
"mtlName"
:
"building_04.mtl"
,
"modelLevel"
:
"Building"
},
{
"objName"
:
"building_05.obj"
,
"mtlName"
:
"building_05.mtl"
,
"modelLevel"
:
"Building"
},
{
"objName"
:
"Complex-building.obj"
,
"mtlName"
:
"Complex-building.mtl"
,
"modelLevel"
:
"Building"
},
{
"objName"
:
"gatehouse.obj"
,
"mtlName"
:
"gatehouse.mtl"
,
"modelLevel"
:
"Building"
}
],
"indoors"
:
[
{
"primaryKey"
:
"valve-hall_01"
,
"children"
:
[
{
"objName"
:
"valve-hall_01#roof.obj"
,
"mtlName"
:
"valve-hall_01#roof.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_01#wall.obj"
,
"mtlName"
:
"valve-hall_01#wall.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_01#t1.obj"
,
"mtlName"
:
"valve-hall_01#t1.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_01#t2.obj"
,
"mtlName"
:
"valve-hall_01#t2.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_01#t3.obj"
,
"mtlName"
:
"valve-hall_01#t3.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_01#t4.obj"
,
"mtlName"
:
"valve-hall_01#t4.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_01#t5.obj"
,
"mtlName"
:
"valve-hall_01#t5.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_01#t6.obj"
,
"mtlName"
:
"valve-hall_01#t6.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_01#t7.obj"
,
"mtlName"
:
"valve-hall_01#t7.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_01#t8.obj"
,
"mtlName"
:
"valve-hall_01#t8.mtl"
,
"modelLevel"
:
"Stuff"
}
]},
{
"primaryKey"
:
"valve-hall_02"
,
"children"
:
[
{
"objName"
:
"valve-hall_02#roof.obj"
,
"mtlName"
:
"valve-hall_02#roof.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_02#wall.obj"
,
"mtlName"
:
"valve-hall_02#wall.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_02#t1.obj"
,
"mtlName"
:
"valve-hall_02#t1.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_02#t2.obj"
,
"mtlName"
:
"valve-hall_02#t2.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_02#t3.obj"
,
"mtlName"
:
"valve-hall_02#t3.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_02#t4.obj"
,
"mtlName"
:
"valve-hall_02#t4.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_02#t5.obj"
,
"mtlName"
:
"valve-hall_02#t5.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_02#t6.obj"
,
"mtlName"
:
"valve-hall_02#t6.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_02#t7.obj"
,
"mtlName"
:
"valve-hall_02#t7.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_02#t8.obj"
,
"mtlName"
:
"valve-hall_02#t8.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_02#t9.obj"
,
"mtlName"
:
"valve-hall_02#t9.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_02#t10.obj"
,
"mtlName"
:
"valve-hall_02#t10.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_02#t11.obj"
,
"mtlName"
:
"valve-hall_02#t11.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_02#t12.obj"
,
"mtlName"
:
"valve-hall_02#t12.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_02#t13.obj"
,
"mtlName"
:
"valve-hall_02#t13.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_02#t14.obj"
,
"mtlName"
:
"valve-hall_02#t14.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_02#t15.obj"
,
"mtlName"
:
"valve-hall_02#t15.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_02#t16.obj"
,
"mtlName"
:
"valve-hall_02#t16.mtl"
,
"modelLevel"
:
"Stuff"
}
]},
{
"primaryKey"
:
"valve-hall_03"
,
"children"
:
[
{
"objName"
:
"valve-hall_03#roof.obj"
,
"mtlName"
:
"valve-hall_03#roof.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_03#wall.obj"
,
"mtlName"
:
"valve-hall_03#wall.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_03#t1.obj"
,
"mtlName"
:
"valve-hall_03#t1.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_03#t2.obj"
,
"mtlName"
:
"valve-hall_03#t2.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_03#t3.obj"
,
"mtlName"
:
"valve-hall_03#t3.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_03#t4.obj"
,
"mtlName"
:
"valve-hall_03#t4.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_03#t5.obj"
,
"mtlName"
:
"valve-hall_03#t5.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_03#t6.obj"
,
"mtlName"
:
"valve-hall_03#t6.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_03#t7.obj"
,
"mtlName"
:
"valve-hall_03#t7.mtl"
,
"modelLevel"
:
"Stuff"
},
{
"objName"
:
"valve-hall_03#t8.obj"
,
"mtlName"
:
"valve-hall_03#t8.mtl"
,
"modelLevel"
:
"Stuff"
}
]}
{
"objName"
:
"ground.obj"
,
"mtlName"
:
"ground.mtl"
,
"modelLevel"
:
"Park"
,
"userData"
:
{
"key"
:
"ground"
,
"level"
:
"root"
}
},
{
"objName"
:
"helper-text.obj"
,
"mtlName"
:
"helper-text.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"helper-text"
,
"level"
:
"root"
}},
{
"objName"
:
"building_01.obj"
,
"mtlName"
:
"building_01.mtl"
,
"modelLevel"
:
"Building"
,
"userData"
:
{
"key"
:
"building_01"
,
"level"
:
"root"
,
"parentKey"
:
""
,
"fitView"
:
{
"position"
:
[
-125.24438800571633
,
37.31694518022703
,
37.45503575603876
],
"target"
:
[
-82.16651609803264
,
0.2787801682213826
,
3.8565986056023336
]
}
}
},
{
"objName"
:
"building_02.obj"
,
"mtlName"
:
"building_02.mtl"
,
"modelLevel"
:
"Building"
,
"userData"
:
{
"key"
:
"building_02"
,
"level"
:
"root"
,
"parentKey"
:
""
,
"fitView"
:
{
"position"
:
[
-6.892904397414338
,
33.66816388530167
,
45.464966257474764
],
"target"
:
[
-29.492637996950595
,
-0.029036413078703773
,
-0.14266102890052573
]
}
}
},
{
"objName"
:
"building_03.obj"
,
"mtlName"
:
"building_03.mtl"
,
"modelLevel"
:
"Building"
,
"userData"
:
{
"key"
:
"building_03"
,
"level"
:
"root"
,
"parentKey"
:
""
,
"fitView"
:
{
"position"
:
[
71.88616384445248
,
37.78356236595482
,
6.803086007181708
],
"target"
:
[
-47.2223570471867
,
-39.42491207712449
,
-5.377338476592742
]
}
}
},
{
"objName"
:
"building_04.obj"
,
"mtlName"
:
"building_04.mtl"
,
"modelLevel"
:
"Building"
,
"userData"
:
{
"key"
:
"building_04"
,
"level"
:
"root"
}},
{
"objName"
:
"building_05.obj"
,
"mtlName"
:
"building_05.mtl"
,
"modelLevel"
:
"Building"
,
"userData"
:
{
"key"
:
"building_05"
,
"level"
:
"root"
}},
{
"objName"
:
"Complex-building.obj"
,
"mtlName"
:
"Complex-building.mtl"
,
"modelLevel"
:
"Building"
,
"userData"
:
{
"key"
:
"Complex-building"
,
"level"
:
"root"
}},
{
"objName"
:
"gatehouse.obj"
,
"mtlName"
:
"gatehouse.mtl"
,
"modelLevel"
:
"Building"
,
"userData"
:
{
"key"
:
"gatehouse"
,
"level"
:
"root"
}}
],
"asyncModels"
:
[
{
"objName"
:
"electric-tower_01.obj"
,
"mtlName"
:
"electric-tower_01.mtl"
,
"modelLevel"
:
"Building"
},
{
"objName"
:
"electric-tower_02.obj"
,
"mtlName"
:
"electric-tower_02.mtl"
,
"modelLevel"
:
"Building"
},
{
"objName"
:
"electric-tower_03.obj"
,
"mtlName"
:
"electric-tower_03.mtl"
,
"modelLevel"
:
"Building"
},
{
"objName"
:
"electric-tower_04.obj"
,
"mtlName"
:
"electric-tower_04.mtl"
,
"modelLevel"
:
"Building"
},
{
"objName"
:
"electric-tower_05.obj"
,
"mtlName"
:
"electric-tower_05.mtl"
,
"modelLevel"
:
"Building"
},
{
"objName"
:
"electric-tower_06.obj"
,
"mtlName"
:
"electric-tower_06.mtl"
,
"modelLevel"
:
"Building"
},
{
"objName"
:
"electric-tower_07.obj"
,
"mtlName"
:
"electric-tower_07.mtl"
,
"modelLevel"
:
"Building"
},
{
"objName"
:
"electric-tower_08.obj"
,
"mtlName"
:
"electric-tower_08.mtl"
,
"modelLevel"
:
"Building"
},
{
"objName"
:
"electric-tower_09.obj"
,
"mtlName"
:
"electric-tower_09.mtl"
,
"modelLevel"
:
"Building"
},
{
"objName"
:
"electric-tower_10.obj"
,
"mtlName"
:
"electric-tower_10.mtl"
,
"modelLevel"
:
"Building"
},
{
"objName"
:
"electric-tower_11.obj"
,
"mtlName"
:
"electric-tower_11.mtl"
,
"modelLevel"
:
"Building"
}
{
"objName"
:
"electric-tower_01.obj"
,
"mtlName"
:
"electric-tower_01.mtl"
,
"modelLevel"
:
"Building"
,
"userData"
:
{
"key"
:
"electric-tower_01"
,
"level"
:
"root"
}},
{
"objName"
:
"electric-tower_02.obj"
,
"mtlName"
:
"electric-tower_02.mtl"
,
"modelLevel"
:
"Building"
,
"userData"
:
{
"key"
:
"electric-tower_02"
,
"level"
:
"root"
}},
{
"objName"
:
"electric-tower_03.obj"
,
"mtlName"
:
"electric-tower_03.mtl"
,
"modelLevel"
:
"Building"
,
"userData"
:
{
"key"
:
"electric-tower_03"
,
"level"
:
"root"
}},
{
"objName"
:
"electric-tower_04.obj"
,
"mtlName"
:
"electric-tower_04.mtl"
,
"modelLevel"
:
"Building"
,
"userData"
:
{
"key"
:
"electric-tower_04"
,
"level"
:
"root"
}},
{
"objName"
:
"electric-tower_05.obj"
,
"mtlName"
:
"electric-tower_05.mtl"
,
"modelLevel"
:
"Building"
,
"userData"
:
{
"key"
:
"electric-tower_05"
,
"level"
:
"root"
}},
{
"objName"
:
"electric-tower_06.obj"
,
"mtlName"
:
"electric-tower_06.mtl"
,
"modelLevel"
:
"Building"
,
"userData"
:
{
"key"
:
"electric-tower_06"
,
"level"
:
"root"
}},
{
"objName"
:
"electric-tower_07.obj"
,
"mtlName"
:
"electric-tower_07.mtl"
,
"modelLevel"
:
"Building"
,
"userData"
:
{
"key"
:
"electric-tower_07"
,
"level"
:
"root"
}},
{
"objName"
:
"electric-tower_08.obj"
,
"mtlName"
:
"electric-tower_08.mtl"
,
"modelLevel"
:
"Building"
,
"userData"
:
{
"key"
:
"electric-tower_08"
,
"level"
:
"root"
}},
{
"objName"
:
"electric-tower_09.obj"
,
"mtlName"
:
"electric-tower_09.mtl"
,
"modelLevel"
:
"Building"
,
"userData"
:
{
"key"
:
"electric-tower_09"
,
"level"
:
"root"
}},
{
"objName"
:
"electric-tower_10.obj"
,
"mtlName"
:
"electric-tower_10.mtl"
,
"modelLevel"
:
"Building"
,
"userData"
:
{
"key"
:
"electric-tower_10"
,
"level"
:
"root"
}},
{
"objName"
:
"electric-tower_11.obj"
,
"mtlName"
:
"electric-tower_11.mtl"
,
"modelLevel"
:
"Building"
,
"userData"
:
{
"key"
:
"electric-tower_11"
,
"level"
:
"root"
}},
{
"objName"
:
"valve-hall_01#roof.obj"
,
"mtlName"
:
"valve-hall_01#roof.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_01_roof"
,
"level"
:
"sub"
,
"parentKey"
:
"building_01"
}},
{
"objName"
:
"valve-hall_01#wall.obj"
,
"mtlName"
:
"valve-hall_01#wall.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_01_wall"
,
"level"
:
"sub"
,
"parentKey"
:
"building_01"
}},
{
"objName"
:
"valve-hall_01#t1.obj"
,
"mtlName"
:
"valve-hall_01#t1.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_01_t1"
,
"level"
:
"sub"
,
"parentKey"
:
"building_01"
}},
{
"objName"
:
"valve-hall_01#t2.obj"
,
"mtlName"
:
"valve-hall_01#t2.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_01_t2"
,
"level"
:
"sub"
,
"parentKey"
:
"building_01"
}},
{
"objName"
:
"valve-hall_01#t3.obj"
,
"mtlName"
:
"valve-hall_01#t3.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_01_t3"
,
"level"
:
"sub"
,
"parentKey"
:
"building_01"
}},
{
"objName"
:
"valve-hall_01#t4.obj"
,
"mtlName"
:
"valve-hall_01#t4.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_01_t4"
,
"level"
:
"sub"
,
"parentKey"
:
"building_01"
}},
{
"objName"
:
"valve-hall_01#t5.obj"
,
"mtlName"
:
"valve-hall_01#t5.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_01_t5"
,
"level"
:
"sub"
,
"parentKey"
:
"building_01"
}},
{
"objName"
:
"valve-hall_01#t6.obj"
,
"mtlName"
:
"valve-hall_01#t6.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_01_t6"
,
"level"
:
"sub"
,
"parentKey"
:
"building_01"
}},
{
"objName"
:
"valve-hall_01#t7.obj"
,
"mtlName"
:
"valve-hall_01#t7.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_01_t7"
,
"level"
:
"sub"
,
"parentKey"
:
"building_01"
}},
{
"objName"
:
"valve-hall_01#t8.obj"
,
"mtlName"
:
"valve-hall_01#t8.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_01_t8"
,
"level"
:
"sub"
,
"parentKey"
:
"building_01"
}},
{
"objName"
:
"valve-hall_02#roof.obj"
,
"mtlName"
:
"valve-hall_02#roof.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_02_roof"
,
"level"
:
"sub"
,
"parentKey"
:
"building_02"
}},
{
"objName"
:
"valve-hall_02#wall.obj"
,
"mtlName"
:
"valve-hall_02#wall.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_02_wall"
,
"level"
:
"sub"
,
"parentKey"
:
"building_02"
}},
{
"objName"
:
"valve-hall_02#t1.obj"
,
"mtlName"
:
"valve-hall_02#t1.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_02_t1"
,
"level"
:
"sub"
,
"parentKey"
:
"building_02"
}},
{
"objName"
:
"valve-hall_02#t2.obj"
,
"mtlName"
:
"valve-hall_02#t2.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_02_t2"
,
"level"
:
"sub"
,
"parentKey"
:
"building_02"
}},
{
"objName"
:
"valve-hall_02#t3.obj"
,
"mtlName"
:
"valve-hall_02#t3.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_02_t3"
,
"level"
:
"sub"
,
"parentKey"
:
"building_02"
}},
{
"objName"
:
"valve-hall_02#t4.obj"
,
"mtlName"
:
"valve-hall_02#t4.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_02_t4"
,
"level"
:
"sub"
,
"parentKey"
:
"building_02"
}},
{
"objName"
:
"valve-hall_02#t5.obj"
,
"mtlName"
:
"valve-hall_02#t5.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_02_t5"
,
"level"
:
"sub"
,
"parentKey"
:
"building_02"
}},
{
"objName"
:
"valve-hall_02#t6.obj"
,
"mtlName"
:
"valve-hall_02#t6.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_02_t6"
,
"level"
:
"sub"
,
"parentKey"
:
"building_02"
}},
{
"objName"
:
"valve-hall_02#t7.obj"
,
"mtlName"
:
"valve-hall_02#t7.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_02_t7"
,
"level"
:
"sub"
,
"parentKey"
:
"building_02"
}},
{
"objName"
:
"valve-hall_02#t8.obj"
,
"mtlName"
:
"valve-hall_02#t8.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_02_t8"
,
"level"
:
"sub"
,
"parentKey"
:
"building_02"
}},
{
"objName"
:
"valve-hall_02#t9.obj"
,
"mtlName"
:
"valve-hall_02#t9.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_02_t9"
,
"level"
:
"sub"
,
"parentKey"
:
"building_02"
}},
{
"objName"
:
"valve-hall_02#t10.obj"
,
"mtlName"
:
"valve-hall_02#t10.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_02_t10"
,
"level"
:
"sub"
,
"parentKey"
:
"building_02"
}},
{
"objName"
:
"valve-hall_02#t11.obj"
,
"mtlName"
:
"valve-hall_02#t11.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_02_t11"
,
"level"
:
"sub"
,
"parentKey"
:
"building_02"
}},
{
"objName"
:
"valve-hall_02#t12.obj"
,
"mtlName"
:
"valve-hall_02#t12.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_02_t12"
,
"level"
:
"sub"
,
"parentKey"
:
"building_02"
}},
{
"objName"
:
"valve-hall_02#t13.obj"
,
"mtlName"
:
"valve-hall_02#t13.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_02_t13"
,
"level"
:
"sub"
,
"parentKey"
:
"building_02"
}},
{
"objName"
:
"valve-hall_02#t14.obj"
,
"mtlName"
:
"valve-hall_02#t14.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_02_t14"
,
"level"
:
"sub"
,
"parentKey"
:
"building_02"
}},
{
"objName"
:
"valve-hall_02#t15.obj"
,
"mtlName"
:
"valve-hall_02#t15.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_02_t15"
,
"level"
:
"sub"
,
"parentKey"
:
"building_02"
}},
{
"objName"
:
"valve-hall_02#t16.obj"
,
"mtlName"
:
"valve-hall_02#t16.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_02_t16"
,
"level"
:
"sub"
,
"parentKey"
:
"building_02"
}},
{
"objName"
:
"valve-hall_03#roof.obj"
,
"mtlName"
:
"valve-hall_03#roof.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_03_roof"
,
"level"
:
"sub"
,
"parentKey"
:
"building_03"
}},
{
"objName"
:
"valve-hall_03#wall.obj"
,
"mtlName"
:
"valve-hall_03#wall.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_03_wall"
,
"level"
:
"sub"
,
"parentKey"
:
"building_03"
}},
{
"objName"
:
"valve-hall_03#t1.obj"
,
"mtlName"
:
"valve-hall_03#t1.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_03_t1"
,
"level"
:
"sub"
,
"parentKey"
:
"building_03"
}},
{
"objName"
:
"valve-hall_03#t2.obj"
,
"mtlName"
:
"valve-hall_03#t2.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_03_t2"
,
"level"
:
"sub"
,
"parentKey"
:
"building_03"
}},
{
"objName"
:
"valve-hall_03#t3.obj"
,
"mtlName"
:
"valve-hall_03#t3.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_03_t3"
,
"level"
:
"sub"
,
"parentKey"
:
"building_03"
}},
{
"objName"
:
"valve-hall_03#t4.obj"
,
"mtlName"
:
"valve-hall_03#t4.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_03_t4"
,
"level"
:
"sub"
,
"parentKey"
:
"building_03"
}},
{
"objName"
:
"valve-hall_03#t5.obj"
,
"mtlName"
:
"valve-hall_03#t5.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_03_t5"
,
"level"
:
"sub"
,
"parentKey"
:
"building_03"
}},
{
"objName"
:
"valve-hall_03#t6.obj"
,
"mtlName"
:
"valve-hall_03#t6.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_03_t6"
,
"level"
:
"sub"
,
"parentKey"
:
"building_03"
}},
{
"objName"
:
"valve-hall_03#t7.obj"
,
"mtlName"
:
"valve-hall_03#t7.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_03_t7"
,
"level"
:
"sub"
,
"parentKey"
:
"building_03"
}},
{
"objName"
:
"valve-hall_03#t8.obj"
,
"mtlName"
:
"valve-hall_03#t8.mtl"
,
"modelLevel"
:
"Stuff"
,
"userData"
:
{
"key"
:
"valve-hall_03_t8"
,
"level"
:
"sub"
,
"parentKey"
:
"building_03"
}}
],
"version"
:
"1.0.0"
}
mods/components/3dviewConvertor/view/View3D.js
View file @
029270c7
import
React
,
{
Component
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
{
utils
,
UUID
,
deepCopy
}
from
'amos-tool'
;
import
{
UUID
,
deepCopy
}
from
'amos-tool'
;
import
{
PubSub
}
from
'ray-eventpool'
;
import
{
Connect
as
UIConnect
,
message
,
AmosAlert
,
Modal
}
from
'amos-framework'
;
import
{
Connect
as
UIConnect
,
message
}
from
'amos-framework'
;
import
{
FatLine
}
from
'amos-3d/lib/advanced'
;
import
A3DDesigner
,
{
Connect
,
FireObject
,
DESIGNER_CONSTS
,
PolygonRegion
}
from
'amos-3d/lib/designer'
;
import
WorkerObjContent
from
'amos-3d/lib/worker/WorkerObjContent'
;
...
...
@@ -13,9 +13,17 @@ import MaskContent from './MaskContent';
import
{
getObjFromNet
,
initView3DAction
,
query3DStatistics
,
pointModelistAction
}
from
'../services/3dService'
;
import
{
desigerConf
,
desigerHelperConfig
}
from
'./conf'
;
import
PointsPool
from
'./PointsPool'
;
import
PromptModal
from
'./PromptModal'
import
PromptModal
from
'./PromptModal'
;
import
{
eventTopics
,
isControllerEvent
,
isManualOperate
}
from
'./consts'
;
import
{
executeView3dCMD
,
parseManual
,
parseBubbleMarkers
,
tirggerPlanTopic
,
tirggerTransTopic
}
from
'./dataProcessor'
;
import
{
executeView3dCMD
,
parseManual
,
parseBubbleMarkers
,
tirggerPlanTopic
,
tirggerTransTopic
,
cacheObjsSave
,
flyToSubView
}
from
'./dataProcessor'
;
import
{
dealTroubleMarkers
,
assembleTroubleView
,
...
...
@@ -32,7 +40,7 @@ import {
flickerTroubleMarkers
}
from
'./ruleActionView'
;
import
{
lineData
}
from
'./datas'
;
import
{
getAreaTreeAction
,
getPointTypeAction
,
getPointTreeAction
,
getPointListAction
,
saveAreaDataAction
,
savePointListAction
}
from
'../services/moduleEditServices'
;
import
{
getAreaTreeAction
,
getPointTypeAction
,
getPointTreeAction
,
saveAreaDataAction
,
savePointListAction
}
from
'../services/moduleEditServices'
;
import
AreaLeftTree
from
'./moduleEditComponent/AreaLeftTree'
;
import
PointLeftTree
from
'./moduleEditComponent/PointLeftTree'
;
import
RightEditPointPanel
from
'./moduleEditComponent/RightEditPointPanel'
;
...
...
@@ -40,6 +48,7 @@ import RightEditRegionPanel from './moduleEditComponent/RightEditRegionPanel';
import
{
EVENTS_CONSTS
}
from
'../consts/EventConsts'
;
import
ExceptionArea
from
'./exceptionArea/ExceptionArea'
;
import
{
exceptionRegionListAction
,
getPointsByRegionIdAction
}
from
'../services/panoramicService'
;
import
{
chunk
}
from
'../utils/MathUtils'
;
const
AmosConfig
=
endConf
.
AmosConfig
;
...
...
@@ -166,6 +175,8 @@ class View3D extends Component {
onMouseMove
:
this
.
onMouseMove
};
this
.
_marker
=
[];
this
.
_cacheObj
=
{};
//3维模型对象缓存
this
.
processorLevel
=
{};
//3维模型对应关系缓存
}
componentDidMount
()
{
...
...
@@ -261,6 +272,7 @@ class View3D extends Component {
this
.
lensJumpFactory
.
jumpRoot
(
obj
=>
{
this
.
lensJumpFactory
.
fadeIn
(
obj
);
});
this
.
outlineFactory
.
toggleOutline
([]);
//清除选中
this
.
lensLevel
=
LENS_LEVEL
.
ROOT
;
}
});
...
...
@@ -268,7 +280,7 @@ class View3D extends Component {
_bindPubSubEvents
=
()
=>
{
this
.
props
.
subscribe
(
eventTopics
.
base3d_view
,
(
topic
,
data
)
=>
{
console
.
log
(
'subscribe base3d_view'
)
console
.
log
(
'subscribe base3d_view'
+
data
);
if
(
isControllerEvent
(
topic
))
{
executeView3dCMD
(
this
,
topic
,
data
);
}
else
if
(
isManualOperate
(
topic
))
{
...
...
@@ -467,7 +479,7 @@ class View3D extends Component {
});
};
onGraphCreated
=
({
cameraFactory
,
sceneFactory
,
outlineFactory
,
r3d
,
stagePilot
})
=>
{
onGraphCreated
=
({
cameraFactory
,
sceneFactory
,
outlineFactory
,
r3d
,
stagePilot
})
=>
{
this
.
cameraFactory
=
cameraFactory
;
this
.
sceneFactory
=
sceneFactory
;
this
.
outlineFactory
=
outlineFactory
;
...
...
@@ -492,7 +504,8 @@ class View3D extends Component {
onAllDone
=
objGroup
=>
{
this
.
sceneFactory
.
level
.
change
(
objGroup
);
this
.
stagePilot
.
rendererFactory
.
setupUModelSahdow
();
//接受阴影
// 接受阴影
this
.
stagePilot
.
rendererFactory
.
setupUModelSahdow
();
this
.
setState
({
startAsyncLoad
:
true
});
...
...
@@ -508,15 +521,15 @@ class View3D extends Component {
onComplete
=
obj
=>
{
const
me
=
this
;
cacheObjsSave
(
me
,
obj
,
LENS_LEVEL
);
//缓存对象及对应关系
if
(
!
obj
.
isForceParent
)
{
obj
.
on
(
'click'
,
evt
=>
{
if
(
this
.
state
.
isEditMode
==
false
)
{
console
.
log
(
'obj click:'
,
evt
);
const
me
=
this
;
if
(
this
.
state
.
isEditMode
===
false
)
{
// this.focusPosition(evt.pickedPosition);
me
.
outlineFactory
.
toggleOutline
(
evt
.
object
);
me
.
focusObject
(
evt
.
object
);
flyToSubView
(
me
,
obj
,
LENS_LEVEL
);
}
});
}
// 处理跳跃
...
...
@@ -541,14 +554,7 @@ class View3D extends Component {
// 飞行到具体的 obj 之后,执行进入层级操作
onComplete
()
{
console
.
log
(
'fly done!'
,
object
);
// 进入子层级
if
(
object
.
foreignKey
)
{
me
.
lensJumpFactory
.
jumpInByForeignKey
(
object
.
foreignKey
,
excludeObj
=>
{
// 处理非该层级的物体 (fadeOut)
me
.
lensJumpFactory
.
fadeOut
(
excludeObj
);
});
me
.
lensLevel
=
LENS_LEVEL
.
SUB
;
}
me
.
lensLevel
=
LENS_LEVEL
.
SUB
;
}
});
}
else
if
(
me
.
state
.
alarmStarted
)
{
...
...
@@ -1582,6 +1588,19 @@ class View3D extends Component {
return
object
;
}
multLoadWorkerObjContent
=
(
asyncModels
)
=>
{
const
sliceArry
=
chunk
(
asyncModels
,
5
);
return
sliceArry
.
map
(
objs
=>
{
return
<
WorkerObjContent
onComplete
=
{
this
.
onComplete
}
objs
=
{
objs
}
onWorkerMessage
=
{
this
.
onWorkerLoading
}
enableLoading
afterInit
=
{
this
.
onAfterWorkerInit
}
/>
;
});
}
addMarker
=
({
extData
,
position
})
=>
{
const
me
=
this
;
const
{
markers
}
=
me
.
state
;
...
...
@@ -1722,7 +1741,7 @@ class View3D extends Component {
positionCtlProps
=
{
positionCtlProps
}
onCreated
=
{
this
.
onGraphCreated
}
>
{
startAsyncLoad
&&
<
WorkerObjContent
objs
=
{
asyncModels
}
onWorkerMessage
=
{
this
.
onWorkerLoading
}
enableLoading
afterInit
=
{
this
.
onAfterWorkerInit
}
/>
}
{
startAsyncLoad
&&
this
.
multLoadWorkerObjContent
(
asyncModels
)
}
{
isEditMode
&&
pageType
===
'region'
?
''
:
<
PointsPool
markers
=
{
markers
}
isEditMode
=
{
isEditMode
}
selectPoints
=
{
selectPoints
}
updateMarker
=
{
this
.
updateMarker
}
planStarted
=
{
alarmStarted
}
stagePilot
=
{
this
.
stagePilot
}
positionCtl
=
{
this
.
positionCtl
}
addMarker
=
{
this
.
addMarker
}
ref
=
{
node
=>
this
.
pointsPool
=
node
}
/>
}
{
fireTruckRoute
&&
<
FatLine
{...
lineData
.
fatLineConf
}
linePath
=
{
JSON
.
parse
(
fireTruckRoute
)}
visible
=
{
showFireTruckRoute
}
/>
}
...
...
mods/components/3dviewConvertor/view/conf.js
View file @
029270c7
...
...
@@ -311,8 +311,8 @@ export const desigerConf = {
fov
:
45
,
near
:
1
,
far
:
5000
,
position
:
[
-
12.560443473044181
,
234.91788662409795
,
325.0800512251056
],
target
:
[
2.408441971875859
,
1.3271790975878637
,
3.918674823963386
],
position
:
[
-
66.72828735496893
,
239.00238807176638
,
340.1218562325041
],
target
:
[
-
52.608562486768115
,
-
6.882567219297089
,
1.984922473879572
],
// 是否启用拾取器
enablePicker
:
true
,
builtInOrbit
:
{
...
...
@@ -357,8 +357,8 @@ export const curveConf = {
export
const
desigerHelperConfig
=
{
cameraEffect
:
{
position
:
[
-
12.560443473044181
,
234.91788662409795
,
325.0800512251056
],
target
:
[
2.408441971875859
,
1.3271790975878637
,
3.918674823963386
]
position
:
[
-
66.72828735496893
,
239.00238807176638
,
340.1218562325041
],
target
:
[
-
52.608562486768115
,
-
6.882567219297089
,
1.984922473879572
]
},
objAnchor
:
{
position
:
[
0
,
5
,
0
]
...
...
mods/components/3dviewConvertor/view/dataProcessor.js
View file @
029270c7
...
...
@@ -344,4 +344,55 @@ export const objRunning = (markerObj, routePath, delayTime) => {
});
};
/**
* 模型对象缓存
* @param {object} instance
* @param {object} obj
*/
export
const
cacheObjsSave
=
(
instance
,
obj
,
LENS_LEVEL
)
=>
{
const
{
level
,
parentKey
,
key
}
=
obj
.
userData
||
{};
if
(
level
&&
key
){
instance
.
_cacheObj
[
key
]
=
obj
;
switch
(
level
)
{
case
LENS_LEVEL
.
ROOT
:
// 父节点
if
(
!
instance
.
processorLevel
[
key
]){
instance
.
processorLevel
[
key
]
=
[];
}
break
;
case
LENS_LEVEL
.
SUB
:
// 子节点
if
(
!
instance
.
processorLevel
[
parentKey
]){
instance
.
processorLevel
[
parentKey
]
=
[];
}
instance
.
processorLevel
[
parentKey
].
push
(
key
);
// 在对应关系中,添加其子节点
break
;
default
:
break
;
}
}
};
/**
* 进入选择物体内部
* @param {object} instance
* @param {object} obj
*/
export
const
flyToSubView
=
(
instance
,
obj
,
LENS_LEVEL
)
=>
{
if
(
obj
.
userData
&&
obj
.
userData
.
level
&&
obj
.
userData
.
level
===
'root'
){
Object
.
keys
(
instance
.
processorLevel
).
forEach
(
key
=>
{
// 隐藏所有一级
instance
.
_cacheObj
[
key
].
visible
=
false
;
// 隐藏非目标二级
if
(
key
!==
obj
.
userData
.
key
){
instance
.
processorLevel
[
key
].
forEach
(
sec
=>
{
instance
.
_cacheObj
[
sec
].
visible
=
false
;
});
}
});
// 镜头切换
obj
.
userData
.
fitView
&&
instance
.
cameraFactory
.
fitView
(
obj
.
userData
.
fitView
);
//视角调整为最近视角
instance
.
lensLevel
=
LENS_LEVEL
.
SUB
;
}
else
{
instance
.
focusObject
(
obj
);
}
};
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment