@anov/3d 0.0.177 → 0.0.184

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.
Files changed (135) hide show
  1. package/dist/anov3d.js +0 -2
  2. package/dist/anov3d.js.map +1 -1
  3. package/dist/applicationApi.js +38 -39
  4. package/dist/applicationApi.js.map +1 -1
  5. package/dist/module/camera/index.js +20 -17
  6. package/dist/module/camera/index.js.map +1 -1
  7. package/dist/module/entity/area/index.js +29 -0
  8. package/dist/module/entity/area/index.js.map +1 -0
  9. package/dist/module/{model/index.js → entity/area/style/area_01.js} +40 -79
  10. package/dist/module/entity/area/style/area_01.js.map +1 -0
  11. package/dist/module/entity/area/style/index.js +27 -0
  12. package/dist/module/entity/area/style/index.js.map +1 -0
  13. package/dist/module/entity/area/type.js.map +1 -0
  14. package/dist/module/entity/bar/index.js +29 -0
  15. package/dist/module/entity/bar/index.js.map +1 -0
  16. package/dist/{factory/unit/poi.js → module/entity/bar/style/bar_01.js} +36 -249
  17. package/dist/module/entity/bar/style/bar_01.js.map +1 -0
  18. package/dist/module/entity/bar/style/index.js +27 -0
  19. package/dist/module/entity/bar/style/index.js.map +1 -0
  20. package/dist/module/entity/bar/type.js +2 -0
  21. package/dist/module/entity/bar/type.js.map +1 -0
  22. package/dist/module/entity/index.js +5 -12
  23. package/dist/module/entity/index.js.map +1 -1
  24. package/dist/module/entity/model/index.js +9 -6
  25. package/dist/module/entity/model/index.js.map +1 -1
  26. package/dist/module/entity/model/load/loadFbx.js.map +1 -1
  27. package/dist/module/entity/model/load/loadGlb.js +7 -4
  28. package/dist/module/entity/model/load/loadGlb.js.map +1 -1
  29. package/dist/module/entity/poi/style/base.js.map +1 -1
  30. package/dist/module/entity/poi/type.js.map +1 -1
  31. package/dist/{factory/unit/districtLine.js → module/entity/realismTraffic/index.js} +91 -109
  32. package/dist/module/entity/realismTraffic/index.js.map +1 -0
  33. package/dist/module/entity/spline/style/index.js.map +1 -1
  34. package/dist/module/entity/spline/style/line_01.js +2 -2
  35. package/dist/module/entity/spline/style/line_01.js.map +1 -1
  36. package/dist/module/entity/spline/style/line_texture_01.js +6 -6
  37. package/dist/module/entity/spline/style/line_texture_01.js.map +1 -1
  38. package/dist/module/entity/spline/type.js.map +1 -1
  39. package/dist/module/entity/strategy.js +22 -0
  40. package/dist/module/entity/strategy.js.map +1 -1
  41. package/dist/module/entity/utils.js +17 -0
  42. package/dist/module/entity/utils.js.map +1 -1
  43. package/dist/module/environment/index.js +35 -113
  44. package/dist/module/environment/index.js.map +1 -1
  45. package/dist/module/scene/fileParse.js +232 -132
  46. package/dist/module/scene/fileParse.js.map +1 -1
  47. package/dist/module/scene/index.js +84 -137
  48. package/dist/module/scene/index.js.map +1 -1
  49. package/dist/{factory/globalControl.js → module/tool/index.js} +8 -16
  50. package/dist/module/tool/index.js.map +1 -0
  51. package/dist/sdkEntry.js +4 -9
  52. package/dist/sdkEntry.js.map +1 -1
  53. package/package.json +3 -3
  54. package/dist/factory/3d.js +0 -535
  55. package/dist/factory/3d.js.map +0 -1
  56. package/dist/factory/globalControl.js.map +0 -1
  57. package/dist/factory/globalData.js +0 -2
  58. package/dist/factory/globalData.js.map +0 -1
  59. package/dist/factory/regionData.js +0 -499
  60. package/dist/factory/regionData.js.map +0 -1
  61. package/dist/factory/type.js.map +0 -1
  62. package/dist/factory/unit/CameraPoi.js +0 -1047
  63. package/dist/factory/unit/CameraPoi.js.map +0 -1
  64. package/dist/factory/unit/areaBoundingBox.js +0 -28
  65. package/dist/factory/unit/areaBoundingBox.js.map +0 -1
  66. package/dist/factory/unit/circle.js +0 -225
  67. package/dist/factory/unit/circle.js.map +0 -1
  68. package/dist/factory/unit/cylinder.js +0 -269
  69. package/dist/factory/unit/cylinder.js.map +0 -1
  70. package/dist/factory/unit/districtLine.js.map +0 -1
  71. package/dist/factory/unit/glsl/heat/frag.glsl +0 -37
  72. package/dist/factory/unit/glsl/heat/frag.js +0 -4
  73. package/dist/factory/unit/glsl/heat/frag.js.map +0 -1
  74. package/dist/factory/unit/glsl/heat/ver.glsl +0 -15
  75. package/dist/factory/unit/glsl/heat/ver.js +0 -4
  76. package/dist/factory/unit/glsl/heat/ver.js.map +0 -1
  77. package/dist/factory/unit/glsl/highway/fragmentShader.js +0 -4
  78. package/dist/factory/unit/glsl/highway/fragmentShader.js.map +0 -1
  79. package/dist/factory/unit/glsl/highway/fragmentShader2.js +0 -4
  80. package/dist/factory/unit/glsl/highway/fragmentShader2.js.map +0 -1
  81. package/dist/factory/unit/glsl/highway/vertexShader.js +0 -4
  82. package/dist/factory/unit/glsl/highway/vertexShader.js.map +0 -1
  83. package/dist/factory/unit/glsl/point/fragment.glsl +0 -12
  84. package/dist/factory/unit/glsl/point/vertex.glsl +0 -7
  85. package/dist/factory/unit/glsl/wall/fragmentShader.glsl +0 -30
  86. package/dist/factory/unit/glsl/wall/vertexShader.glsl +0 -6
  87. package/dist/factory/unit/handle.js +0 -132
  88. package/dist/factory/unit/handle.js.map +0 -1
  89. package/dist/factory/unit/index.js +0 -264
  90. package/dist/factory/unit/index.js.map +0 -1
  91. package/dist/factory/unit/inspection/InspectionObject.js +0 -608
  92. package/dist/factory/unit/inspection/InspectionObject.js.map +0 -1
  93. package/dist/factory/unit/inspection/defaultFirstPerspectiveControls.js +0 -382
  94. package/dist/factory/unit/inspection/defaultFirstPerspectiveControls.js.map +0 -1
  95. package/dist/factory/unit/inspection/index.js +0 -379
  96. package/dist/factory/unit/inspection/index.js.map +0 -1
  97. package/dist/factory/unit/inspection/lineData.js +0 -44
  98. package/dist/factory/unit/inspection/lineData.js.map +0 -1
  99. package/dist/factory/unit/inspection/map.js +0 -67
  100. package/dist/factory/unit/inspection/map.js.map +0 -1
  101. package/dist/factory/unit/inspection/tubeGeometry.js +0 -152
  102. package/dist/factory/unit/inspection/tubeGeometry.js.map +0 -1
  103. package/dist/factory/unit/layer/rise.js +0 -142
  104. package/dist/factory/unit/layer/rise.js.map +0 -1
  105. package/dist/factory/unit/line.js +0 -96
  106. package/dist/factory/unit/line.js.map +0 -1
  107. package/dist/factory/unit/poi.js.map +0 -1
  108. package/dist/factory/unit/region.js +0 -72
  109. package/dist/factory/unit/region.js.map +0 -1
  110. package/dist/factory/unit/slice.js +0 -122
  111. package/dist/factory/unit/slice.js.map +0 -1
  112. package/dist/factory/unit/wall.js +0 -119
  113. package/dist/factory/unit/wall.js.map +0 -1
  114. package/dist/factory/utils/areaBoundingBox.js +0 -54
  115. package/dist/factory/utils/areaBoundingBox.js.map +0 -1
  116. package/dist/factory/utils/constant.js +0 -15
  117. package/dist/factory/utils/constant.js.map +0 -1
  118. package/dist/factory/utils/finirMaterial.js +0 -56
  119. package/dist/factory/utils/finirMaterial.js.map +0 -1
  120. package/dist/factory/utils/fontMesh.js +0 -49
  121. package/dist/factory/utils/fontMesh.js.map +0 -1
  122. package/dist/factory/utils/ground.js +0 -65
  123. package/dist/factory/utils/ground.js.map +0 -1
  124. package/dist/factory/utils/index.js +0 -24
  125. package/dist/factory/utils/index.js.map +0 -1
  126. package/dist/factory/utils/observe.js +0 -23
  127. package/dist/factory/utils/observe.js.map +0 -1
  128. package/dist/factory/utils/switchMaterial.js +0 -110
  129. package/dist/factory/utils/switchMaterial.js.map +0 -1
  130. package/dist/module/environment/time/index.js +0 -28
  131. package/dist/module/environment/time/index.js.map +0 -1
  132. package/dist/module/environment/weather/type.js +0 -28
  133. package/dist/module/environment/weather/type.js.map +0 -1
  134. package/dist/module/model/index.js.map +0 -1
  135. /package/dist/{factory → module/entity/area}/type.js +0 -0
@@ -1,152 +0,0 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
3
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
4
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
5
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
6
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
7
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
8
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
9
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
10
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
11
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
12
- 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; }
13
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
14
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
15
- import { BufferGeometry, Float32BufferAttribute, QuadraticBezierCurve3, Vector2, Vector3 } from '@anov/3d-core';
16
- var TubeGeometry = /*#__PURE__*/function (_BufferGeometry) {
17
- _inherits(TubeGeometry, _BufferGeometry);
18
- var _super = _createSuper(TubeGeometry);
19
- function TubeGeometry() {
20
- var _this;
21
- var path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new QuadraticBezierCurve3(new Vector3(-1, -1, 0), new Vector3(-1, 1, 0), new Vector3(1, 1, 0));
22
- var tubularSegments = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 64;
23
- var radius = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
24
- var radialSegments = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 8;
25
- var closed = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
26
- _classCallCheck(this, TubeGeometry);
27
- _this = _super.call(this);
28
- _defineProperty(_assertThisInitialized(_this), "type", void 0);
29
- _defineProperty(_assertThisInitialized(_this), "parameters", void 0);
30
- _defineProperty(_assertThisInitialized(_this), "tangents", void 0);
31
- _defineProperty(_assertThisInitialized(_this), "normals", void 0);
32
- _defineProperty(_assertThisInitialized(_this), "binormals", void 0);
33
- _this.type = 'TubeGeometry';
34
- _this.parameters = {
35
- path: path,
36
- tubularSegments: tubularSegments,
37
- radius: radius,
38
- radialSegments: radialSegments,
39
- closed: closed
40
- };
41
- var frames = path.computeFrenetFrames(tubularSegments, closed);
42
-
43
- // expose internals
44
-
45
- _this.tangents = frames.tangents;
46
- _this.normals = frames.normals;
47
- _this.binormals = frames.binormals;
48
-
49
- // helper variables
50
-
51
- var vertex = new Vector3();
52
- var normal = new Vector3();
53
- var uv = new Vector2();
54
- var P = new Vector3();
55
-
56
- // buffer
57
-
58
- var vertices = [];
59
- var normals = [];
60
- var uvs = [];
61
- var indices = [];
62
-
63
- // create buffer data
64
-
65
- generateBufferData();
66
-
67
- // build geometry
68
-
69
- _this.setIndex(indices);
70
- _this.setAttribute('position', new Float32BufferAttribute(vertices, 3));
71
- _this.setAttribute('normal', new Float32BufferAttribute(normals, 3));
72
- _this.setAttribute('uv', new Float32BufferAttribute(uvs, 2));
73
-
74
- // functions
75
-
76
- function generateBufferData() {
77
- for (var i = 0; i < tubularSegments; i++) generateSegment(i);
78
-
79
- // if the geometry is not closed, generate the last row of vertices and normals
80
- // at the regular position on the given path
81
- //
82
- // if the geometry is closed, duplicate the first row of vertices and normals (uvs will differ)
83
-
84
- generateSegment(closed === false ? tubularSegments : 0);
85
-
86
- // uvs are generated in a separate function.
87
- // this makes it easy compute correct values for closed geometries
88
-
89
- generateUVs();
90
-
91
- // finally create faces
92
-
93
- generateIndices();
94
- }
95
- function generateSegment(i) {
96
- P = path.getPointAt(i / tubularSegments, P);
97
- var T = frames.tangents[i];
98
- var referenceVector = new Vector3(0, 1, 0);
99
- if (T.y > 0.999) referenceVector.set(1, 0, 0);
100
- var N = new Vector3();
101
- var B = new Vector3();
102
- N.crossVectors(T, referenceVector).normalize();
103
- B.crossVectors(T, N).normalize();
104
- for (var j = 0; j <= radialSegments; j++) {
105
- var v = j / radialSegments * Math.PI * 2;
106
- var sin = Math.sin(v);
107
- var cos = -Math.cos(v);
108
-
109
- // 使用切线来生成法线
110
- normal.x = cos * N.x + sin * B.x;
111
- normal.y = cos * N.y + sin * B.y;
112
- normal.z = cos * N.z + sin * B.z;
113
- normal.normalize();
114
- normals.push(normal.x, normal.y, normal.z);
115
-
116
- // 使用切线生成顶点
117
- vertex.x = P.x + radius * normal.x;
118
- vertex.y = P.y + radius * normal.y;
119
- vertex.z = P.z + radius * normal.z;
120
- vertices.push(vertex.x, vertex.y, vertex.z);
121
- }
122
- }
123
- function generateIndices() {
124
- for (var j = 1; j <= tubularSegments; j++) {
125
- for (var i = 1; i <= radialSegments; i++) {
126
- var a = (radialSegments + 1) * (j - 1) + (i - 1);
127
- var b = (radialSegments + 1) * j + (i - 1);
128
- var c = (radialSegments + 1) * j + i;
129
- var d = (radialSegments + 1) * (j - 1) + i;
130
-
131
- // faces
132
-
133
- indices.push(a, b, d);
134
- indices.push(b, c, d);
135
- }
136
- }
137
- }
138
- function generateUVs() {
139
- for (var i = 0; i <= tubularSegments; i++) {
140
- for (var j = 0; j <= radialSegments; j++) {
141
- uv.x = i / tubularSegments;
142
- uv.y = j / radialSegments;
143
- uvs.push(uv.x, uv.y);
144
- }
145
- }
146
- }
147
- return _this;
148
- }
149
- return _createClass(TubeGeometry);
150
- }(BufferGeometry);
151
- export default TubeGeometry;
152
- //# sourceMappingURL=tubeGeometry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["BufferGeometry","Float32BufferAttribute","QuadraticBezierCurve3","Vector2","Vector3","TubeGeometry","_BufferGeometry","_inherits","_super","_createSuper","_this","path","arguments","length","undefined","tubularSegments","radius","radialSegments","closed","_classCallCheck","call","_defineProperty","_assertThisInitialized","type","parameters","frames","computeFrenetFrames","tangents","normals","binormals","vertex","normal","uv","P","vertices","uvs","indices","generateBufferData","setIndex","setAttribute","i","generateSegment","generateUVs","generateIndices","getPointAt","T","referenceVector","y","set","N","B","crossVectors","normalize","j","v","Math","PI","sin","cos","x","z","push","a","b","c","d","_createClass"],"sources":["../../../../src/factory/unit/inspection/tubeGeometry.ts"],"sourcesContent":["import { BufferGeometry, Color, Float32BufferAttribute, LineCurve3, Mesh, MeshBasicMaterial, QuadraticBezierCurve3, SceneControl as Scene, Vector2, Vector3 } from '@anov/3d-core'\n\nclass TubeGeometry extends BufferGeometry {\n type: string\n parameters: {\n path: QuadraticBezierCurve3\n tubularSegments: number\n radius: number\n radialSegments: number\n closed: boolean\n }\n\n tangents: Vector3[]\n normals: Vector3[]\n binormals: Vector3[]\n constructor(path = new QuadraticBezierCurve3(new Vector3(-1, -1, 0), new Vector3(-1, 1, 0), new Vector3(1, 1, 0)), tubularSegments = 64, radius = 1, radialSegments = 8, closed = false) {\n super()\n\n this.type = 'TubeGeometry'\n\n this.parameters = {\n path,\n tubularSegments,\n radius,\n radialSegments,\n closed,\n }\n\n const frames = path.computeFrenetFrames(tubularSegments, closed)\n\n // expose internals\n\n this.tangents = frames.tangents\n this.normals = frames.normals\n this.binormals = frames.binormals\n\n // helper variables\n\n const vertex = new Vector3()\n const normal = new Vector3()\n const uv = new Vector2()\n let P = new Vector3()\n\n // buffer\n\n const vertices = []\n const normals = []\n const uvs = []\n const indices = []\n\n // create buffer data\n\n generateBufferData()\n\n // build geometry\n\n this.setIndex(indices)\n this.setAttribute('position', new Float32BufferAttribute(vertices, 3))\n this.setAttribute('normal', new Float32BufferAttribute(normals, 3))\n this.setAttribute('uv', new Float32BufferAttribute(uvs, 2))\n\n // functions\n\n function generateBufferData() {\n for (let i = 0; i < tubularSegments; i++)\n\n generateSegment(i)\n\n // if the geometry is not closed, generate the last row of vertices and normals\n // at the regular position on the given path\n //\n // if the geometry is closed, duplicate the first row of vertices and normals (uvs will differ)\n\n generateSegment((closed === false) ? tubularSegments : 0)\n\n // uvs are generated in a separate function.\n // this makes it easy compute correct values for closed geometries\n\n generateUVs()\n\n // finally create faces\n\n generateIndices()\n }\n\n function generateSegment(i) {\n P = path.getPointAt(i / tubularSegments, P)\n\n const T = frames.tangents[i]\n\n const referenceVector = new Vector3(0, 1, 0)\n if (T.y > 0.999)\n referenceVector.set(1, 0, 0)\n\n const N = new Vector3()\n const B = new Vector3()\n\n N.crossVectors(T, referenceVector).normalize()\n B.crossVectors(T, N).normalize()\n\n for (let j = 0; j <= radialSegments; j++) {\n const v = j / radialSegments * Math.PI * 2\n const sin = Math.sin(v)\n const cos = -Math.cos(v)\n\n // 使用切线来生成法线\n normal.x = cos * N.x + sin * B.x\n normal.y = cos * N.y + sin * B.y\n normal.z = cos * N.z + sin * B.z\n normal.normalize()\n\n normals.push(normal.x, normal.y, normal.z)\n\n // 使用切线生成顶点\n vertex.x = P.x + radius * normal.x\n vertex.y = P.y + radius * normal.y\n vertex.z = P.z + radius * normal.z\n\n vertices.push(vertex.x, vertex.y, vertex.z)\n }\n }\n\n function generateIndices() {\n for (let j = 1; j <= tubularSegments; j++) {\n for (let i = 1; i <= radialSegments; i++) {\n const a = (radialSegments + 1) * (j - 1) + (i - 1)\n const b = (radialSegments + 1) * j + (i - 1)\n const c = (radialSegments + 1) * j + i\n const d = (radialSegments + 1) * (j - 1) + i\n\n // faces\n\n indices.push(a, b, d)\n indices.push(b, c, d)\n }\n }\n }\n\n function generateUVs() {\n for (let i = 0; i <= tubularSegments; i++) {\n for (let j = 0; j <= radialSegments; j++) {\n uv.x = i / tubularSegments\n uv.y = j / radialSegments\n\n uvs.push(uv.x, uv.y)\n }\n }\n }\n }\n}\n\nexport default TubeGeometry"],"mappings":"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"}
@@ -1,142 +0,0 @@
1
- import { Color, ShaderMaterial, Sprite, TextureLoader, Vector3, Vector4, use } from '@anov/3d-core';
2
- import { usePath } from "../../3d";
3
- var lookAtOnYAxis = function lookAtOnYAxis(mesh, targetPosition) {
4
- var direction = new Vector3().subVectors(targetPosition, mesh.position);
5
- direction.y = 0;
6
- direction.normalize();
7
- var rotationY = Math.atan2(-direction.z, direction.x);
8
- rotationY -= Math.PI / 2;
9
- mesh.rotation.y = rotationY + Math.PI;
10
- };
11
- var position = [{
12
- x: -498.20348353985537,
13
- y: 1.724138326633124,
14
- z: -281.23472454616785
15
- }, {
16
- x: -563.1644534597008,
17
- y: -7.638570902979723,
18
- z: -149.5955833695798
19
- }, {
20
- x: -539.9109368199106,
21
- y: -0.7796363631222221,
22
- z: 4.303779590985869
23
- }, {
24
- x: -534.3300967431978,
25
- y: -1.9484837019957695,
26
- z: 207.03842215576515
27
- }, {
28
- x: -442.78992295689204,
29
- y: -0.9124291814532626,
30
- z: 284.6781114942187
31
- }, {
32
- x: -283.09754160435295,
33
- y: -0.8067932128907387,
34
- z: 284.7632588661927
35
- }, {
36
- x: -17.793886943446523,
37
- y: -0.8170822284307633,
38
- z: 278.6614163511422
39
- }, {
40
- x: 179.67836454455573,
41
- y: -0.7142971925655957,
42
- z: 277.5182969378766
43
- }, {
44
- x: 508.9391424549631,
45
- y: -0.06078556583531736,
46
- z: 270.6384956562051
47
- }, {
48
- x: 533.1529366899049,
49
- y: -0.3130418997158131,
50
- z: 175.59337885556306
51
- }, {
52
- x: 533.9192918796916,
53
- y: -0.595400047193607,
54
- z: 70.85117576185621
55
- }, {
56
- x: 558.8072691291136,
57
- y: 5.982457089229797,
58
- z: -47.46377685009156
59
- }, {
60
- x: 536.4516296924203,
61
- y: 1.629037413908577,
62
- z: -152.78540121590413
63
- }, {
64
- x: 555.1397274226065,
65
- y: 0.23968594510984076,
66
- z: -307.35056881373566
67
- }, {
68
- x: 476.2494806852892,
69
- y: -0.8084288516456581,
70
- z: -345.36949523013845
71
- }, {
72
- x: 216.87888929400197,
73
- y: -0.5794669817644262,
74
- z: -332.7211786339103
75
- }, {
76
- x: 175.22031507466454,
77
- y: -0.5724182128905113,
78
- z: -341.87163811528535
79
- }, {
80
- x: -35.18223117258549,
81
- y: -0.6265496863107956,
82
- z: -379.64710400924196
83
- }, {
84
- x: -356.44488560882746,
85
- y: -0.8819180034963665,
86
- z: -351.6907599590395
87
- }, {
88
- x: -237.58163560440826,
89
- y: 1.1368683772161603e-13,
90
- z: -128.96463232189376
91
- }, {
92
- x: 196.42648060764338,
93
- y: 1.1368683772161603e-13,
94
- z: 55.58793681693976
95
- }, {
96
- x: -235.24785890696023,
97
- y: 0,
98
- z: 187.57190736438497
99
- }];
100
-
101
- /**
102
- * todo: other page remove animation
103
- * @param riseLayer
104
- */
105
- var createRiseLayer = function createRiseLayer(riseLayer) {
106
- var _use$useScene = use.useScene(),
107
- scene = _use$useScene.scene,
108
- camera = _use$useScene.camera;
109
- var RiseLayer = riseLayer !== null && riseLayer !== void 0 ? riseLayer : 28;
110
- var riseSpriteMaterial = new ShaderMaterial({
111
- uniforms: {
112
- _TintColor: {
113
- value: new Vector4(new Color('#857125').r, new Color('#857125').g, new Color('#857125').b, 1)
114
- },
115
- _MainTex: {
116
- value: new TextureLoader().load("".concat(usePath, "test03.png"))
117
- },
118
- _InvFade: {
119
- value: 0.5
120
- }
121
- },
122
- depthTest: false,
123
- transparent: true,
124
- vertexShader: /* glsl */"\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n ",
125
- fragmentShader: /* glsl */"\nuniform vec3 _TintColor;\nuniform sampler2D _MainTex;\nuniform float _InvFade;\n\nvarying vec2 vUv;\n\nvoid main() {\n #ifdef USE_SOFTPARTICLES\n float sceneZ = texture2DProj(_CameraDepthTexture, vec4(vUv, 0.0, 1.0)).r;\n float partZ = gl_FragCoord.z / gl_FragCoord.w;\n float fade = clamp(_InvFade * (sceneZ - partZ), 0.0, 1.0);\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0 * fade, texture2D(_MainTex, vUv).a);\n #else\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0, texture2D(_MainTex, vUv).a);\n #endif\n\n\n\n \n}\n "
126
- });
127
- position.forEach(function (item) {
128
- var sprite = new Sprite(riseSpriteMaterial);
129
- sprite.scale.set(30, 30, 1);
130
- sprite.rotateZ(-Math.PI / 2);
131
- sprite.position.set(item.x, item.y + Math.random() * 300, item.z);
132
- sprite.layers.set(RiseLayer);
133
- use.useframe(function () {
134
- lookAtOnYAxis(sprite, camera.position);
135
- if (sprite.position.y > 300) sprite.position.y = 0;
136
- sprite.position.y += 1.0;
137
- });
138
- scene.add(sprite);
139
- });
140
- };
141
- export default createRiseLayer;
142
- //# sourceMappingURL=rise.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Color","ShaderMaterial","Sprite","TextureLoader","Vector3","Vector4","use","usePath","lookAtOnYAxis","mesh","targetPosition","direction","subVectors","position","y","normalize","rotationY","Math","atan2","z","x","PI","rotation","createRiseLayer","riseLayer","_use$useScene","useScene","scene","camera","RiseLayer","riseSpriteMaterial","uniforms","_TintColor","value","r","g","b","_MainTex","load","concat","_InvFade","depthTest","transparent","vertexShader","fragmentShader","forEach","item","sprite","scale","set","rotateZ","random","layers","useframe","add"],"sources":["../../../../src/factory/unit/layer/rise.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Color, ShaderMaterial, Sprite, TextureLoader, Vector3, Vector4, lib, use } from '@anov/3d-core'\nimport { usePath } from '../../3d'\n\nconst lookAtOnYAxis = (mesh: Object3D, targetPosition: Vector3) => {\n const direction = new Vector3().subVectors(targetPosition, mesh.position)\n direction.y = 0\n direction.normalize()\n\n let rotationY = Math.atan2(-direction.z, direction.x)\n\n rotationY -= Math.PI / 2\n\n mesh.rotation.y = rotationY + Math.PI\n}\n\nconst position = [{ x: -498.20348353985537, y: 1.724138326633124, z: -281.23472454616785 },\n { x: -563.1644534597008, y: -7.638570902979723, z: -149.5955833695798 },\n { x: -539.9109368199106, y: -0.7796363631222221, z: 4.303779590985869 },\n { x: -534.3300967431978, y: -1.9484837019957695, z: 207.03842215576515 },\n { x: -442.78992295689204, y: -0.9124291814532626, z: 284.6781114942187 },\n { x: -283.09754160435295, y: -0.8067932128907387, z: 284.7632588661927 },\n { x: -17.793886943446523, y: -0.8170822284307633, z: 278.6614163511422 },\n { x: 179.67836454455573, y: -0.7142971925655957, z: 277.5182969378766 },\n { x: 508.9391424549631, y: -0.06078556583531736, z: 270.6384956562051 },\n { x: 533.1529366899049, y: -0.3130418997158131, z: 175.59337885556306 },\n { x: 533.9192918796916, y: -0.595400047193607, z: 70.85117576185621 },\n { x: 558.8072691291136, y: 5.982457089229797, z: -47.46377685009156 },\n { x: 536.4516296924203, y: 1.629037413908577, z: -152.78540121590413 },\n { x: 555.1397274226065, y: 0.23968594510984076, z: -307.35056881373566 },\n { x: 476.2494806852892, y: -0.8084288516456581, z: -345.36949523013845 },\n { x: 216.87888929400197, y: -0.5794669817644262, z: -332.7211786339103 },\n { x: 175.22031507466454, y: -0.5724182128905113, z: -341.87163811528535 },\n { x: -35.18223117258549, y: -0.6265496863107956, z: -379.64710400924196 },\n { x: -356.44488560882746, y: -0.8819180034963665, z: -351.6907599590395 },\n { x: -237.58163560440826, y: 1.1368683772161603e-13, z: -128.96463232189376 },\n { x: 196.42648060764338, y: 1.1368683772161603e-13, z: 55.58793681693976 },\n { x: -235.24785890696023, y: 0, z: 187.57190736438497 },\n]\n\n/**\n * todo: other page remove animation\n * @param riseLayer\n */\nconst createRiseLayer = (riseLayer?: number) => {\n const { scene, camera } = use.useScene()\n const RiseLayer = riseLayer ?? 28\n\n const riseSpriteMaterial = new ShaderMaterial(\n {\n uniforms: {\n _TintColor: {\n value: new Vector4(new Color('#857125').r, new Color('#857125').g, new Color('#857125').b, 1),\n },\n _MainTex: {\n value: new TextureLoader().load(`${usePath}test03.png`),\n },\n _InvFade: {\n value: 0.5,\n },\n },\n depthTest: false,\n transparent: true,\n vertexShader: /* glsl */`\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n `,\n fragmentShader: /* glsl */`\nuniform vec3 _TintColor;\nuniform sampler2D _MainTex;\nuniform float _InvFade;\n\nvarying vec2 vUv;\n\nvoid main() {\n #ifdef USE_SOFTPARTICLES\n float sceneZ = texture2DProj(_CameraDepthTexture, vec4(vUv, 0.0, 1.0)).r;\n float partZ = gl_FragCoord.z / gl_FragCoord.w;\n float fade = clamp(_InvFade * (sceneZ - partZ), 0.0, 1.0);\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0 * fade, texture2D(_MainTex, vUv).a);\n #else\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0, texture2D(_MainTex, vUv).a);\n #endif\n\n\n\n \n}\n `,\n\n },\n )\n\n position.forEach((item) => {\n const sprite = new Sprite(\n riseSpriteMaterial as any,\n )\n\n sprite.scale.set(30, 30, 1)\n sprite.rotateZ(-Math.PI / 2)\n\n sprite.position.set(item.x, item.y + Math.random() * 300, item.z)\n sprite.layers.set(RiseLayer)\n\n use.useframe(() => {\n lookAtOnYAxis(sprite, camera!.position)\n\n if (sprite.position.y > 300)\n sprite.position.y = 0\n\n sprite.position.y += 1.0\n })\n\n scene!.add(sprite)\n })\n}\n\nexport default createRiseLayer"],"mappings":"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"}
@@ -1,96 +0,0 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
4
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
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
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
9
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
12
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
13
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
14
- import { Color, lib } from '@anov/3d-core';
15
- import regionMap from "../regionData";
16
- var Line2 = lib.Line2,
17
- LineGeometry = lib.LineGeometry,
18
- LineMaterial = lib.LineMaterial;
19
- var linePosition = [{
20
- label: regionMap.reform.title,
21
- id: '1',
22
- color: new Color('red').getHex(),
23
- belongTo: regionMap.reform.id,
24
- points: [].concat(_toConsumableArray(regionMap.reform.area), [regionMap.reform.area[0]])
25
- }, {
26
- label: regionMap.reduction.title,
27
- id: '2',
28
- color: new Color('red').getHex(),
29
- belongTo: regionMap.reduction.id,
30
- points: [].concat(_toConsumableArray(regionMap.reduction.area), [regionMap.reduction.area[0]])
31
- }, {
32
- label: regionMap.crudeOil.title,
33
- id: '3',
34
- color: new Color('red').getHex(),
35
- belongTo: regionMap.crudeOil.id,
36
- points: [].concat(_toConsumableArray(regionMap.crudeOil.area), [regionMap.crudeOil.area[0]])
37
- }, {
38
- label: regionMap.catalyticCracking.title,
39
- id: '4',
40
- color: new Color('red').getHex(),
41
- belongTo: regionMap.catalyticCracking.id,
42
- points: [].concat(_toConsumableArray(regionMap.catalyticCracking.area), [regionMap.catalyticCracking.area[0]])
43
- }, {
44
- label: regionMap.hydrocrackingUnit.title,
45
- id: '5',
46
- color: new Color('red').getHex(),
47
- belongTo: regionMap.hydrocrackingUnit.id,
48
- points: [].concat(_toConsumableArray(regionMap.hydrocrackingUnit.area), [regionMap.hydrocrackingUnit.area[0]])
49
- }, {
50
- label: regionMap.cokingUnit.title,
51
- id: '6',
52
- color: new Color('yellow').getHex(),
53
- belongTo: regionMap.cokingUnit.id,
54
- points: [].concat(_toConsumableArray(regionMap.cokingUnit.area), [regionMap.cokingUnit.area[0]])
55
- }, {
56
- label: regionMap.administrative.title,
57
- id: '7',
58
- color: new Color('red').getHex(),
59
- belongTo: regionMap.administrative.id,
60
- points: [].concat(_toConsumableArray(regionMap.administrative.area), [regionMap.administrative.area[0]])
61
- }];
62
- var LineManage = /*#__PURE__*/function () {
63
- function LineManage(gobal, options) {
64
- _classCallCheck(this, LineManage);
65
- _defineProperty(this, "scene", void 0);
66
- _defineProperty(this, "lineMesh", new Map());
67
- _defineProperty(this, "option", void 0);
68
- this.scene = gobal.scene.scene;
69
- this.option = options || {};
70
- }
71
- _createClass(LineManage, [{
72
- key: "generateLine",
73
- value: function generateLine() {
74
- var _this = this;
75
- linePosition.forEach(function (item) {
76
- var _this$option$visible, _this$option;
77
- var geometry = new LineGeometry();
78
- var points = [];
79
- item.points.forEach(function (point) {
80
- points.push(point[0], point[1], point[2]);
81
- });
82
- geometry.setPositions(points);
83
- var line = new Line2(geometry, new LineMaterial({
84
- color: item.color,
85
- linewidth: 0.005
86
- }));
87
- line.visible = (_this$option$visible = (_this$option = _this.option) === null || _this$option === void 0 ? void 0 : _this$option.visible) !== null && _this$option$visible !== void 0 ? _this$option$visible : true;
88
- _this.scene.add(line);
89
- _this.lineMesh.set(item.id, line);
90
- });
91
- }
92
- }]);
93
- return LineManage;
94
- }();
95
- export default LineManage;
96
- //# sourceMappingURL=line.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Color","lib","regionMap","Line2","LineGeometry","LineMaterial","linePosition","label","reform","title","id","color","getHex","belongTo","points","concat","_toConsumableArray","area","reduction","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","administrative","LineManage","gobal","options","_classCallCheck","_defineProperty","Map","scene","option","_createClass","key","value","generateLine","_this","forEach","item","_this$option$visible","_this$option","geometry","point","push","setPositions","line","linewidth","visible","add","lineMesh","set"],"sources":["../../../src/factory/unit/line.ts"],"sourcesContent":["import type { Object3D, Scene } from '@anov/3d-core'\nimport { Color, lib } from '@anov/3d-core'\nimport type Factory3D from '../3d'\nimport regionMap from '../regionData'\n\nconst { Line2, LineGeometry, LineMaterial } = lib\nconst linePosition = [\n {\n label: regionMap.reform.title,\n id: '1',\n color: new Color('red').getHex(),\n belongTo: regionMap.reform.id,\n points: [...regionMap.reform.area, regionMap.reform.area[0]],\n },\n {\n label: regionMap.reduction.title,\n id: '2',\n color: new Color('red').getHex(),\n belongTo: regionMap.reduction.id,\n points: [...regionMap.reduction.area, regionMap.reduction.area[0]],\n },\n {\n label: regionMap.crudeOil.title,\n id: '3',\n color: new Color('red').getHex(),\n belongTo: regionMap.crudeOil.id,\n points: [...regionMap.crudeOil.area, regionMap.crudeOil.area[0]],\n },\n {\n label: regionMap.catalyticCracking.title,\n id: '4',\n color: new Color('red').getHex(),\n belongTo: regionMap.catalyticCracking.id,\n points: [...regionMap.catalyticCracking.area, regionMap.catalyticCracking.area[0]],\n },\n {\n label: regionMap.hydrocrackingUnit.title,\n id: '5',\n color: new Color('red').getHex(),\n belongTo: regionMap.hydrocrackingUnit.id,\n points: [...regionMap.hydrocrackingUnit.area, regionMap.hydrocrackingUnit.area[0]],\n },\n {\n label: regionMap.cokingUnit.title,\n id: '6',\n color: new Color('yellow').getHex(),\n belongTo: regionMap.cokingUnit.id,\n points: [...regionMap.cokingUnit.area, regionMap.cokingUnit.area[0]],\n },\n {\n label: regionMap.administrative.title,\n id: '7',\n color: new Color('red').getHex(),\n belongTo: regionMap.administrative.id,\n points: [...regionMap.administrative.area, regionMap.administrative.area[0]],\n },\n]\n\ntype LineManageOption = {\n visible?: boolean\n}\n\nclass LineManage {\n private scene: Scene\n readonly lineMesh: Map<string, Object3D> = new Map()\n private option: LineManageOption\n\n constructor(gobal: Factory3D, options?: LineManageOption) {\n this.scene = gobal.scene.scene\n this.option = options || {}\n }\n\n generateLine() {\n linePosition.forEach((item) => {\n const geometry = new LineGeometry()\n const points = []\n item.points.forEach((point) => {\n points.push(point[0], point[1], point[2])\n })\n\n geometry.setPositions(points)\n\n const line = new Line2(geometry,\n new LineMaterial({\n color: item.color,\n linewidth: 0.005,\n }))\n\n line.visible = this.option?.visible ?? true\n this.scene.add(line)\n this.lineMesh.set(item.id, line)\n })\n }\n}\n\nexport default LineManage"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","Vector3","use","Css2DPoi","EAnimationType","SpritePoi","usePath","regionMap","SceneTag","walllMaterial","PoiManage","gobal","Map","Set","scene","wallManage","wall","_generatePoi","_callee2","_this","wordLength","ratio","unFrame","_callee2$","_context2","_ref","_callee","region","option","sprite","changeWallState","unClick","_callee$","_context","title","Math","max","poiHeight","animation","grow","duration","fadeIn","getDom","position","copy","fromArray","poi","add","updateScale","poiMesh","set","id","regionPlane","planeMesh","get","show","_this$dialogPoi","dialogPoi","visible","wallMesh","uniforms","wallGrowFrame","useframe","addEventListener","tag","overview","event","cameraUtil","focus","area","pitch","addDialogPanel","point","poiEventListener","_x","generatePoi","_camera$position","hratio","minDistance","maxDistance","_use$useScene","useScene","camera","distance","distanceTo","clampedDistance","min","scaleValue","scale","x","data","dom","document","createElement","assign","style","fontSize","backgroundImage","concat","backgroundSize","backgroundRepeat","display","justifyContent","alignItems","fontFamily","textAlign","color","pointerEvents","cursor","height","minWidth","width","padding","img","src","left","top","appendChild","label","marginLeft","innerText","remove","removeFromParent","clear","_this$wallManage","_this2","content","print","clone","setTimeout"],"sources":["../../../src/factory/unit/poi.ts"],"sourcesContent":["import type { Object3D, Scene } from '@anov/3d-core'\nimport { Mesh, Vector3, use, utils } from '@anov/3d-core'\nimport { Css2DPoi, EAnimationType, SpritePoi } from '@anov/3d-ability'\nimport type Factory3D from '../3d'\nimport { usePath } from '../3d'\nimport { regionMap } from '../regionData'\nimport { SceneTag } from '../utils/constant'\nimport type WallManage from './wall'\nimport { walllMaterial } from './wall'\n\nclass PoiManage {\n private gobal: Factory3D\n private scene: Scene\n private dialogPoi: Object3D\n readonly poiMesh: Map<string, Object3D> = new Map()\n readonly poiEventListener: Set<Function> = new Set()\n private wallManage: WallManage\n private poiWidth: number\n private poiHeight = 262\n\n constructor(gobal) {\n this.gobal = gobal\n this.scene = gobal.scene.scene\n this.wallManage = gobal.wall\n }\n\n async generatePoi() {\n let wordLength, ratio\n Object.keys(regionMap).forEach(async (key: string) => {\n const region = regionMap[key]\n wordLength = region.title.length\n ratio = (Math.max(wordLength * (wordLength > 6 ? 48 : 50), 180) / this.poiHeight)\n const option = {\n animation: [{\n type: EAnimationType.grow,\n duration: 1,\n }, {\n type: EAnimationType.fadeIn,\n duration: 0.2,\n }],\n }\n const sprite = new SpritePoi(this.getDom(region), option)\n sprite.position.copy(new Vector3().fromArray(region.poi.position))\n this.scene.add(sprite)\n this.updateScale(sprite, ratio + 0.3, ratio + 0.4)\n this.poiMesh.set(region.poi.id, sprite)\n\n // @ts-ignore\n const target = this.gobal.regionPlane.planeMesh.get(region.id)\n\n // 绑定事件\n const changeWallState = (show) => {\n if (this.dialogPoi?.visible)\n return\n // 光墙\n const wall = this.wallManage.wallMesh.get(region.id)\n wall.visible = show\n walllMaterial.uniforms.grow.value = 0\n\n if (show) {\n let wallGrowFrame\n\n if (wallGrowFrame)\n wallGrowFrame()\n\n wallGrowFrame = use.useframe(() => {\n walllMaterial.uniforms.grow.value += 3\n\n if (walllMaterial.uniforms.grow.value > 50)\n wallGrowFrame()\n })\n }\n }\n\n target.addEventListener('mouseover', () => {\n if (!sprite.visible)\n return\n if (this.gobal.tag === SceneTag.overview)\n changeWallState(true)\n })\n\n sprite.addEventListener('mouseover', () => {\n if (!sprite.visible)\n return\n changeWallState(true)\n })\n\n target.addEventListener('mouseout', () => {\n changeWallState(false)\n })\n\n sprite.addEventListener('mouseout', () => {\n if (this.gobal.tag === SceneTag.overview)\n changeWallState(false)\n })\n\n const unClick = sprite.addEventListener('click', (event) => {\n if (!sprite.visible)\n return\n this.reset()\n\n // 光墙\n const wall = this.wallManage.wallMesh.get(region.id)\n wall.visible = true\n // 隐藏当前POI点\n sprite.visible = false\n\n this.gobal.cameraUtil.focus({ target: region.area, pitch: 0 }).then(() => {\n this.addDialogPanel(region, event.point)\n })\n }) as Function\n this.poiEventListener.add(unClick)\n })\n\n const unFrame = use.useframe(() => {\n this.poiMesh.forEach((poi: SpritePoi) => {\n this.updateScale(poi)\n })\n })\n this.poiEventListener.add(unFrame)\n }\n\n /// <summary>\n /// 按照距离缩放,距离越远,缩放越大\n /// </summary>\n updateScale(poi: SpritePoi, ratio = 0, hratio) {\n // 距离限制范围的值,用于计算缩放比例\n const minDistance = 0.1\n const maxDistance = 1000000\n const { camera } = use.useScene()\n\n // 计算相机和物体之间的距离\n const distance = camera.position?.distanceTo(poi.position) || 0.1\n\n const clampedDistance = Math.max(minDistance, Math.min(maxDistance, distance))\n\n const scaleValue = clampedDistance * 0.12\n if (!ratio && poi.scale)\n ratio = poi.scale.x / poi.scale.y\n\n // 按照缩放系数和距离进行缩放,缩放系数应该约定好一个固定值\n poi.scale.copy(new Vector3(scaleValue * ratio * 0.8, scaleValue * hratio * 0.8 || scaleValue * 0.8, 1))\n }\n\n getDom(data) {\n const dom = document.createElement('div')\n const wordLength = data.title.length\n Object.assign(dom.style, {\n fontSize: '26px',\n backgroundImage: `url(${usePath}poi.png)`,\n backgroundSize: '100% 100%',\n backgroundRepeat: 'no-repeat',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'flex-start',\n fontFamily: 'YouSheBiaoTiHei3D',\n textAlign: 'center',\n color: '#fff',\n pointerEvents: 'auto',\n cursor: 'pointer',\n height: `${this.poiHeight}px`,\n minWidth: '180px',\n width: `${wordLength * (wordLength > 6 ? 34 : 40)}px`,\n padding: '8px 0 0 25px',\n position: 'relative',\n })\n const img = document.createElement('img')\n img.src = `${usePath}${data.title}图标.png`\n img.style.position = 'absolute'\n img.style.left = '18px'\n img.style.top = '13px'\n img.style.width = '30px'\n img.style.height = '30px'\n dom.appendChild(img)\n\n const label = document.createElement('label')\n label.style.marginLeft = '16px'\n label.innerText = data.title\n dom.appendChild(label)\n return dom\n }\n\n remove() {\n // 控制POI点的隐藏、显示\n this.poiMesh.forEach((poi) => {\n poi.removeFromParent()\n poi.remove()\n })\n // 取消事件监听\n this.poiEventListener.forEach((f) => {\n f()\n })\n this.poiEventListener.clear()\n // 移除面板\n if (this.dialogPoi)\n this.dialogPoi.removeFromParent()\n this.poiMesh.clear()\n }\n\n reset() {\n // 控制POI点的隐藏、显示\n // 控制POI点的隐藏、显示\n this.poiMesh.forEach((poi) => {\n poi.visible = true\n })\n // 移除面板\n if (this.dialogPoi)\n this.dialogPoi.removeFromParent()\n // 控制光墙的隐藏、显示\n this.wallManage?.wallMesh.forEach((wall) => {\n wall.visible = false\n })\n }\n\n private addDialogPanel(data, position) {\n // 添加面板\n // , {\n // type: EAnimationType.fadeIn,\n // duration: 0.3,\n // }\n this.dialogPoi = new Css2DPoi({ title: data.title, content: data.poi.content }, {\n animation: [{\n type: EAnimationType.grow,\n duration: 1,\n }, {\n type: EAnimationType.print,\n duration: 0.02,\n }],\n },\n\n )\n this.dialogPoi.position.copy(position.clone().add(new Vector3(10, 0, 0)))\n setTimeout(() => this.scene.add(this.dialogPoi))\n\n this.dialogPoi.addEventListener('click', () => {\n this.dialogPoi.remove()\n this.dialogPoi.removeFromParent()\n this.dialogPoi = null\n this.reset()\n })\n }\n}\n\nexport default PoiManage"],"mappings":"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"}
@@ -1,72 +0,0 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
4
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
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
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
- import { BufferAttribute, BufferGeometry, DoubleSide, Mesh, MeshBasicMaterial, Vector3 } from '@anov/3d-core';
9
- import { regionMap } from "../regionData";
10
- var RegionPlane = /*#__PURE__*/function () {
11
- function RegionPlane(gobal) {
12
- _classCallCheck(this, RegionPlane);
13
- _defineProperty(this, "scene", void 0);
14
- _defineProperty(this, "planeMesh", new Map());
15
- this.scene = gobal.scene.scene;
16
- this.generatePlane();
17
- }
18
- _createClass(RegionPlane, [{
19
- key: "generatePlane",
20
- value: function generatePlane() {
21
- var _this = this;
22
- Object.values(regionMap).forEach(function (region) {
23
- var area = region.area;
24
- var areaVector3Arrat = area.map(function (v) {
25
- return new Vector3(v[0], 20, v[2]);
26
- });
27
- var geometry = _this.createFaceGeometry(areaVector3Arrat[0], areaVector3Arrat[1], areaVector3Arrat[2], areaVector3Arrat[3]);
28
- var plane = new Mesh(geometry, new MeshBasicMaterial({
29
- color: '#f9ba41',
30
- side: DoubleSide,
31
- transparent: true,
32
- opacity: 0,
33
- depthTest: false
34
- }));
35
- _this.planeMesh.set(region.id, plane);
36
- _this.scene.add(plane);
37
- });
38
- }
39
- }, {
40
- key: "createFaceGeometry",
41
- value: function createFaceGeometry(point1, point2, point3, point4) {
42
- var vertices = [point1.x, point1.y, point1.z, point2.x, point2.y, point2.z, point3.x, point3.y, point3.z, point4.x, point4.y, point4.z];
43
- var indices = [0, 1, 2, 0, 2, 3];
44
- var normal = new Vector3();
45
- normal.crossVectors(new Vector3(point2.x - point1.x, point2.y - point1.y, point2.z - point1.z), new Vector3(point3.x - point1.x, point3.y - point1.y, point3.z - point1.z));
46
- normal.normalize();
47
- var normals = [normal.x, normal.y, normal.z, normal.x, normal.y, normal.z, normal.x, normal.y, normal.z, normal.x, normal.y, normal.z];
48
- var geometry = new BufferGeometry();
49
- geometry.setAttribute('position', new BufferAttribute(new Float32Array(vertices), 3));
50
- geometry.setAttribute('normal', new BufferAttribute(new Float32Array(normals), 3));
51
- geometry.setIndex(indices);
52
- return geometry;
53
- }
54
- }, {
55
- key: "remove",
56
- value: function remove() {
57
- this.planeMesh.forEach(function (mesh) {
58
- mesh.removeFromParent();
59
- mesh.remove();
60
-
61
- // @ts-ignore
62
- mesh.geometry.dispose();
63
- // @ts-ignore
64
- mesh.material.dispose();
65
- });
66
- this.planeMesh.clear();
67
- }
68
- }]);
69
- return RegionPlane;
70
- }();
71
- export default RegionPlane;
72
- //# sourceMappingURL=region.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["BufferAttribute","BufferGeometry","DoubleSide","Mesh","MeshBasicMaterial","Vector3","regionMap","RegionPlane","gobal","_classCallCheck","_defineProperty","Map","scene","generatePlane","_createClass","key","value","_this","Object","values","forEach","region","area","areaVector3Arrat","map","v","geometry","createFaceGeometry","plane","color","side","transparent","opacity","depthTest","planeMesh","set","id","add","point1","point2","point3","point4","vertices","x","y","z","indices","normal","crossVectors","normalize","normals","setAttribute","Float32Array","setIndex","remove","mesh","removeFromParent","dispose","material","clear"],"sources":["../../../src/factory/unit/region.ts"],"sourcesContent":["import type { Object3D, Scene } from '@anov/3d-core'\nimport { BufferAttribute, BufferGeometry, DoubleSide, Mesh, MeshBasicMaterial, Vector3, utils } from '@anov/3d-core'\nimport type Factory3D from '../3d'\nimport { regionMap } from '../regionData'\n\nclass RegionPlane {\n private scene: Scene\n readonly planeMesh: Map<string, Object3D> = new Map()\n\n constructor(gobal: Factory3D) {\n this.scene = gobal.scene.scene\n this.generatePlane()\n }\n\n generatePlane() {\n Object.values(regionMap).forEach((region) => {\n const { area } = region\n const areaVector3Arrat = area.map(v => new Vector3(v[0], 20, v[2]))\n const geometry = this.createFaceGeometry(areaVector3Arrat[0], areaVector3Arrat[1], areaVector3Arrat[2], areaVector3Arrat[3])\n const plane = new Mesh(geometry, new MeshBasicMaterial({ color: '#f9ba41', side: DoubleSide, transparent: true, opacity: 0, depthTest: false }))\n this.planeMesh.set(region.id, plane)\n\n this.scene.add(plane)\n })\n }\n\n createFaceGeometry(point1, point2, point3, point4) {\n const vertices = [\n point1.x, point1.y, point1.z,\n point2.x, point2.y, point2.z,\n point3.x, point3.y, point3.z,\n point4.x, point4.y, point4.z,\n ]\n\n const indices = [\n 0, 1, 2,\n 0, 2, 3,\n ]\n\n const normal = new Vector3()\n normal.crossVectors(new Vector3(point2.x - point1.x, point2.y - point1.y, point2.z - point1.z),\n new Vector3(point3.x - point1.x, point3.y - point1.y, point3.z - point1.z))\n normal.normalize()\n const normals = [\n normal.x, normal.y, normal.z,\n normal.x, normal.y, normal.z,\n normal.x, normal.y, normal.z,\n normal.x, normal.y, normal.z,\n ]\n\n const geometry = new BufferGeometry()\n\n geometry.setAttribute('position', new BufferAttribute(new Float32Array(vertices), 3))\n geometry.setAttribute('normal', new BufferAttribute(new Float32Array(normals), 3))\n geometry.setIndex(indices)\n\n return geometry\n }\n\n remove() {\n this.planeMesh.forEach((mesh) => {\n mesh.removeFromParent()\n mesh.remove()\n\n // @ts-ignore\n mesh.geometry.dispose()\n // @ts-ignore\n mesh.material.dispose()\n })\n this.planeMesh.clear()\n }\n}\n\nexport default RegionPlane"],"mappings":";;;;;;;AACA,SAASA,eAAe,EAAEC,cAAc,EAAEC,UAAU,EAAEC,IAAI,EAAEC,iBAAiB,EAAEC,OAAO,QAAe,eAAe;AAEpH,SAASC,SAAS;AAAuB,IAEnCC,WAAW;EAIf,SAAAA,YAAYC,KAAgB,EAAE;IAAAC,eAAA,OAAAF,WAAA;IAAAG,eAAA;IAAAA,eAAA,oBAFc,IAAIC,GAAG,CAAC,CAAC;IAGnD,IAAI,CAACC,KAAK,GAAGJ,KAAK,CAACI,KAAK,CAACA,KAAK;IAC9B,IAAI,CAACC,aAAa,CAAC,CAAC;EACtB;EAACC,YAAA,CAAAP,WAAA;IAAAQ,GAAA;IAAAC,KAAA,EAED,SAAAH,cAAA,EAAgB;MAAA,IAAAI,KAAA;MACdC,MAAM,CAACC,MAAM,CAACb,SAAS,CAAC,CAACc,OAAO,CAAC,UAACC,MAAM,EAAK;QAC3C,IAAQC,IAAI,GAAKD,MAAM,CAAfC,IAAI;QACZ,IAAMC,gBAAgB,GAAGD,IAAI,CAACE,GAAG,CAAC,UAAAC,CAAC;UAAA,OAAI,IAAIpB,OAAO,CAACoB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC;QAAA,EAAC;QACnE,IAAMC,QAAQ,GAAGT,KAAI,CAACU,kBAAkB,CAACJ,gBAAgB,CAAC,CAAC,CAAC,EAAEA,gBAAgB,CAAC,CAAC,CAAC,EAAEA,gBAAgB,CAAC,CAAC,CAAC,EAAEA,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC5H,IAAMK,KAAK,GAAG,IAAIzB,IAAI,CAACuB,QAAQ,EAAE,IAAItB,iBAAiB,CAAC;UAAEyB,KAAK,EAAE,SAAS;UAAEC,IAAI,EAAE5B,UAAU;UAAE6B,WAAW,EAAE,IAAI;UAAEC,OAAO,EAAE,CAAC;UAAEC,SAAS,EAAE;QAAM,CAAC,CAAC,CAAC;QAChJhB,KAAI,CAACiB,SAAS,CAACC,GAAG,CAACd,MAAM,CAACe,EAAE,EAAER,KAAK,CAAC;QAEpCX,KAAI,CAACL,KAAK,CAACyB,GAAG,CAACT,KAAK,CAAC;MACvB,CAAC,CAAC;IACJ;EAAC;IAAAb,GAAA;IAAAC,KAAA,EAED,SAAAW,mBAAmBW,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAE;MACjD,IAAMC,QAAQ,GAAG,CACfJ,MAAM,CAACK,CAAC,EAAEL,MAAM,CAACM,CAAC,EAAEN,MAAM,CAACO,CAAC,EAC5BN,MAAM,CAACI,CAAC,EAAEJ,MAAM,CAACK,CAAC,EAAEL,MAAM,CAACM,CAAC,EAC5BL,MAAM,CAACG,CAAC,EAAEH,MAAM,CAACI,CAAC,EAAEJ,MAAM,CAACK,CAAC,EAC5BJ,MAAM,CAACE,CAAC,EAAEF,MAAM,CAACG,CAAC,EAAEH,MAAM,CAACI,CAAC,CAC7B;MAED,IAAMC,OAAO,GAAG,CACd,CAAC,EAAE,CAAC,EAAE,CAAC,EACP,CAAC,EAAE,CAAC,EAAE,CAAC,CACR;MAED,IAAMC,MAAM,GAAG,IAAI1C,OAAO,CAAC,CAAC;MAC5B0C,MAAM,CAACC,YAAY,CAAC,IAAI3C,OAAO,CAACkC,MAAM,CAACI,CAAC,GAAGL,MAAM,CAACK,CAAC,EAAEJ,MAAM,CAACK,CAAC,GAAGN,MAAM,CAACM,CAAC,EAAEL,MAAM,CAACM,CAAC,GAAGP,MAAM,CAACO,CAAC,CAAC,EAC5F,IAAIxC,OAAO,CAACmC,MAAM,CAACG,CAAC,GAAGL,MAAM,CAACK,CAAC,EAAEH,MAAM,CAACI,CAAC,GAAGN,MAAM,CAACM,CAAC,EAAEJ,MAAM,CAACK,CAAC,GAAGP,MAAM,CAACO,CAAC,CAAC,CAAC;MAC7EE,MAAM,CAACE,SAAS,CAAC,CAAC;MAClB,IAAMC,OAAO,GAAG,CACdH,MAAM,CAACJ,CAAC,EAAEI,MAAM,CAACH,CAAC,EAAEG,MAAM,CAACF,CAAC,EAC5BE,MAAM,CAACJ,CAAC,EAAEI,MAAM,CAACH,CAAC,EAAEG,MAAM,CAACF,CAAC,EAC5BE,MAAM,CAACJ,CAAC,EAAEI,MAAM,CAACH,CAAC,EAAEG,MAAM,CAACF,CAAC,EAC5BE,MAAM,CAACJ,CAAC,EAAEI,MAAM,CAACH,CAAC,EAAEG,MAAM,CAACF,CAAC,CAC7B;MAED,IAAMnB,QAAQ,GAAG,IAAIzB,cAAc,CAAC,CAAC;MAErCyB,QAAQ,CAACyB,YAAY,CAAC,UAAU,EAAE,IAAInD,eAAe,CAAC,IAAIoD,YAAY,CAACV,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;MACrFhB,QAAQ,CAACyB,YAAY,CAAC,QAAQ,EAAE,IAAInD,eAAe,CAAC,IAAIoD,YAAY,CAACF,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;MAClFxB,QAAQ,CAAC2B,QAAQ,CAACP,OAAO,CAAC;MAE1B,OAAOpB,QAAQ;IACjB;EAAC;IAAAX,GAAA;IAAAC,KAAA,EAED,SAAAsC,OAAA,EAAS;MACP,IAAI,CAACpB,SAAS,CAACd,OAAO,CAAC,UAACmC,IAAI,EAAK;QAC/BA,IAAI,CAACC,gBAAgB,CAAC,CAAC;QACvBD,IAAI,CAACD,MAAM,CAAC,CAAC;;QAEb;QACAC,IAAI,CAAC7B,QAAQ,CAAC+B,OAAO,CAAC,CAAC;QACvB;QACAF,IAAI,CAACG,QAAQ,CAACD,OAAO,CAAC,CAAC;MACzB,CAAC,CAAC;MACF,IAAI,CAACvB,SAAS,CAACyB,KAAK,CAAC,CAAC;IACxB;EAAC;EAAA,OAAApD,WAAA;AAAA;AAGH,eAAeA,WAAW"}