@anov/3d 0.0.4-alpha36 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/factory/unit/circle.js +13 -10
- package/dist/factory/unit/circle.js.map +1 -1
- package/dist/factory/unit/cylinder.js +2 -2
- package/dist/factory/unit/cylinder.js.map +1 -1
- package/dist/factory/unit/handle.d.ts +0 -1
- package/dist/factory/unit/handle.js +0 -23
- package/dist/factory/unit/handle.js.map +1 -1
- package/dist/sdkEntry.js +1 -0
- package/dist/sdkEntry.js.map +1 -1
- package/package.json +3 -3
|
@@ -49,6 +49,7 @@ var CircleManage = /*#__PURE__*/function () {
|
|
|
49
49
|
mesh.removeFromParent();
|
|
50
50
|
});
|
|
51
51
|
this.circleMesh.clear();
|
|
52
|
+
this.peoplePoi && this.peoplePoi.removeFromParent();
|
|
52
53
|
}
|
|
53
54
|
}, {
|
|
54
55
|
key: "setVisible",
|
|
@@ -66,23 +67,25 @@ var CircleManage = /*#__PURE__*/function () {
|
|
|
66
67
|
this.interactionManager.add(mesh);
|
|
67
68
|
var skewing = new Vector3(0, 3.5, -2.5); // 偏移量
|
|
68
69
|
|
|
70
|
+
var showPeoplePoi = function showPeoplePoi(data) {
|
|
71
|
+
if (_this2.peoplePoi) {
|
|
72
|
+
if (_this2.peoplePoi.name !== data.id) _this2.peoplePoi.removeFromParent();else return;
|
|
73
|
+
}
|
|
74
|
+
var poi = new Poi(EPoiType.Base);
|
|
75
|
+
_this2.peoplePoi = poi.create(data.name);
|
|
76
|
+
_this2.peoplePoi.name = data.id;
|
|
77
|
+
_this2.peoplePoi.position.copy(mesh.position.clone().add(skewing));
|
|
78
|
+
_this2.scene.add(_this2.peoplePoi);
|
|
79
|
+
};
|
|
69
80
|
mesh.addEventListener('click', function () {
|
|
70
81
|
_this2.gobal.cameraUtil.set({
|
|
71
82
|
position: [data.position[0], data.position[1] + 10, data.position[2] + 30],
|
|
72
83
|
target: [data.position[0], data.position[1], data.position[2]]
|
|
73
84
|
}).then(function () {});
|
|
74
|
-
|
|
75
|
-
var poi = new Poi(EPoiType.Base);
|
|
76
|
-
_this2.peoplePoi = poi.create(data.name);
|
|
77
|
-
_this2.peoplePoi.position.copy(mesh.position.clone().add(skewing));
|
|
78
|
-
_this2.scene.add(_this2.peoplePoi);
|
|
85
|
+
showPeoplePoi(data);
|
|
79
86
|
});
|
|
80
87
|
mesh.addEventListener('mouseover', function () {
|
|
81
|
-
|
|
82
|
-
var poi = new Poi(EPoiType.Base);
|
|
83
|
-
_this2.peoplePoi = poi.create(data.name);
|
|
84
|
-
_this2.peoplePoi.position.copy(mesh.position.clone().add(skewing));
|
|
85
|
-
_this2.scene.add(_this2.peoplePoi);
|
|
88
|
+
showPeoplePoi(data);
|
|
86
89
|
emitter.emit('peoplemanagement-person-click', data);
|
|
87
90
|
});
|
|
88
91
|
mesh.addEventListener('mouseout', function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Mesh","MeshPhysicalMaterial","SphereGeometry","Vector3","utils","EPoiType","Poi","regionMap","emitter","CircleManage","gobal","Map","scene","interactionManager","storeManagement","get","belongTo","geometry","material","color","metalness","roughness","circle","data","getData","forEach","people","mesh","clone","name","id","position","fromArray","add","bindEvent","circleMesh","set","removeFromParent","clear","visible","poi","skewing","
|
|
1
|
+
{"version":3,"names":["Mesh","MeshPhysicalMaterial","SphereGeometry","Vector3","utils","EPoiType","Poi","regionMap","emitter","CircleManage","gobal","Map","scene","interactionManager","storeManagement","get","belongTo","geometry","material","color","metalness","roughness","circle","data","getData","forEach","people","mesh","clone","name","id","position","fromArray","add","bindEvent","circleMesh","set","removeFromParent","clear","peoplePoi","visible","poi","skewing","showPeoplePoi","Base","create","copy","addEventListener","cameraUtil","target","then","emit","regionKey","Object","keys","find","key"],"sources":["../../../src/factory/unit/circle.ts"],"sourcesContent":["import { DoubleSide, Mesh, MeshBasicMaterial, MeshPhongMaterial, MeshPhysicalMaterial, SphereGeometry, Vector3, utils } from '@anov/3d-core'\nimport type { InteractionManager, Object3D, Scene } from '@anov/3d-core'\nimport { EPoiType, Poi } from '@anov/3d-ability'\nimport type Factory3D from '../3d'\nimport { regionMap } from '../regionData'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\n\nconst { emitter } = utils\n\nclass CircleManage {\n private gobal: Factory3D\n private scene: Scene\n readonly circleMesh: Map<string, Object3D> = new Map()\n private interactionManager\n private peoplePoi!: Object3D | null\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.scene = gobal.scene.scene\n this.interactionManager = utils.storeManagement.get<InteractionManager>('interactionManager')\n }\n\n generateCircle(belongTo: string) {\n const geometry = new SphereGeometry(2, 32, 16)\n const material = new MeshPhysicalMaterial({ color: 0xFED602, metalness: 0.1, roughness: 0.5 })\n const circle = new Mesh(geometry, material)\n\n const data = this.getData(belongTo)\n data.forEach((people) => {\n const mesh = circle.clone()\n mesh.name = people.id\n mesh.position.fromArray(people.position)\n this.scene.add(mesh)\n this.bindEvent(mesh, people)\n this.circleMesh.set(people.id, mesh)\n })\n }\n\n remove() {\n this.circleMesh.forEach((mesh) => {\n mesh.removeFromParent()\n })\n this.circleMesh.clear()\n this.peoplePoi && this.peoplePoi.removeFromParent()\n }\n\n setVisible(visible = true) {\n // 控制CYCLE的隐藏、显示\n this.circleMesh.forEach((poi) => {\n poi.visible = visible\n })\n }\n\n private bindEvent(mesh: Mesh, data) {\n this.interactionManager.add(mesh)\n const skewing = new Vector3(0, 3.5, -2.5) // 偏移量\n\n const showPeoplePoi = (data: any) => {\n if (this.peoplePoi) {\n if (this.peoplePoi.name !== data.id)\n this.peoplePoi.removeFromParent()\n else\n return\n }\n const poi = new Poi(EPoiType.Base)\n this.peoplePoi = poi.create(data.name)\n this.peoplePoi.name = data.id\n\n this.peoplePoi.position.copy(mesh.position.clone().add(skewing))\n this.scene.add(this.peoplePoi)\n }\n\n mesh.addEventListener('click', () => {\n this.gobal.cameraUtil.set({\n position: [data.position[0], data.position[1] + 10, data.position[2] + 30],\n target: [data.position[0], data.position[1], data.position[2]],\n }).then(() => {\n })\n showPeoplePoi(data)\n })\n mesh.addEventListener('mouseover', () => {\n showPeoplePoi(data)\n emitter.emit('peoplemanagement-person-click', data)\n })\n mesh.addEventListener('mouseout', () => {\n if (this.peoplePoi) {\n this.peoplePoi.removeFromParent()\n this.peoplePoi = null\n }\n })\n }\n\n private getData(belongTo) {\n const regionKey = Object.keys(regionMap).find((key: any) => {\n return regionMap[key].id === belongTo\n })\n\n return regionMap[regionKey] && regionMap[regionKey].people\n }\n}\n\nexport default CircleManage"],"mappings":"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"}
|
|
@@ -121,8 +121,8 @@ var CylinderManage = /*#__PURE__*/function () {
|
|
|
121
121
|
group.visible = (_this2$option$visible = (_this2$option = _this2.option) === null || _this2$option === void 0 ? void 0 : _this2$option.visible) !== null && _this2$option$visible !== void 0 ? _this2$option$visible : true;
|
|
122
122
|
cylinder.position.copy(new Vector3().fromArray([item.points[0], item.points[1] + item.height / 2, item.points[2]]));
|
|
123
123
|
var interactionManager = utils.storeManagement.get('interactionManager');
|
|
124
|
-
interactionManager.add(
|
|
125
|
-
|
|
124
|
+
interactionManager.add(group);
|
|
125
|
+
group.addEventListener('click', function () {
|
|
126
126
|
if (_this2.gobal.style === SceneStyle.real) return;
|
|
127
127
|
if (group.visible === false) return;
|
|
128
128
|
_this2.gobal.cameraUtil.set({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BoxGeometry","Color","Group","Mesh","ShaderMaterial","Vector3","globalObjectManage","use","utils","createFontMesh","SceneStyle","regionMap","collisionDetection","lookAtOnYAxis","emitter","cylinderData","label","id","title","reform","belongTo","color","getHex","points","poi","position","height","reduction","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","administrative","CylinderManage","gobal","options","Map","currentCameraPosition","control","object","box","areaBoundingBox","boundingBoxMap","get","currentoperate","iscollision","emit","cameraRemoveListener","scene","option","forEach","item","geometry","material","transparent","depthWrite","depthTest","uniforms","uHeight","value","uColor","vertexShader","fragmentShader","cylinder","group","name","visible","copy","fromArray","interactionManager","storeManagement","add","addEventListener","style","real","cameraUtil","set","target","then","currentGroup","cylinderMesh","cameraAddListener","font","mesh","center","useframe","camera","controlAddListener","cameraListenerHandle","maxDistance","controls","getDistance","removeEventListener"],"sources":["../../../src/factory/unit/cylinder.ts"],"sourcesContent":["import type { InteractionManager, Object3D, Scene } from '@anov/3d-core'\nimport { BoxGeometry, Color, Group, Mesh, ShaderMaterial, Vector3, globalObjectManage, use, utils } from '@anov/3d-core'\nimport createFontMesh from '../utils/fontMesh'\nimport type Factory3D from '../3d'\nimport { SceneStyle } from '../utils/constant'\nimport regionMap from '../regionData'\nimport { collisionDetection } from '../utils/areaBoundingBox'\n\nimport { lookAtOnYAxis } from '../utils'\n\nconst { emitter } = utils\n\nconst cylinderData = [\n {\n label: '8人',\n id: '1',\n title: regionMap.reform.title,\n belongTo: regionMap.reform.id,\n color: new Color('#FED602').getHex(),\n points: regionMap.reform.poi.position,\n height: 80,\n },\n {\n label: '7人',\n id: '2',\n title: regionMap.reduction.title,\n belongTo: regionMap.reduction.id,\n color: new Color('#FED602').getHex(),\n points: regionMap.reduction.poi.position,\n height: 70,\n },\n {\n label: '4人',\n id: '3',\n title: regionMap.crudeOil.title,\n belongTo: regionMap.crudeOil.id,\n color: new Color('#FED602').getHex(),\n points: regionMap.crudeOil.poi.position,\n height: 40,\n },\n {\n label: '10人',\n id: '4',\n title: regionMap.catalyticCracking.title,\n belongTo: regionMap.catalyticCracking.id,\n color: new Color('#FED602').getHex(),\n points: regionMap.catalyticCracking.poi.position,\n height: 100,\n },\n {\n label: '3人',\n id: '5',\n title: regionMap.hydrocrackingUnit.title,\n belongTo: regionMap.hydrocrackingUnit.id,\n color: new Color('#FED602').getHex(),\n points: regionMap.hydrocrackingUnit.poi.position,\n height: 30,\n },\n {\n label: '8人',\n id: '6',\n title: regionMap.cokingUnit.title,\n belongTo: regionMap.cokingUnit.id,\n color: new Color('#FED602').getHex(),\n points: regionMap.cokingUnit.poi.position,\n height: 80,\n },\n {\n label: '20人',\n id: '7',\n title: regionMap.administrative.title,\n belongTo: regionMap.administrative.id,\n color: new Color('#FED602').getHex(),\n points: regionMap.administrative.poi.position,\n height: 150,\n },\n]\n\ntype CylinderManageOption = {\n visible?: boolean\n}\n\nclass CylinderManage {\n private scene: Scene\n readonly cylinderMesh: Map<string, Object3D> = new Map()\n private option: CylinderManageOption\n private gobal: Factory3D\n private currentoperate: string = cylinderData[0].belongTo\n\n constructor(gobal: Factory3D, options?: CylinderManageOption) {\n this.scene = gobal.scene.scene\n this.gobal = gobal\n this.option = options || {}\n }\n\n generateCylinder() {\n cylinderData.forEach((item) => {\n const geometry = new BoxGeometry(10, item.height, 10)\n const material = new ShaderMaterial({\n transparent: true,\n depthWrite: false,\n depthTest: false,\n uniforms: {\n uHeight: {\n value: item.height,\n },\n uColor: {\n value: new Color(item.color),\n },\n },\n vertexShader: `\n uniform float uHeight;\n varying float vOpacity;\n void main() {\n vOpacity = (position.y + uHeight/2.0) / uHeight;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position,1.0);\n }\n `,\n fragmentShader: `\n uniform vec3 uColor;\n varying float vOpacity;\n void main() {\n gl_FragColor = vec4(uColor,0.3+vOpacity/10.0*7.0);\n }\n `,\n })\n const cylinder = new Mesh(geometry, material)\n const group = new Group()\n cylinder.name = item.title\n\n group.visible = this.option?.visible ?? true\n cylinder.position.copy(new Vector3().fromArray([item.points[0], item.points[1] + item.height / 2, item.points[2]]))\n\n const interactionManager = utils.storeManagement.get<InteractionManager>('interactionManager')\n interactionManager.add(cylinder)\n\n cylinder.addEventListener('click', () => {\n if (this.gobal.style === SceneStyle.real)\n return\n\n if (group.visible === false)\n return\n\n this.gobal.cameraUtil.set({\n position: [item.points[0], item.points[1] + item.height / 2, item.points[2] + 100],\n target: [item.points[0], item.points[1] + item.height / 2, item.points[2]],\n }).then(() => {\n emitter.emit('peoplemanagement-camera-enter', item)\n const currentGroup = this.cylinderMesh.get(item.belongTo) as Group\n currentGroup.visible = false\n\n this.currentoperate = item.belongTo\n this.cameraAddListener()\n })\n })\n this.cylinderMesh.set(item.belongTo, group)\n group.add(cylinder)\n\n const font = createFontMesh(item.label, {\n position: new Vector3().fromArray([item.points[0], item.points[1] + item.height + 10, item.points[2]]),\n })\n\n font.then((mesh) => {\n mesh.geometry.center()\n\n group.add(mesh)\n\n use.useframe(() => {\n lookAtOnYAxis(mesh, globalObjectManage.camera.position)\n })\n this.scene.add(group)\n })\n })\n this.controlAddListener()\n }\n\n private cameraListenerHandle = () => {\n const currentCameraPosition = this.gobal.control.object.position\n const box = this.gobal.areaBoundingBox.boundingBoxMap.get(this.currentoperate)\n const iscollision = collisionDetection(box, currentCameraPosition)\n if (!iscollision) {\n emitter.emit('peoplemanagement-camera-out', {\n belongTo: this.currentoperate,\n })\n\n this.cameraRemoveListener()\n }\n }\n\n private cameraAddListener() {\n this.gobal.control.addEventListener('change', this.cameraListenerHandle)\n }\n\n private controlAddListener() {\n const maxDistance = this.gobal.option.controls.maxDistance\n maxDistance && this.gobal.control.addEventListener('change', () => {\n if (this.gobal.control.getDistance() >= maxDistance - 5)\n emitter.emit('peoplemanagement-control-maxDistance', null)\n })\n }\n\n private cameraRemoveListener() {\n this.gobal.control.removeEventListener('change', this.cameraListenerHandle)\n }\n}\n\nexport default CylinderManage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["BoxGeometry","Color","Group","Mesh","ShaderMaterial","Vector3","globalObjectManage","use","utils","createFontMesh","SceneStyle","regionMap","collisionDetection","lookAtOnYAxis","emitter","cylinderData","label","id","title","reform","belongTo","color","getHex","points","poi","position","height","reduction","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","administrative","CylinderManage","gobal","options","Map","currentCameraPosition","control","object","box","areaBoundingBox","boundingBoxMap","get","currentoperate","iscollision","emit","cameraRemoveListener","scene","option","forEach","item","geometry","material","transparent","depthWrite","depthTest","uniforms","uHeight","value","uColor","vertexShader","fragmentShader","cylinder","group","name","visible","copy","fromArray","interactionManager","storeManagement","add","addEventListener","style","real","cameraUtil","set","target","then","currentGroup","cylinderMesh","cameraAddListener","font","mesh","center","useframe","camera","controlAddListener","cameraListenerHandle","maxDistance","controls","getDistance","removeEventListener"],"sources":["../../../src/factory/unit/cylinder.ts"],"sourcesContent":["import type { InteractionManager, Object3D, Scene } from '@anov/3d-core'\nimport { BoxGeometry, Color, Group, Mesh, ShaderMaterial, Vector3, globalObjectManage, use, utils } from '@anov/3d-core'\nimport createFontMesh from '../utils/fontMesh'\nimport type Factory3D from '../3d'\nimport { SceneStyle } from '../utils/constant'\nimport regionMap from '../regionData'\nimport { collisionDetection } from '../utils/areaBoundingBox'\n\nimport { lookAtOnYAxis } from '../utils'\n\nconst { emitter } = utils\n\nconst cylinderData = [\n {\n label: '8人',\n id: '1',\n title: regionMap.reform.title,\n belongTo: regionMap.reform.id,\n color: new Color('#FED602').getHex(),\n points: regionMap.reform.poi.position,\n height: 80,\n },\n {\n label: '7人',\n id: '2',\n title: regionMap.reduction.title,\n belongTo: regionMap.reduction.id,\n color: new Color('#FED602').getHex(),\n points: regionMap.reduction.poi.position,\n height: 70,\n },\n {\n label: '4人',\n id: '3',\n title: regionMap.crudeOil.title,\n belongTo: regionMap.crudeOil.id,\n color: new Color('#FED602').getHex(),\n points: regionMap.crudeOil.poi.position,\n height: 40,\n },\n {\n label: '10人',\n id: '4',\n title: regionMap.catalyticCracking.title,\n belongTo: regionMap.catalyticCracking.id,\n color: new Color('#FED602').getHex(),\n points: regionMap.catalyticCracking.poi.position,\n height: 100,\n },\n {\n label: '3人',\n id: '5',\n title: regionMap.hydrocrackingUnit.title,\n belongTo: regionMap.hydrocrackingUnit.id,\n color: new Color('#FED602').getHex(),\n points: regionMap.hydrocrackingUnit.poi.position,\n height: 30,\n },\n {\n label: '8人',\n id: '6',\n title: regionMap.cokingUnit.title,\n belongTo: regionMap.cokingUnit.id,\n color: new Color('#FED602').getHex(),\n points: regionMap.cokingUnit.poi.position,\n height: 80,\n },\n {\n label: '20人',\n id: '7',\n title: regionMap.administrative.title,\n belongTo: regionMap.administrative.id,\n color: new Color('#FED602').getHex(),\n points: regionMap.administrative.poi.position,\n height: 150,\n },\n]\n\ntype CylinderManageOption = {\n visible?: boolean\n}\n\nclass CylinderManage {\n private scene: Scene\n readonly cylinderMesh: Map<string, Object3D> = new Map()\n private option: CylinderManageOption\n private gobal: Factory3D\n private currentoperate: string = cylinderData[0].belongTo\n\n constructor(gobal: Factory3D, options?: CylinderManageOption) {\n this.scene = gobal.scene.scene\n this.gobal = gobal\n this.option = options || {}\n }\n\n generateCylinder() {\n cylinderData.forEach((item) => {\n const geometry = new BoxGeometry(10, item.height, 10)\n const material = new ShaderMaterial({\n transparent: true,\n depthWrite: false,\n depthTest: false,\n uniforms: {\n uHeight: {\n value: item.height,\n },\n uColor: {\n value: new Color(item.color),\n },\n },\n vertexShader: `\n uniform float uHeight;\n varying float vOpacity;\n void main() {\n vOpacity = (position.y + uHeight/2.0) / uHeight;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position,1.0);\n }\n `,\n fragmentShader: `\n uniform vec3 uColor;\n varying float vOpacity;\n void main() {\n gl_FragColor = vec4(uColor,0.3+vOpacity/10.0*7.0);\n }\n `,\n })\n const cylinder = new Mesh(geometry, material)\n const group = new Group()\n cylinder.name = item.title\n\n group.visible = this.option?.visible ?? true\n cylinder.position.copy(new Vector3().fromArray([item.points[0], item.points[1] + item.height / 2, item.points[2]]))\n\n const interactionManager = utils.storeManagement.get<InteractionManager>('interactionManager')\n interactionManager.add(group)\n\n group.addEventListener('click', () => {\n if (this.gobal.style === SceneStyle.real)\n return\n\n if (group.visible === false)\n return\n\n this.gobal.cameraUtil.set({\n position: [item.points[0], item.points[1] + item.height / 2, item.points[2] + 100],\n target: [item.points[0], item.points[1] + item.height / 2, item.points[2]],\n }).then(() => {\n emitter.emit('peoplemanagement-camera-enter', item)\n const currentGroup = this.cylinderMesh.get(item.belongTo) as Group\n currentGroup.visible = false\n\n this.currentoperate = item.belongTo\n this.cameraAddListener()\n })\n })\n this.cylinderMesh.set(item.belongTo, group)\n group.add(cylinder)\n\n const font = createFontMesh(item.label, {\n position: new Vector3().fromArray([item.points[0], item.points[1] + item.height + 10, item.points[2]]),\n })\n\n font.then((mesh) => {\n mesh.geometry.center()\n\n group.add(mesh)\n\n use.useframe(() => {\n lookAtOnYAxis(mesh, globalObjectManage.camera.position)\n })\n this.scene.add(group)\n })\n })\n this.controlAddListener()\n }\n\n private cameraListenerHandle = () => {\n const currentCameraPosition = this.gobal.control.object.position\n const box = this.gobal.areaBoundingBox.boundingBoxMap.get(this.currentoperate)\n const iscollision = collisionDetection(box, currentCameraPosition)\n if (!iscollision) {\n emitter.emit('peoplemanagement-camera-out', {\n belongTo: this.currentoperate,\n })\n\n this.cameraRemoveListener()\n }\n }\n\n private cameraAddListener() {\n this.gobal.control.addEventListener('change', this.cameraListenerHandle)\n }\n\n private controlAddListener() {\n const maxDistance = this.gobal.option.controls.maxDistance\n maxDistance && this.gobal.control.addEventListener('change', () => {\n if (this.gobal.control.getDistance() >= maxDistance - 5)\n emitter.emit('peoplemanagement-control-maxDistance', null)\n })\n }\n\n private cameraRemoveListener() {\n this.gobal.control.removeEventListener('change', this.cameraListenerHandle)\n }\n}\n\nexport default CylinderManage"],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
5
5
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
6
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
7
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
8
|
-
import { regionMap } from "../regionData";
|
|
9
8
|
var HandlerManage = /*#__PURE__*/function () {
|
|
10
9
|
function HandlerManage(app) {
|
|
11
10
|
_classCallCheck(this, HandlerManage);
|
|
@@ -13,28 +12,6 @@ var HandlerManage = /*#__PURE__*/function () {
|
|
|
13
12
|
this.app = app;
|
|
14
13
|
}
|
|
15
14
|
_createClass(HandlerManage, [{
|
|
16
|
-
key: "clickPerson1",
|
|
17
|
-
value: function clickPerson1(params) {
|
|
18
|
-
var person = null;
|
|
19
|
-
var key;
|
|
20
|
-
Object.keys(regionMap).find(function (k) {
|
|
21
|
-
var _regionMap$key$people;
|
|
22
|
-
key = k;
|
|
23
|
-
person = (_regionMap$key$people = regionMap[key].people) === null || _regionMap$key$people === void 0 ? void 0 : _regionMap$key$people.find(function (p) {
|
|
24
|
-
return p.id === "".concat(params.id);
|
|
25
|
-
});
|
|
26
|
-
return person;
|
|
27
|
-
});
|
|
28
|
-
if (person) {
|
|
29
|
-
var _regionMap$key$poi, _regionMap$key$people2;
|
|
30
|
-
var position = (_regionMap$key$poi = regionMap[key].poi) === null || _regionMap$key$poi === void 0 ? void 0 : _regionMap$key$poi.position;
|
|
31
|
-
this.app.sceneControl.camera.set({
|
|
32
|
-
position: [position[0], position[1] + ((_regionMap$key$people2 = regionMap[key].people) === null || _regionMap$key$people2 === void 0 ? void 0 : _regionMap$key$people2.length) * 10, position[2] + 100],
|
|
33
|
-
target: position
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}, {
|
|
38
15
|
key: "clickPerson",
|
|
39
16
|
value: function clickPerson(params) {
|
|
40
17
|
// 根据名称动态获取Mesh对象
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["HandlerManage","app","params","object","sceneControl","scene","getObjectByName","id","console","log","dispatchEvent","type","title"],"sources":["../../../src/factory/unit/handle.ts"],"sourcesContent":["import { regionMap } from '../regionData'\nimport type Anov3D from '../../sdkEntry'\n\nclass HandlerManage {\n app: Anov3D\n constructor(app: Anov3D) {\n this.app = app\n }\n\n clickPerson(params: any) {\n // 根据名称动态获取Mesh对象\n const object = this.app.sceneControl.scene!.getObjectByName(params.id)\n\n // 触发事件\n if (object) {\n console.log('Mesh对象已找到!')\n // 手动调用Mesh对象上的点击事件处理函数\n object.dispatchEvent({ type: 'click' })\n }\n else {\n console.log('未找到Mesh对象!')\n }\n }\n\n clickBar(params: any) {\n // 根据名称动态获取Mesh对象\n const object = this.app.sceneControl.scene!.getObjectByName(params.title)\n\n // 触发事件\n if (object) {\n console.log('Mesh对象已找到!')\n // 手动调用Mesh对象上的点击事件处理函数\n object.dispatchEvent({ type: 'click' })\n }\n else {\n console.log('未找到Mesh对象!')\n }\n }\n}\n\nexport default HandlerManage\n"],"mappings":";;;;;;;IAGMA,aAAa;EAEjB,uBAAYC,GAAW,EAAE;IAAA;IAAA;IACvB,IAAI,CAACA,GAAG,GAAGA,GAAG;EAChB;EAAC;IAAA;IAAA,OAED,qBAAYC,MAAW,EAAE;MACvB;MACA,IAAMC,MAAM,GAAG,IAAI,CAACF,GAAG,CAACG,YAAY,CAACC,KAAK,CAAEC,eAAe,CAACJ,MAAM,CAACK,EAAE,CAAC;;MAEtE;MACA,IAAIJ,MAAM,EAAE;QACVK,OAAO,CAACC,GAAG,CAAC,YAAY,CAAC;QACzB;QACAN,MAAM,CAACO,aAAa,CAAC;UAAEC,IAAI,EAAE;QAAQ,CAAC,CAAC;MACzC,CAAC,MACI;QACHH,OAAO,CAACC,GAAG,CAAC,YAAY,CAAC;MAC3B;IACF;EAAC;IAAA;IAAA,OAED,kBAASP,MAAW,EAAE;MACpB;MACA,IAAMC,MAAM,GAAG,IAAI,CAACF,GAAG,CAACG,YAAY,CAACC,KAAK,CAAEC,eAAe,CAACJ,MAAM,CAACU,KAAK,CAAC;;MAEzE;MACA,IAAIT,MAAM,EAAE;QACVK,OAAO,CAACC,GAAG,CAAC,YAAY,CAAC;QACzB;QACAN,MAAM,CAACO,aAAa,CAAC;UAAEC,IAAI,EAAE;QAAQ,CAAC,CAAC;MACzC,CAAC,MACI;QACHH,OAAO,CAACC,GAAG,CAAC,YAAY,CAAC;MAC3B;IACF;EAAC;EAAA;AAAA;AAGH,eAAeT,aAAa"}
|
package/dist/sdkEntry.js
CHANGED
package/dist/sdkEntry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HeatMap","Poi","Environment","Camera","Scene","provide","Anov3DCore","Factory","App","name","module"],"sources":["../src/sdkEntry.ts"],"sourcesContent":["import { HeatMap, Poi } from '@anov/3d-ability'\nimport Environment from './module/environment'\nimport Camera from './module/camera'\nimport { Scene } from './module/scene'\nimport { provide } from './utils/abstract'\nimport Anov3DCore from './anov3d'\nimport Factory from './factory/unit/handle'\n\nexport type Override<P, S> = Omit<P, keyof S> & S\n\n@provide(\n [\n {\n name: 'camera',\n module: Camera,\n },\n {\n name: 'environment',\n module: Environment,\n },\n {\n name: 'scene',\n module: Scene,\n },\n {\n name: 'poi',\n module: Poi,\n },\n {\n name: 'heatMap',\n module: HeatMap,\n },\n {\n name: 'factory'
|
|
1
|
+
{"version":3,"names":["HeatMap","Poi","Environment","Camera","Scene","provide","Anov3DCore","Factory","App","name","module"],"sources":["../src/sdkEntry.ts"],"sourcesContent":["import { HeatMap, Poi } from '@anov/3d-ability'\nimport Environment from './module/environment'\nimport Camera from './module/camera'\nimport { Scene } from './module/scene'\nimport { provide } from './utils/abstract'\nimport Anov3DCore from './anov3d'\nimport Factory from './factory/unit/handle'\n\nexport type Override<P, S> = Omit<P, keyof S> & S\n\n@provide(\n [\n {\n name: 'camera',\n module: Camera,\n },\n {\n name: 'environment',\n module: Environment,\n },\n {\n name: 'scene',\n module: Scene,\n },\n {\n name: 'poi',\n module: Poi,\n },\n {\n name: 'heatMap',\n module: HeatMap,\n },\n {\n name: 'factory', // 工厂案例,非通用能力\n module: Factory,\n },\n ],\n)\nclass App extends Anov3DCore {}\n\nexport default App\n"],"mappings":";;;;;;;;;;;;;;AAAA,SAASA,OAAO,EAAEC,GAAG,QAAQ,kBAAkB;AAC/C,OAAOC,WAAW;AAClB,OAAOC,MAAM;AACb,SAASC,KAAK;AACd,SAASC,OAAO;AAChB,OAAOC,UAAU;AACjB,OAAOC,OAAO;AAA6B,IAgCrCC,GAAG,WA5BRH,OAAO,CACN,CACE;EACEI,IAAI,EAAE,QAAQ;EACdC,MAAM,EAAEP;AACV,CAAC,EACD;EACEM,IAAI,EAAE,aAAa;EACnBC,MAAM,EAAER;AACV,CAAC,EACD;EACEO,IAAI,EAAE,OAAO;EACbC,MAAM,EAAEN;AACV,CAAC,EACD;EACEK,IAAI,EAAE,KAAK;EACXC,MAAM,EAAET;AACV,CAAC,EACD;EACEQ,IAAI,EAAE,SAAS;EACfC,MAAM,EAAEV;AACV,CAAC,EACD;EACES,IAAI,EAAE,SAAS;EAAE;EACjBC,MAAM,EAAEH;AACV,CAAC,CACF,CACF;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;AAAA,EACiBD,UAAU;AAE5B,eAAeE,GAAG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anov/3d",
|
|
3
|
-
"version": "0.0.4
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "MIT",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"@tweenjs/tween.js": "^21.0.0",
|
|
21
21
|
"localforage": "^1.10.0",
|
|
22
22
|
"uuid": "^9.0.1",
|
|
23
|
-
"@anov/3d-ability": "^0.0.4
|
|
24
|
-
"@anov/3d-core": "^0.0.4
|
|
23
|
+
"@anov/3d-ability": "^0.0.4",
|
|
24
|
+
"@anov/3d-core": "^0.0.4"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/uuid": "^9.0.7"
|