@anov/3d 0.0.177 → 0.0.185
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/anov3d.js +0 -2
- package/dist/anov3d.js.map +1 -1
- package/dist/applicationApi.js +38 -39
- package/dist/applicationApi.js.map +1 -1
- package/dist/module/camera/index.js +20 -17
- package/dist/module/camera/index.js.map +1 -1
- package/dist/module/entity/area/index.js +29 -0
- package/dist/module/entity/area/index.js.map +1 -0
- package/dist/module/{model/index.js → entity/area/style/area_01.js} +40 -79
- package/dist/module/entity/area/style/area_01.js.map +1 -0
- package/dist/module/entity/area/style/index.js +27 -0
- package/dist/module/entity/area/style/index.js.map +1 -0
- package/dist/module/entity/area/type.js.map +1 -0
- package/dist/module/entity/bar/index.js +29 -0
- package/dist/module/entity/bar/index.js.map +1 -0
- package/dist/{factory/unit/poi.js → module/entity/bar/style/bar_01.js} +36 -249
- package/dist/module/entity/bar/style/bar_01.js.map +1 -0
- package/dist/module/entity/bar/style/index.js +27 -0
- package/dist/module/entity/bar/style/index.js.map +1 -0
- package/dist/module/entity/bar/type.js +2 -0
- package/dist/module/entity/bar/type.js.map +1 -0
- package/dist/module/entity/baseEntity.js +1 -1
- package/dist/module/entity/baseEntity.js.map +1 -1
- package/dist/module/entity/index.js +5 -12
- package/dist/module/entity/index.js.map +1 -1
- package/dist/module/entity/model/index.js +9 -6
- package/dist/module/entity/model/index.js.map +1 -1
- package/dist/module/entity/model/load/loadFbx.js.map +1 -1
- package/dist/module/entity/model/load/loadGlb.js +7 -4
- package/dist/module/entity/model/load/loadGlb.js.map +1 -1
- package/dist/module/entity/poi/style/base.js.map +1 -1
- package/dist/module/entity/poi/style/index.js +40 -0
- package/dist/module/entity/poi/style/index.js.map +1 -1
- package/dist/module/entity/poi/type.js.map +1 -1
- package/dist/{factory/unit/districtLine.js → module/entity/realismTraffic/index.js} +91 -109
- package/dist/module/entity/realismTraffic/index.js.map +1 -0
- package/dist/module/entity/spline/style/index.js.map +1 -1
- package/dist/module/entity/spline/style/line_01.js +2 -2
- package/dist/module/entity/spline/style/line_01.js.map +1 -1
- package/dist/module/entity/spline/style/line_texture_01.js +6 -6
- package/dist/module/entity/spline/style/line_texture_01.js.map +1 -1
- package/dist/module/entity/spline/type.js.map +1 -1
- package/dist/module/entity/strategy.js +22 -0
- package/dist/module/entity/strategy.js.map +1 -1
- package/dist/module/entity/utils.js +17 -0
- package/dist/module/entity/utils.js.map +1 -1
- package/dist/module/environment/index.js +35 -113
- package/dist/module/environment/index.js.map +1 -1
- package/dist/module/scene/fileParse.js +232 -132
- package/dist/module/scene/fileParse.js.map +1 -1
- package/dist/module/scene/index.js +84 -137
- package/dist/module/scene/index.js.map +1 -1
- package/dist/{factory/globalControl.js → module/tool/index.js} +8 -16
- package/dist/module/tool/index.js.map +1 -0
- package/dist/sdkEntry.js +4 -9
- package/dist/sdkEntry.js.map +1 -1
- package/package.json +3 -3
- package/dist/factory/3d.js +0 -535
- package/dist/factory/3d.js.map +0 -1
- package/dist/factory/globalControl.js.map +0 -1
- package/dist/factory/globalData.js +0 -2
- package/dist/factory/globalData.js.map +0 -1
- package/dist/factory/regionData.js +0 -499
- package/dist/factory/regionData.js.map +0 -1
- package/dist/factory/type.js.map +0 -1
- package/dist/factory/unit/CameraPoi.js +0 -1047
- package/dist/factory/unit/CameraPoi.js.map +0 -1
- package/dist/factory/unit/areaBoundingBox.js +0 -28
- package/dist/factory/unit/areaBoundingBox.js.map +0 -1
- package/dist/factory/unit/circle.js +0 -225
- package/dist/factory/unit/circle.js.map +0 -1
- package/dist/factory/unit/cylinder.js +0 -269
- package/dist/factory/unit/cylinder.js.map +0 -1
- package/dist/factory/unit/districtLine.js.map +0 -1
- package/dist/factory/unit/glsl/heat/frag.glsl +0 -37
- package/dist/factory/unit/glsl/heat/frag.js +0 -4
- package/dist/factory/unit/glsl/heat/frag.js.map +0 -1
- package/dist/factory/unit/glsl/heat/ver.glsl +0 -15
- package/dist/factory/unit/glsl/heat/ver.js +0 -4
- package/dist/factory/unit/glsl/heat/ver.js.map +0 -1
- package/dist/factory/unit/glsl/highway/fragmentShader.js +0 -4
- package/dist/factory/unit/glsl/highway/fragmentShader.js.map +0 -1
- package/dist/factory/unit/glsl/highway/fragmentShader2.js +0 -4
- package/dist/factory/unit/glsl/highway/fragmentShader2.js.map +0 -1
- package/dist/factory/unit/glsl/highway/vertexShader.js +0 -4
- package/dist/factory/unit/glsl/highway/vertexShader.js.map +0 -1
- package/dist/factory/unit/glsl/point/fragment.glsl +0 -12
- package/dist/factory/unit/glsl/point/vertex.glsl +0 -7
- package/dist/factory/unit/glsl/wall/fragmentShader.glsl +0 -30
- package/dist/factory/unit/glsl/wall/vertexShader.glsl +0 -6
- package/dist/factory/unit/handle.js +0 -132
- package/dist/factory/unit/handle.js.map +0 -1
- package/dist/factory/unit/index.js +0 -264
- package/dist/factory/unit/index.js.map +0 -1
- package/dist/factory/unit/inspection/InspectionObject.js +0 -608
- package/dist/factory/unit/inspection/InspectionObject.js.map +0 -1
- package/dist/factory/unit/inspection/defaultFirstPerspectiveControls.js +0 -382
- package/dist/factory/unit/inspection/defaultFirstPerspectiveControls.js.map +0 -1
- package/dist/factory/unit/inspection/index.js +0 -379
- package/dist/factory/unit/inspection/index.js.map +0 -1
- package/dist/factory/unit/inspection/lineData.js +0 -44
- package/dist/factory/unit/inspection/lineData.js.map +0 -1
- package/dist/factory/unit/inspection/map.js +0 -67
- package/dist/factory/unit/inspection/map.js.map +0 -1
- package/dist/factory/unit/inspection/tubeGeometry.js +0 -152
- package/dist/factory/unit/inspection/tubeGeometry.js.map +0 -1
- package/dist/factory/unit/layer/rise.js +0 -142
- package/dist/factory/unit/layer/rise.js.map +0 -1
- package/dist/factory/unit/line.js +0 -96
- package/dist/factory/unit/line.js.map +0 -1
- package/dist/factory/unit/poi.js.map +0 -1
- package/dist/factory/unit/region.js +0 -72
- package/dist/factory/unit/region.js.map +0 -1
- package/dist/factory/unit/slice.js +0 -122
- package/dist/factory/unit/slice.js.map +0 -1
- package/dist/factory/unit/wall.js +0 -119
- package/dist/factory/unit/wall.js.map +0 -1
- package/dist/factory/utils/areaBoundingBox.js +0 -54
- package/dist/factory/utils/areaBoundingBox.js.map +0 -1
- package/dist/factory/utils/constant.js +0 -15
- package/dist/factory/utils/constant.js.map +0 -1
- package/dist/factory/utils/finirMaterial.js +0 -56
- package/dist/factory/utils/finirMaterial.js.map +0 -1
- package/dist/factory/utils/fontMesh.js +0 -49
- package/dist/factory/utils/fontMesh.js.map +0 -1
- package/dist/factory/utils/ground.js +0 -65
- package/dist/factory/utils/ground.js.map +0 -1
- package/dist/factory/utils/index.js +0 -24
- package/dist/factory/utils/index.js.map +0 -1
- package/dist/factory/utils/observe.js +0 -23
- package/dist/factory/utils/observe.js.map +0 -1
- package/dist/factory/utils/switchMaterial.js +0 -110
- package/dist/factory/utils/switchMaterial.js.map +0 -1
- package/dist/module/environment/time/index.js +0 -28
- package/dist/module/environment/time/index.js.map +0 -1
- package/dist/module/environment/weather/type.js +0 -28
- package/dist/module/environment/weather/type.js.map +0 -1
- package/dist/module/model/index.js.map +0 -1
- /package/dist/{factory → module/entity/area}/type.js +0 -0
|
@@ -1,269 +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 { BoxGeometry, Color, Group, Mesh, ShaderMaterial, Vector3, globalObjectManage, use, utils } from '@anov/3d-core';
|
|
9
|
-
import createFontMesh from "../utils/fontMesh";
|
|
10
|
-
import { SceneStyle, SceneTag } from "../utils/constant";
|
|
11
|
-
import regionMap from "../regionData";
|
|
12
|
-
import { collisionDetection } from "../utils/areaBoundingBox";
|
|
13
|
-
import { lookAtOnYAxis } from "../utils";
|
|
14
|
-
var emitter = utils.emitter;
|
|
15
|
-
var cylinderData = [{
|
|
16
|
-
label: '8人',
|
|
17
|
-
id: '1',
|
|
18
|
-
title: regionMap.reform.title,
|
|
19
|
-
belongTo: regionMap.reform.id,
|
|
20
|
-
area: regionMap.reform.area,
|
|
21
|
-
color: new Color('#FED602').getHex(),
|
|
22
|
-
points: regionMap.reform.poi.position,
|
|
23
|
-
height: 80,
|
|
24
|
-
areaLabel: '重整装置区',
|
|
25
|
-
camera: {
|
|
26
|
-
target: [-314.011126, 0.55002, -146.543503],
|
|
27
|
-
position: [-312.394914, 257.245626, 47.197057]
|
|
28
|
-
}
|
|
29
|
-
}, {
|
|
30
|
-
label: '7人',
|
|
31
|
-
id: '2',
|
|
32
|
-
title: regionMap.reduction.title,
|
|
33
|
-
belongTo: regionMap.reduction.id,
|
|
34
|
-
area: regionMap.reduction.area,
|
|
35
|
-
color: new Color('#FED602').getHex(),
|
|
36
|
-
points: regionMap.reduction.poi.position,
|
|
37
|
-
height: 70,
|
|
38
|
-
areaLabel: '常减压装置区',
|
|
39
|
-
camera: {
|
|
40
|
-
target: [31.316545, 0.550012, -130.972087],
|
|
41
|
-
position: [34.239022, 267.62292, 62.561665]
|
|
42
|
-
}
|
|
43
|
-
}, {
|
|
44
|
-
label: '4人',
|
|
45
|
-
id: '3',
|
|
46
|
-
title: regionMap.crudeOil.title,
|
|
47
|
-
belongTo: regionMap.crudeOil.id,
|
|
48
|
-
area: regionMap.crudeOil.area,
|
|
49
|
-
color: new Color('#FED602').getHex(),
|
|
50
|
-
points: regionMap.crudeOil.poi.position,
|
|
51
|
-
height: 40,
|
|
52
|
-
areaLabel: '原油罐区',
|
|
53
|
-
camera: {
|
|
54
|
-
target: [353.973508, 0.550011, -125.345886],
|
|
55
|
-
position: [353.432421, 201.482934, 32.729098]
|
|
56
|
-
}
|
|
57
|
-
}, {
|
|
58
|
-
label: '10人',
|
|
59
|
-
id: '4',
|
|
60
|
-
title: regionMap.catalyticCracking.title,
|
|
61
|
-
belongTo: regionMap.catalyticCracking.id,
|
|
62
|
-
area: regionMap.catalyticCracking.area,
|
|
63
|
-
color: new Color('#FED602').getHex(),
|
|
64
|
-
points: regionMap.catalyticCracking.poi.position,
|
|
65
|
-
height: 100,
|
|
66
|
-
areaLabel: '催化裂化装置区',
|
|
67
|
-
camera: {
|
|
68
|
-
target: [-322.573001, 0.550014, 31.815163],
|
|
69
|
-
position: [-320.957427, 257.144259, 225.47922]
|
|
70
|
-
}
|
|
71
|
-
}, {
|
|
72
|
-
label: '3人',
|
|
73
|
-
id: '5',
|
|
74
|
-
title: regionMap.hydrocrackingUnit.title,
|
|
75
|
-
belongTo: regionMap.hydrocrackingUnit.id,
|
|
76
|
-
area: regionMap.hydrocrackingUnit.area,
|
|
77
|
-
color: new Color('#FED602').getHex(),
|
|
78
|
-
points: regionMap.hydrocrackingUnit.poi.position,
|
|
79
|
-
height: 30,
|
|
80
|
-
areaLabel: '加氢裂化装置区',
|
|
81
|
-
camera: {
|
|
82
|
-
target: [-307.049915, 0.550014, 168.905777],
|
|
83
|
-
position: [-305.525588, 240.704876, 351.631836]
|
|
84
|
-
}
|
|
85
|
-
}, {
|
|
86
|
-
label: '8人',
|
|
87
|
-
id: '6',
|
|
88
|
-
title: regionMap.cokingUnit.title,
|
|
89
|
-
belongTo: regionMap.cokingUnit.id,
|
|
90
|
-
area: regionMap.cokingUnit.area,
|
|
91
|
-
color: new Color('#FED602').getHex(),
|
|
92
|
-
points: regionMap.cokingUnit.poi.position,
|
|
93
|
-
height: 80,
|
|
94
|
-
areaLabel: '焦化装置区',
|
|
95
|
-
camera: {
|
|
96
|
-
target: [92.780379, 0.550012, 106.726765],
|
|
97
|
-
position: [96.849312, 372.392759, 376.181734]
|
|
98
|
-
}
|
|
99
|
-
}, {
|
|
100
|
-
label: '20人',
|
|
101
|
-
id: '7',
|
|
102
|
-
title: regionMap.administrative.title,
|
|
103
|
-
belongTo: regionMap.administrative.id,
|
|
104
|
-
area: regionMap.administrative.area,
|
|
105
|
-
color: new Color('#FED602').getHex(),
|
|
106
|
-
points: regionMap.administrative.poi.position,
|
|
107
|
-
height: 150,
|
|
108
|
-
areaLabel: '办公区',
|
|
109
|
-
camera: {
|
|
110
|
-
target: [416.932569, 0.550009, 85.100115],
|
|
111
|
-
position: [567.413903, 236.090124, 82.586741]
|
|
112
|
-
}
|
|
113
|
-
}];
|
|
114
|
-
var CylinderManage = /*#__PURE__*/function () {
|
|
115
|
-
function CylinderManage(gobal, options) {
|
|
116
|
-
var _this = this;
|
|
117
|
-
_classCallCheck(this, CylinderManage);
|
|
118
|
-
_defineProperty(this, "scene", void 0);
|
|
119
|
-
_defineProperty(this, "cylinderMesh", new Map());
|
|
120
|
-
_defineProperty(this, "option", void 0);
|
|
121
|
-
_defineProperty(this, "gobal", void 0);
|
|
122
|
-
_defineProperty(this, "currentoperate", cylinderData[0].belongTo);
|
|
123
|
-
_defineProperty(this, "highLightAreaId", void 0);
|
|
124
|
-
_defineProperty(this, "hoverAreaId", void 0);
|
|
125
|
-
_defineProperty(this, "cameraListenerHandle", function () {
|
|
126
|
-
var currentCameraPosition = _this.gobal.control.object.position;
|
|
127
|
-
var box = _this.gobal.areaBoundingBox.boundingBoxMap.get(_this.currentoperate);
|
|
128
|
-
var iscollision = collisionDetection(box, currentCameraPosition);
|
|
129
|
-
if (!iscollision) {
|
|
130
|
-
emitter.emit('peoplemanagement-camera-out', {
|
|
131
|
-
belongTo: _this.currentoperate
|
|
132
|
-
});
|
|
133
|
-
_this.cameraRemoveListener();
|
|
134
|
-
}
|
|
135
|
-
});
|
|
136
|
-
this.scene = gobal.scene.scene;
|
|
137
|
-
this.gobal = gobal;
|
|
138
|
-
this.option = options || {};
|
|
139
|
-
}
|
|
140
|
-
_createClass(CylinderManage, [{
|
|
141
|
-
key: "generateCylinder",
|
|
142
|
-
value: function generateCylinder() {
|
|
143
|
-
var _this2 = this;
|
|
144
|
-
cylinderData.forEach(function (item) {
|
|
145
|
-
var _this2$option$visible, _this2$option;
|
|
146
|
-
var cylinder = _this2.getMesh(item);
|
|
147
|
-
var group = new Group();
|
|
148
|
-
group.name = item.title;
|
|
149
|
-
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;
|
|
150
|
-
cylinder.position.copy(new Vector3().fromArray([item.points[0], item.points[1] + item.height / 2, item.points[2]]));
|
|
151
|
-
var handleClick = function handleClick() {
|
|
152
|
-
if (_this2.gobal.style === SceneStyle.real || group.visible === false) return;
|
|
153
|
-
var _item$camera = item.camera,
|
|
154
|
-
position = _item$camera.position,
|
|
155
|
-
target = _item$camera.target;
|
|
156
|
-
_this2.gobal.cameraUtil.set({
|
|
157
|
-
position: position,
|
|
158
|
-
target: target
|
|
159
|
-
}).then(function () {
|
|
160
|
-
emitter.emit('peoplemanagement-camera-enter', item);
|
|
161
|
-
_this2.setVisible();
|
|
162
|
-
var currentGroup = _this2.cylinderMesh.get(item.belongTo);
|
|
163
|
-
currentGroup.visible = false;
|
|
164
|
-
_this2.currentoperate = item.belongTo;
|
|
165
|
-
});
|
|
166
|
-
|
|
167
|
-
// this.gobal.cameraUtil.focus({ target: item.area, pitch: 0 }).then(() => { })
|
|
168
|
-
};
|
|
169
|
-
|
|
170
|
-
// @ts-ignore
|
|
171
|
-
var plane = _this2.gobal.regionPlane.planeMesh.get(item.id);
|
|
172
|
-
plane.addEventListener('click', function () {
|
|
173
|
-
if (_this2.gobal.tag === SceneTag['people-management']) {
|
|
174
|
-
_this2.highLightAreaId = item.id;
|
|
175
|
-
handleClick();
|
|
176
|
-
}
|
|
177
|
-
});
|
|
178
|
-
plane.addEventListener('mouseover', function () {
|
|
179
|
-
if (_this2.gobal.tag === SceneTag['people-management']) {
|
|
180
|
-
var _this2$gobal$district;
|
|
181
|
-
_this2.hoverAreaId = item === null || item === void 0 ? void 0 : item.belongTo;
|
|
182
|
-
(_this2$gobal$district = _this2.gobal.districtLine) === null || _this2$gobal$district === void 0 || _this2$gobal$district.setHighLightLine(item === null || item === void 0 ? void 0 : item.belongTo);
|
|
183
|
-
}
|
|
184
|
-
});
|
|
185
|
-
plane.addEventListener('mouseout', function () {
|
|
186
|
-
var _this2$gobal$district2;
|
|
187
|
-
if (_this2.gobal.tag === SceneTag['people-management'] && _this2.hoverAreaId !== _this2.highLightAreaId) (_this2$gobal$district2 = _this2.gobal.districtLine) === null || _this2$gobal$district2 === void 0 || _this2$gobal$district2.removeHighLightLine(_this2.hoverAreaId);
|
|
188
|
-
});
|
|
189
|
-
group.addEventListener('click', function () {
|
|
190
|
-
handleClick();
|
|
191
|
-
});
|
|
192
|
-
_this2.cylinderMesh.set(item.belongTo, group);
|
|
193
|
-
group.add(cylinder);
|
|
194
|
-
var font = createFontMesh(item.label, {
|
|
195
|
-
position: new Vector3().fromArray([item.points[0], item.points[1] + item.height + 10, item.points[2]])
|
|
196
|
-
});
|
|
197
|
-
var font2 = createFontMesh(item.areaLabel, {
|
|
198
|
-
position: new Vector3().fromArray([item.points[0], item.points[1] + item.height + 25, item.points[2]])
|
|
199
|
-
});
|
|
200
|
-
var fontPromiseAll = Promise.all([font, font2]);
|
|
201
|
-
fontPromiseAll.then(function (meshArr) {
|
|
202
|
-
meshArr.forEach(function (mesh) {
|
|
203
|
-
mesh.geometry.center();
|
|
204
|
-
group.add(mesh);
|
|
205
|
-
use.useframe(function () {
|
|
206
|
-
lookAtOnYAxis(mesh, globalObjectManage.camera.position);
|
|
207
|
-
});
|
|
208
|
-
_this2.scene.add(group);
|
|
209
|
-
});
|
|
210
|
-
});
|
|
211
|
-
});
|
|
212
|
-
this.controlAddListener();
|
|
213
|
-
}
|
|
214
|
-
}, {
|
|
215
|
-
key: "setVisible",
|
|
216
|
-
value: function setVisible() {
|
|
217
|
-
var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
218
|
-
// 控制CYCLE的隐藏、显示
|
|
219
|
-
this.cylinderMesh.forEach(function (bar) {
|
|
220
|
-
bar.visible = visible;
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
}, {
|
|
224
|
-
key: "getMesh",
|
|
225
|
-
value: function getMesh(data) {
|
|
226
|
-
var width = 10;
|
|
227
|
-
var geometry = new BoxGeometry(width, data.height, width);
|
|
228
|
-
var gradientMaterial = new ShaderMaterial({
|
|
229
|
-
transparent: true,
|
|
230
|
-
depthTest: false,
|
|
231
|
-
uniforms: {
|
|
232
|
-
intensity: {
|
|
233
|
-
value: 1.0
|
|
234
|
-
}
|
|
235
|
-
},
|
|
236
|
-
vertexShader: "\n varying vec2 vUv;\n varying vec3 vNormal;\n void main()\n {\n vUv = uv;\n vNormal =normalize( normal ) ;\n vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * mvPosition;\n }\n \n ",
|
|
237
|
-
fragmentShader: "\n \n varying vec3 vNormal;\n varying vec2 vUv;\n uniform float intensity;\n\n void main( void ) {\n \n float colX =clamp( vUv.y+0.3,0.,1.);\n\n if(vNormal.y >0.5)\n {\n colX=1.;\n }\n if(vNormal.y <-0.5)\n {\n colX=0.;\n }\n\n vec4 col = vec4 (1.,mix(0.2,0.8,colX),0.,1.);\n\n gl_FragColor=col*colX*intensity;\n }\n "
|
|
238
|
-
});
|
|
239
|
-
|
|
240
|
-
// 创建渐变立方体
|
|
241
|
-
var cylinder = new Mesh(geometry, gradientMaterial);
|
|
242
|
-
cylinder.rotateY(Math.PI / 2);
|
|
243
|
-
return cylinder;
|
|
244
|
-
}
|
|
245
|
-
}, {
|
|
246
|
-
key: "cameraAddListener",
|
|
247
|
-
value: function cameraAddListener() {
|
|
248
|
-
this.gobal.control.addEventListener('change', this.cameraListenerHandle);
|
|
249
|
-
}
|
|
250
|
-
}, {
|
|
251
|
-
key: "controlAddListener",
|
|
252
|
-
value: function controlAddListener() {
|
|
253
|
-
var _this3 = this;
|
|
254
|
-
// @ts-ignore
|
|
255
|
-
var maxDistance = this.gobal.option.controls.maxDistance;
|
|
256
|
-
maxDistance && this.gobal.control.addEventListener('change', function () {
|
|
257
|
-
if (_this3.gobal.control.getDistance() >= maxDistance - 5) emitter.emit('peoplemanagement-control-maxDistance', null);
|
|
258
|
-
});
|
|
259
|
-
}
|
|
260
|
-
}, {
|
|
261
|
-
key: "cameraRemoveListener",
|
|
262
|
-
value: function cameraRemoveListener() {
|
|
263
|
-
this.gobal.control.removeEventListener('change', this.cameraListenerHandle);
|
|
264
|
-
}
|
|
265
|
-
}]);
|
|
266
|
-
return CylinderManage;
|
|
267
|
-
}();
|
|
268
|
-
export default CylinderManage;
|
|
269
|
-
//# sourceMappingURL=cylinder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["BoxGeometry","Color","Group","Mesh","ShaderMaterial","Vector3","globalObjectManage","use","utils","createFontMesh","SceneStyle","SceneTag","regionMap","collisionDetection","lookAtOnYAxis","emitter","cylinderData","label","id","title","reform","belongTo","area","color","getHex","points","poi","position","height","areaLabel","camera","target","reduction","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","administrative","CylinderManage","gobal","options","_this","_classCallCheck","_defineProperty","Map","currentCameraPosition","control","object","box","areaBoundingBox","boundingBoxMap","get","currentoperate","iscollision","emit","cameraRemoveListener","scene","option","_createClass","key","value","generateCylinder","_this2","forEach","item","_this2$option$visible","_this2$option","cylinder","getMesh","group","name","visible","copy","fromArray","handleClick","style","real","_item$camera","cameraUtil","set","then","setVisible","currentGroup","cylinderMesh","plane","regionPlane","planeMesh","addEventListener","tag","highLightAreaId","_this2$gobal$district","hoverAreaId","districtLine","setHighLightLine","_this2$gobal$district2","removeHighLightLine","add","font","font2","fontPromiseAll","Promise","all","meshArr","mesh","geometry","center","useframe","controlAddListener","arguments","length","undefined","bar","data","width","gradientMaterial","transparent","depthTest","uniforms","intensity","vertexShader","fragmentShader","rotateY","Math","PI","cameraAddListener","cameraListenerHandle","_this3","maxDistance","controls","getDistance","removeEventListener"],"sources":["../../../src/factory/unit/cylinder.ts"],"sourcesContent":["import type { Object3D, Scene } from '@anov/3d-core'\nimport { BoxGeometry, Color, Float32BufferAttribute, Group, Mesh, MeshBasicMaterial, ShaderMaterial, Vector3, globalObjectManage, use, utils } from '@anov/3d-core'\nimport createFontMesh from '../utils/fontMesh'\nimport type Factory3D from '../3d'\nimport { SceneStyle, SceneTag } 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 area: regionMap.reform.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.reform.poi.position,\n height: 80,\n areaLabel: '重整装置区',\n camera: {\n target: [\n -314.011126,\n 0.55002,\n -146.543503,\n ],\n position: [\n -312.394914,\n 257.245626,\n 47.197057,\n ],\n },\n },\n {\n label: '7人',\n id: '2',\n title: regionMap.reduction.title,\n belongTo: regionMap.reduction.id,\n area: regionMap.reduction.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.reduction.poi.position,\n height: 70,\n areaLabel: '常减压装置区',\n camera: {\n target: [\n 31.316545,\n 0.550012,\n -130.972087,\n ],\n position: [\n 34.239022,\n 267.62292,\n 62.561665,\n ],\n },\n },\n {\n label: '4人',\n id: '3',\n title: regionMap.crudeOil.title,\n belongTo: regionMap.crudeOil.id,\n area: regionMap.crudeOil.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.crudeOil.poi.position,\n height: 40,\n areaLabel: '原油罐区',\n camera: {\n target: [\n 353.973508,\n 0.550011,\n -125.345886,\n ],\n position: [\n 353.432421,\n 201.482934,\n 32.729098,\n ],\n },\n },\n {\n label: '10人',\n id: '4',\n title: regionMap.catalyticCracking.title,\n belongTo: regionMap.catalyticCracking.id,\n area: regionMap.catalyticCracking.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.catalyticCracking.poi.position,\n height: 100,\n areaLabel: '催化裂化装置区',\n camera: {\n target: [\n -322.573001,\n 0.550014,\n 31.815163,\n ],\n position: [\n -320.957427,\n 257.144259,\n 225.47922,\n ],\n },\n },\n {\n label: '3人',\n id: '5',\n title: regionMap.hydrocrackingUnit.title,\n belongTo: regionMap.hydrocrackingUnit.id,\n area: regionMap.hydrocrackingUnit.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.hydrocrackingUnit.poi.position,\n height: 30,\n areaLabel: '加氢裂化装置区',\n camera: {\n target: [\n -307.049915,\n 0.550014,\n 168.905777,\n ],\n position: [\n -305.525588,\n 240.704876,\n 351.631836,\n ],\n },\n },\n {\n label: '8人',\n id: '6',\n title: regionMap.cokingUnit.title,\n belongTo: regionMap.cokingUnit.id,\n area: regionMap.cokingUnit.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.cokingUnit.poi.position,\n height: 80,\n areaLabel: '焦化装置区',\n camera: {\n target: [\n 92.780379,\n 0.550012,\n 106.726765,\n ],\n position: [\n 96.849312,\n 372.392759,\n 376.181734,\n ],\n },\n },\n {\n label: '20人',\n id: '7',\n title: regionMap.administrative.title,\n belongTo: regionMap.administrative.id,\n area: regionMap.administrative.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.administrative.poi.position,\n height: 150,\n areaLabel: '办公区',\n camera: {\n target: [\n 416.932569,\n 0.550009,\n 85.100115,\n ],\n position: [\n 567.413903,\n 236.090124,\n 82.586741,\n ],\n },\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 private highLightAreaId: string\n private hoverAreaId: string\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 cylinder = this.getMesh(item)\n const group = new Group()\n group.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 handleClick = () => {\n if (this.gobal.style === SceneStyle.real || group.visible === false)\n return\n\n const { position, target } = item.camera\n this.gobal.cameraUtil.set({\n position, target,\n }).then(() => {\n emitter.emit('peoplemanagement-camera-enter', item)\n this.setVisible()\n\n const currentGroup = this.cylinderMesh.get(item.belongTo) as Group\n currentGroup.visible = false\n\n this.currentoperate = item.belongTo\n })\n\n // this.gobal.cameraUtil.focus({ target: item.area, pitch: 0 }).then(() => { })\n }\n\n // @ts-ignore\n const plane = (this.gobal.regionPlane.planeMesh as Map<string, Object3D>).get(item.id)\n plane.addEventListener('click', () => {\n if (this.gobal.tag === SceneTag['people-management']) {\n this.highLightAreaId = item.id\n handleClick()\n }\n })\n plane.addEventListener('mouseover', () => {\n if (this.gobal.tag === SceneTag['people-management']) {\n this.hoverAreaId = item?.belongTo\n this.gobal.districtLine?.setHighLightLine(item?.belongTo)\n }\n })\n plane.addEventListener('mouseout', () => {\n if (this.gobal.tag === SceneTag['people-management'] && this.hoverAreaId !== this.highLightAreaId)\n this.gobal.districtLine?.removeHighLightLine(this.hoverAreaId)\n })\n\n group.addEventListener('click', () => {\n handleClick()\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 const font2 = createFontMesh(item.areaLabel, {\n position: new Vector3().fromArray([item.points[0], item.points[1] + item.height + 25, item.points[2]]),\n })\n\n const fontPromiseAll = Promise.all([font, font2])\n\n fontPromiseAll.then((meshArr) => {\n meshArr.forEach(\n (mesh) => {\n mesh.geometry.center()\n group.add(mesh)\n\n use.useframe(() => {\n lookAtOnYAxis(mesh, globalObjectManage.camera.position)\n })\n this.scene.add(group)\n },\n )\n })\n })\n this.controlAddListener()\n }\n\n setVisible(visible = true) {\n // 控制CYCLE的隐藏、显示\n this.cylinderMesh.forEach((bar) => {\n bar.visible = visible\n })\n }\n\n getMesh(data) {\n const width = 10\n\n const geometry = new BoxGeometry(width, data.height, width)\n\n const gradientMaterial = new ShaderMaterial({\n transparent: true,\n depthTest: false,\n uniforms: {\n intensity: { value: 1.0 },\n },\n vertexShader: `\n varying vec2 vUv;\n varying vec3 vNormal;\n void main()\n {\n vUv = uv;\n vNormal =normalize( normal ) ;\n vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * mvPosition;\n }\n \n `,\n fragmentShader: `\n \n varying vec3 vNormal;\n varying vec2 vUv;\n uniform float intensity;\n\n void main( void ) {\n \n float colX =clamp( vUv.y+0.3,0.,1.);\n\n if(vNormal.y >0.5)\n {\n colX=1.;\n }\n if(vNormal.y <-0.5)\n {\n colX=0.;\n }\n\n vec4 col = vec4 (1.,mix(0.2,0.8,colX),0.,1.);\n\n gl_FragColor=col*colX*intensity;\n }\n `,\n\n })\n\n // 创建渐变立方体\n const cylinder = new Mesh(geometry, gradientMaterial)\n cylinder.rotateY(Math.PI / 2)\n return cylinder\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 // @ts-ignore\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 +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","Mesh","MeshBasicMaterial","TubeGeometry","Vector3","RoundLineGeometry","regionMap","DistrictLineManage","gobal","Map","scene","generateLine","_this","isShow","_ref","_callee","region","groundLinePoints","groundLine","geometry","material","mesh","_callee$","_context","area","map","radius","close","curve","color","add","lineMesh","set","id","_x","setHighLightLine","get","setMeshMaterial","removeHighLightLine","line","show","_this2","visible","hide","remove","removeFromParent","clear"],"sources":["../../../src/factory/unit/districtLine.ts"],"sourcesContent":["import { Mesh, MeshBasicMaterial, TubeGeometry, Vector3 } from '@anov/3d-core'\nimport type { Object3D, Scene } from '@anov/3d-core'\nimport type { createBloomSelectedTool } from '@anov/3d-ability'\nimport { RoundLineGeometry } from '@anov/3d-ability'\nimport type Factory3D from '../3d'\nimport { regionMap } from '../regionData'\n\nclass DistrictLineManage {\n private gobal: Factory3D\n private scene: Scene\n readonly lineMesh: Map<string, Object3D> = new Map()\n activeLine: Mesh\n color = '#94786c'\n\n bloomSelected: ReturnType<typeof createBloomSelectedTool>['bloomSelected']\n isShow = false\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.scene = gobal.scene.scene\n\n // const { bloomSelected } = createBloomSelectedTool(\n // {\n // strength: 2.8,\n // radius: 0.4,\n // threshold: 0,\n // },\n // )\n\n // this.bloomSelected = bloomSelected\n }\n\n generateLine() {\n this.isShow = true\n\n Object.keys(regionMap).forEach(async (key: string) => {\n const region = regionMap[key]\n const groundLinePoints = region.area.map(v => new Vector3(v[0], v[1] + 0.1, v[2]))\n\n const groundLine = new RoundLineGeometry(groundLinePoints, {\n radius: 5,\n close: true,\n })\n\n const geometry = new TubeGeometry(groundLine.curve, 10000, 1, 2, false)\n const material = new MeshBasicMaterial({ color: this.color })\n const mesh = new Mesh(geometry, material)\n\n this.scene.add(mesh)\n this.lineMesh.set(region.id, mesh)\n })\n\n // this.bloomSelected([...this.lineMesh.values()])\n }\n\n setHighLightLine(id) {\n const mesh = this.lineMesh.get(id) as Mesh\n this.setMeshMaterial(mesh, '#f2ca0c')\n }\n\n setMeshMaterial(mesh, color = this.color) {\n if (mesh)\n mesh.material = new MeshBasicMaterial({ color })\n }\n\n removeHighLightLine(id) {\n const line = id && (this.lineMesh.get(id) as Mesh)\n line && this.setMeshMaterial(line)\n }\n\n show() {\n this.lineMesh.forEach((mesh) => {\n this.setMeshMaterial(mesh)\n mesh.visible = true\n })\n }\n\n hide() {\n this.lineMesh.forEach((mesh) => {\n mesh.visible = false\n })\n }\n\n remove() {\n this.isShow = false\n this.lineMesh.forEach((mesh) => {\n mesh.removeFromParent()\n mesh.remove()\n })\n this.lineMesh.clear()\n }\n}\n\nexport default DistrictLineManage"],"mappings":"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"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
uniform sampler2D texture1;
|
|
2
|
-
uniform sampler2D texture2;
|
|
3
|
-
|
|
4
|
-
varying vec2 vUv;
|
|
5
|
-
varying vec3 Position;
|
|
6
|
-
varying vec3 vNormal;
|
|
7
|
-
varying vec4 worldPosition;
|
|
8
|
-
void main(void) {
|
|
9
|
-
float time = 0.1;
|
|
10
|
-
float intensity = 0.1;
|
|
11
|
-
float heat = 0.9;
|
|
12
|
-
float noiseLoop = 0.02;
|
|
13
|
-
|
|
14
|
-
vec4 poi3 = vec4(66.708, 30, -102.708, 1.3);
|
|
15
|
-
vec4 poi4 = vec4(-291.869, 30, -127.770, 0.9);
|
|
16
|
-
|
|
17
|
-
vec4[] poi = vec4[](poi3,poi4);
|
|
18
|
-
|
|
19
|
-
vec2 xy = vec2(worldPosition.x, worldPosition.y) + time * 0.9;
|
|
20
|
-
vec2 xz = vec2(worldPosition.x, worldPosition.z) + time * 0.8;
|
|
21
|
-
vec2 yz = vec2(worldPosition.y, worldPosition.z) + time * 0.9;
|
|
22
|
-
|
|
23
|
-
float ix = clamp((abs(vNormal.x) - 0.4) * 2., 0., 1.);
|
|
24
|
-
float iy = clamp((abs(vNormal.y) - 0.4) * 2., 0., 1.);
|
|
25
|
-
|
|
26
|
-
vec4 noiseT = mix((mix(texture2D(texture1, xy * noiseLoop), texture2D(texture1, yz * noiseLoop), ix)), texture2D(texture1, xz * noiseLoop), iy);
|
|
27
|
-
vec3 HeatPosition = vec3(0., 1.5, 0.0);
|
|
28
|
-
float i1 = 1. - distance(HeatPosition, vec3(worldPosition.x + noiseT.x, worldPosition.y + noiseT.y, worldPosition.z + noiseT.z)) * 0.6;
|
|
29
|
-
|
|
30
|
-
float i2;
|
|
31
|
-
for(int i = 0; i < 2; i++) {
|
|
32
|
-
i2 += clamp(1. - distance(poi[i].xyz, worldPosition.xyz) * 0.05 * heat / poi[i].w + noiseT.x, 0., 1.);
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
vec4 heatmap = texture2D(texture2, vec2(pow(clamp(i2, 0.01, 0.99), intensity + sin(1. * 2.) * 0.01), 0.5));
|
|
36
|
-
gl_FragColor = heatmap;
|
|
37
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { ShaderChunk } from '@anov/3d-core';
|
|
2
|
-
var frag = /* glsl */"\n".concat(ShaderChunk.logdepthbuf_pars_fragment, "\nuniform sampler2D texture1;\nuniform sampler2D texture2;\n\nvarying vec2 vUv;\nvarying vec3 Position;\nvarying vec3 vNormal;\nvarying vec4 worldPosition;\nvoid main(void) {\n float time = 0.1;\n float intensity = 0.1;\n float heat = 0.9;\n float noiseLoop = 0.02;\n\n vec4 poi3 = vec4(66.708, 30, -102.708, 1.3);\n vec4 poi4 = vec4(66.708, 50, -102.708, 1.3);\n vec4 poi5 = vec4(-291.869-25.0, 30, -127.770, 0.9);\n vec4 poi6 = vec4(-291.869, 30, -127.770 + 30.0, 0.9);\n vec4 poi8 = vec4(-291.869, 8, -127.770, 0.8);\n vec4 poi9 = vec4(-291.869, 0, -127.770, 0.0);\n\n vec4 poi7 = vec4(62.227, 50, 203.009, 1.9);\n\n vec4[] poi = vec4[](poi3,poi4,poi5,poi6,poi7,poi8,poi9);\n\n vec2 xy = vec2(worldPosition.x, worldPosition.y) + time * 0.9;\n vec2 xz = vec2(worldPosition.x, worldPosition.z) + time * 0.8;\n vec2 yz = vec2(worldPosition.y, worldPosition.z) + time * 0.9;\n\n float ix = clamp((abs(vNormal.x) - 0.4) * 2., 0., 1.);\n float iy = clamp((abs(vNormal.y) - 0.4) * 2., 0., 1.);\n\n vec4 noiseT = mix((mix(texture2D(texture1, xy * noiseLoop), texture2D(texture1, yz * noiseLoop), ix)), texture2D(texture1, xz * noiseLoop), iy);\n vec3 HeatPosition = vec3(0., 1.5, 0.0);\n float i1 = 1. - distance(HeatPosition, vec3(worldPosition.x + noiseT.x, worldPosition.y + noiseT.y, worldPosition.z + noiseT.z)) * 0.6;\n\n float i2;\n for(int i = 0; i < 7; i++) {\n i2 += clamp(1. - distance(poi[i].xyz, worldPosition.xyz) * 0.05 * heat / poi[i].w + noiseT.x, 0., 1.);\n };\n\n vec4 heatmap = texture2D(texture2, vec2(pow(clamp(i2, 0.01, 0.99), intensity + sin(1. * 2.) * 0.01), 0.5));\n gl_FragColor = heatmap;\n\n if(worldPosition.y <= 2.0){\n gl_FragColor = vec4(0.0,0.0,1.0,1.0);\n }\n\n ").concat(ShaderChunk.logdepthbuf_fragment, "\n}\n");
|
|
3
|
-
export default frag;
|
|
4
|
-
//# sourceMappingURL=frag.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["ShaderChunk","frag","concat","logdepthbuf_pars_fragment","logdepthbuf_fragment"],"sources":["../../../../../src/factory/unit/glsl/heat/frag.ts"],"sourcesContent":["import { ShaderChunk } from '@anov/3d-core'\n\nconst frag = /* glsl */`\n${ShaderChunk.logdepthbuf_pars_fragment}\nuniform sampler2D texture1;\nuniform sampler2D texture2;\n\nvarying vec2 vUv;\nvarying vec3 Position;\nvarying vec3 vNormal;\nvarying vec4 worldPosition;\nvoid main(void) {\n float time = 0.1;\n float intensity = 0.1;\n float heat = 0.9;\n float noiseLoop = 0.02;\n\n vec4 poi3 = vec4(66.708, 30, -102.708, 1.3);\n vec4 poi4 = vec4(66.708, 50, -102.708, 1.3);\n vec4 poi5 = vec4(-291.869-25.0, 30, -127.770, 0.9);\n vec4 poi6 = vec4(-291.869, 30, -127.770 + 30.0, 0.9);\n vec4 poi8 = vec4(-291.869, 8, -127.770, 0.8);\n vec4 poi9 = vec4(-291.869, 0, -127.770, 0.0);\n\n vec4 poi7 = vec4(62.227, 50, 203.009, 1.9);\n\n vec4[] poi = vec4[](poi3,poi4,poi5,poi6,poi7,poi8,poi9);\n\n vec2 xy = vec2(worldPosition.x, worldPosition.y) + time * 0.9;\n vec2 xz = vec2(worldPosition.x, worldPosition.z) + time * 0.8;\n vec2 yz = vec2(worldPosition.y, worldPosition.z) + time * 0.9;\n\n float ix = clamp((abs(vNormal.x) - 0.4) * 2., 0., 1.);\n float iy = clamp((abs(vNormal.y) - 0.4) * 2., 0., 1.);\n\n vec4 noiseT = mix((mix(texture2D(texture1, xy * noiseLoop), texture2D(texture1, yz * noiseLoop), ix)), texture2D(texture1, xz * noiseLoop), iy);\n vec3 HeatPosition = vec3(0., 1.5, 0.0);\n float i1 = 1. - distance(HeatPosition, vec3(worldPosition.x + noiseT.x, worldPosition.y + noiseT.y, worldPosition.z + noiseT.z)) * 0.6;\n\n float i2;\n for(int i = 0; i < 7; i++) {\n i2 += clamp(1. - distance(poi[i].xyz, worldPosition.xyz) * 0.05 * heat / poi[i].w + noiseT.x, 0., 1.);\n };\n\n vec4 heatmap = texture2D(texture2, vec2(pow(clamp(i2, 0.01, 0.99), intensity + sin(1. * 2.) * 0.01), 0.5));\n gl_FragColor = heatmap;\n\n if(worldPosition.y <= 2.0){\n gl_FragColor = vec4(0.0,0.0,1.0,1.0);\n }\n\n ${ShaderChunk.logdepthbuf_fragment}\n}\n`\n\nexport default frag"],"mappings":"AAAA,SAASA,WAAW,QAAQ,eAAe;AAE3C,IAAMC,IAAI,GAAG,eAAAC,MAAA,CACXF,WAAW,CAACG,yBAAyB,qwDAAAD,MAAA,CAgDhCF,WAAW,CAACI,oBAAoB,UAEtC;AAED,eAAeH,IAAI"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
uniform vec2 uvScale;
|
|
2
|
-
varying vec2 vUv;
|
|
3
|
-
varying vec3 vNormal;
|
|
4
|
-
varying vec3 Position;
|
|
5
|
-
varying vec4 worldPosition;
|
|
6
|
-
|
|
7
|
-
void main() {
|
|
8
|
-
vUv = uvScale * uv;
|
|
9
|
-
Position = position;
|
|
10
|
-
vNormal = normalize(normal);
|
|
11
|
-
worldPosition = modelMatrix * vec4(position, 1.0);
|
|
12
|
-
vec4 mvPosition = modelViewMatrix * vec4(position, 1.0);
|
|
13
|
-
gl_Position = projectionMatrix * mvPosition;
|
|
14
|
-
|
|
15
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { ShaderChunk } from '@anov/3d-core';
|
|
2
|
-
var ver = /* glsl */"\n".concat(ShaderChunk.logdepthbuf_pars_vertex, "\nbool isPerspectiveMatrix(mat4) {\n return true;\n }\nuniform vec2 uvScale;\nvarying vec2 vUv;\nvarying vec3 vNormal;\nvarying vec3 Position;\nvarying vec4 worldPosition;\n\nvoid main() {\n vUv = uvScale * uv;\n Position = position;\n vNormal = normalize(normal);\n worldPosition = modelMatrix * vec4(position, 1.0);\n vec4 mvPosition = modelViewMatrix * vec4(position, 1.0);\n gl_Position = projectionMatrix * mvPosition;\n ").concat(ShaderChunk.logdepthbuf_vertex, "\n}\n");
|
|
3
|
-
export default ver;
|
|
4
|
-
//# sourceMappingURL=ver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["ShaderChunk","ver","concat","logdepthbuf_pars_vertex","logdepthbuf_vertex"],"sources":["../../../../../src/factory/unit/glsl/heat/ver.ts"],"sourcesContent":["import { ShaderChunk } from '@anov/3d-core'\n\nconst ver = /* glsl */ `\n${ShaderChunk.logdepthbuf_pars_vertex}\nbool isPerspectiveMatrix(mat4) {\n return true;\n }\nuniform vec2 uvScale;\nvarying vec2 vUv;\nvarying vec3 vNormal;\nvarying vec3 Position;\nvarying vec4 worldPosition;\n\nvoid main() {\n vUv = uvScale * uv;\n Position = position;\n vNormal = normalize(normal);\n worldPosition = modelMatrix * vec4(position, 1.0);\n vec4 mvPosition = modelViewMatrix * vec4(position, 1.0);\n gl_Position = projectionMatrix * mvPosition;\n ${ShaderChunk.logdepthbuf_vertex}\n}\n`\n\nexport default ver"],"mappings":"AAAA,SAASA,WAAW,QAAQ,eAAe;AAE3C,IAAMC,GAAG,GAAG,eAAAC,MAAA,CACVF,WAAW,CAACG,uBAAuB,6bAAAD,MAAA,CAiBhCF,WAAW,CAACI,kBAAkB,UAElC;AAED,eAAeH,GAAG"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { ShaderChunk } from '@anov/3d-core';
|
|
2
|
-
var fragmentShader = /* glsl */"\n".concat(ShaderChunk.logdepthbuf_pars_fragment, "\nuniform float alpha;\nuniform vec3 centerColor;\nuniform vec3 sideColor;\nuniform vec3 otherColor;\nuniform vec3 activeColor;\nuniform vec3 activeSideColor;\nuniform float u_time;\n\n\nvarying vec2 vUv;\n\nvoid main() {\n float centerLineWidth = 0.05; \n float sideLineWidth = 0.1; \n\n vec2 adjustedUv = vec2(vUv.x, vUv.y - 0.25);\n\n\n\n float centerLine = smoothstep(centerLineWidth * 0.5, centerLineWidth * 0.6, abs(adjustedUv.y)); \n float leftLine = smoothstep(sideLineWidth * 0.5, sideLineWidth * 0.6, adjustedUv.x); \n float rightLine = smoothstep(sideLineWidth * 0.5, sideLineWidth * 0.6, 1.0 - adjustedUv.x);\n\n float line = max(max(centerLine, leftLine), rightLine); \n vec3 finalColor;\n\n \n if(abs(adjustedUv.y+0.25)>0.0 && abs(adjustedUv.y+0.25)<0.05){\n\n if(adjustedUv.x> .0 && adjustedUv.x<u_time+0.01){\n gl_FragColor = vec4(activeSideColor, .5);\n }else{\n gl_FragColor = vec4(sideColor, .5); \n }\n \n }else if(abs(adjustedUv.y-0.25)>0.0 && abs(adjustedUv.y-0.25)<0.05){\n if(adjustedUv.x> .0 && adjustedUv.x<u_time+0.01){\n gl_FragColor = vec4(activeSideColor, .5);\n }else{\n gl_FragColor = vec4(sideColor, .5); \n }\n }\n else{\n\n if(adjustedUv.x> .0 && adjustedUv.x<u_time+0.01){\n gl_FragColor = vec4(activeColor, .8);\n }else{\n gl_FragColor = vec4(otherColor, .8);\n }\n \n }\n ; \n\n ").concat(ShaderChunk.logdepthbuf_fragment, "\n}\n");
|
|
3
|
-
export default fragmentShader;
|
|
4
|
-
//# sourceMappingURL=fragmentShader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["ShaderChunk","fragmentShader","concat","logdepthbuf_pars_fragment","logdepthbuf_fragment"],"sources":["../../../../../src/factory/unit/glsl/highway/fragmentShader.ts"],"sourcesContent":["import { ShaderChunk } from '@anov/3d-core'\n\nconst fragmentShader = /* glsl */ `\n${ShaderChunk.logdepthbuf_pars_fragment}\nuniform float alpha;\nuniform vec3 centerColor;\nuniform vec3 sideColor;\nuniform vec3 otherColor;\nuniform vec3 activeColor;\nuniform vec3 activeSideColor;\nuniform float u_time;\n\n\nvarying vec2 vUv;\n\nvoid main() {\n float centerLineWidth = 0.05; \n float sideLineWidth = 0.1; \n\n vec2 adjustedUv = vec2(vUv.x, vUv.y - 0.25);\n\n\n\n float centerLine = smoothstep(centerLineWidth * 0.5, centerLineWidth * 0.6, abs(adjustedUv.y)); \n float leftLine = smoothstep(sideLineWidth * 0.5, sideLineWidth * 0.6, adjustedUv.x); \n float rightLine = smoothstep(sideLineWidth * 0.5, sideLineWidth * 0.6, 1.0 - adjustedUv.x);\n\n float line = max(max(centerLine, leftLine), rightLine); \n vec3 finalColor;\n\n \n if(abs(adjustedUv.y+0.25)>0.0 && abs(adjustedUv.y+0.25)<0.05){\n\n if(adjustedUv.x> .0 && adjustedUv.x<u_time+0.01){\n gl_FragColor = vec4(activeSideColor, .5);\n }else{\n gl_FragColor = vec4(sideColor, .5); \n }\n \n }else if(abs(adjustedUv.y-0.25)>0.0 && abs(adjustedUv.y-0.25)<0.05){\n if(adjustedUv.x> .0 && adjustedUv.x<u_time+0.01){\n gl_FragColor = vec4(activeSideColor, .5);\n }else{\n gl_FragColor = vec4(sideColor, .5); \n }\n }\n else{\n\n if(adjustedUv.x> .0 && adjustedUv.x<u_time+0.01){\n gl_FragColor = vec4(activeColor, .8);\n }else{\n gl_FragColor = vec4(otherColor, .8);\n }\n \n }\n ; \n\n ${ShaderChunk.logdepthbuf_fragment}\n}\n`\n\nexport default fragmentShader"],"mappings":"AAAA,SAASA,WAAW,QAAQ,eAAe;AAE3C,IAAMC,cAAc,GAAG,eAAAC,MAAA,CACrBF,WAAW,CAACG,yBAAyB,2+CAAAD,MAAA,CAsDjCF,WAAW,CAACI,oBAAoB,UAErC;AAED,eAAeH,cAAc"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { ShaderChunk } from '@anov/3d-core';
|
|
2
|
-
var fragmentShader = /* glsl */"\n".concat(ShaderChunk.logdepthbuf_pars_fragment, "\n\nuniform float u_time;\nvarying vec2 vUv;\nuniform vec3 u_color;\nuniform vec3 u_active_color;\n\nvoid main() {\n vec2 adjustedUv = vec2(vUv.x, vUv.y - 0.25);\n if(adjustedUv.x> .0 && adjustedUv.x<u_time+0.01){\n gl_FragColor =vec4(vec3(u_active_color), 1.0);\n }else{\n gl_FragColor = vec4(vec3(u_color), 1.0); \n }\n\n ").concat(ShaderChunk.logdepthbuf_fragment, "\n}\n");
|
|
3
|
-
export default fragmentShader;
|
|
4
|
-
//# sourceMappingURL=fragmentShader2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["ShaderChunk","fragmentShader","concat","logdepthbuf_pars_fragment","logdepthbuf_fragment"],"sources":["../../../../../src/factory/unit/glsl/highway/fragmentShader2.ts"],"sourcesContent":["import { ShaderChunk } from '@anov/3d-core'\n\nconst fragmentShader = /* glsl */ `\n${ShaderChunk.logdepthbuf_pars_fragment}\n\nuniform float u_time;\nvarying vec2 vUv;\nuniform vec3 u_color;\nuniform vec3 u_active_color;\n\nvoid main() {\n vec2 adjustedUv = vec2(vUv.x, vUv.y - 0.25);\n if(adjustedUv.x> .0 && adjustedUv.x<u_time+0.01){\n gl_FragColor =vec4(vec3(u_active_color), 1.0);\n }else{\n gl_FragColor = vec4(vec3(u_color), 1.0); \n }\n\n ${ShaderChunk.logdepthbuf_fragment}\n}\n`\n\nexport default fragmentShader"],"mappings":"AAAA,SAASA,WAAW,QAAQ,eAAe;AAE3C,IAAMC,cAAc,GAAG,eAAAC,MAAA,CACrBF,WAAW,CAACG,yBAAyB,oXAAAD,MAAA,CAejCF,WAAW,CAACI,oBAAoB,UAErC;AAED,eAAeH,cAAc"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { ShaderChunk } from '@anov/3d-core';
|
|
2
|
-
var vertexShader = /* glsl */"\n".concat(ShaderChunk.logdepthbuf_pars_vertex, "\nbool isPerspectiveMatrix(mat4) {\n return true;\n }\nvarying vec2 vUv;\n\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n ").concat(ShaderChunk.logdepthbuf_vertex, "\n}\n");
|
|
3
|
-
export default vertexShader;
|
|
4
|
-
//# sourceMappingURL=vertexShader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["ShaderChunk","vertexShader","concat","logdepthbuf_pars_vertex","logdepthbuf_vertex"],"sources":["../../../../../src/factory/unit/glsl/highway/vertexShader.ts"],"sourcesContent":["import { ShaderChunk } from '@anov/3d-core'\n\nconst vertexShader = /* glsl */`\n${ShaderChunk.logdepthbuf_pars_vertex}\nbool isPerspectiveMatrix(mat4) {\n return true;\n }\nvarying vec2 vUv;\n\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n ${ShaderChunk.logdepthbuf_vertex}\n}\n`\n\nexport default vertexShader"],"mappings":"AAAA,SAASA,WAAW,QAAQ,eAAe;AAE3C,IAAMC,YAAY,GAAG,eAAAC,MAAA,CACnBF,WAAW,CAACG,uBAAuB,sMAAAD,MAAA,CAS/BF,WAAW,CAACI,kBAAkB,UAEnC;AAED,eAAeH,YAAY"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
uniform vec3 color;
|
|
2
|
-
|
|
3
|
-
void main() {
|
|
4
|
-
float r = 0.0, delta = 0.0, alpha = 1.0;
|
|
5
|
-
vec2 cxy = 2.0 * gl_PointCoord - 1.0;
|
|
6
|
-
r = dot(cxy, cxy);
|
|
7
|
-
delta = fwidth(r);
|
|
8
|
-
alpha = 1.0 - smoothstep(1.0 - delta, 1.0 + delta, r);
|
|
9
|
-
if(r > 1.0)
|
|
10
|
-
discard;
|
|
11
|
-
gl_FragColor = vec4(color, alpha);
|
|
12
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
uniform float iTime;
|
|
2
|
-
uniform float size;////循环
|
|
3
|
-
uniform float width;///宽度
|
|
4
|
-
uniform float speed;///速度
|
|
5
|
-
uniform float alpha;///透明度
|
|
6
|
-
uniform vec3 color1;///颜色1
|
|
7
|
-
uniform vec3 color2;///颜色2
|
|
8
|
-
varying vec2 vUv;
|
|
9
|
-
|
|
10
|
-
vec3 colorfix(vec3 color) {
|
|
11
|
-
return vec3(color.r, color.g, color.b);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
void mainImage(out vec4 fragColor, in vec2 fragCoord) {
|
|
15
|
-
vec2 uv = vUv;
|
|
16
|
-
vec2 wallUV = uv;
|
|
17
|
-
wallUV.y *= size;
|
|
18
|
-
|
|
19
|
-
float fwallUV = floor(fract(wallUV.y - iTime * speed) + width);
|
|
20
|
-
float dis = 1. - max((uv.y * 8. - 7.), 1. - (uv.y * 8.));
|
|
21
|
-
float dis2 = 1. - (uv.y * 4. - 3.);
|
|
22
|
-
vec3 col = color1 * dis2 + color2 * (1. - dis2);
|
|
23
|
-
fragColor = vec4(col, fwallUV * alpha * dis);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
void main() {
|
|
27
|
-
vec2 fragCoord = gl_FragCoord.xy;
|
|
28
|
-
mainImage(gl_FragColor, fragCoord);
|
|
29
|
-
}
|
|
30
|
-
|