@anov/3d 0.0.137 → 0.0.139
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 +10 -10
- package/dist/anov3d.js.map +1 -1
- package/dist/applicationApi.js +17 -9
- package/dist/applicationApi.js.map +1 -1
- package/dist/factory/3d.js +6 -7
- package/dist/factory/3d.js.map +1 -1
- package/dist/factory/globalControl.js +3 -3
- package/dist/factory/globalControl.js.map +1 -1
- package/dist/factory/unit/CameraPoi.js +5 -6
- package/dist/factory/unit/CameraPoi.js.map +1 -1
- package/dist/factory/unit/areaBoundingBox.js +3 -3
- package/dist/factory/unit/areaBoundingBox.js.map +1 -1
- package/dist/factory/unit/circle.js +4 -4
- package/dist/factory/unit/circle.js.map +1 -1
- package/dist/factory/unit/cylinder.js +5 -5
- package/dist/factory/unit/cylinder.js.map +1 -1
- package/dist/factory/unit/districtLine.js +4 -4
- package/dist/factory/unit/districtLine.js.map +1 -1
- package/dist/factory/unit/glsl/heat/frag.js.map +1 -1
- package/dist/factory/unit/glsl/heat/ver.js.map +1 -1
- package/dist/factory/unit/glsl/highway/fragmentShader.js.map +1 -1
- package/dist/factory/unit/glsl/highway/fragmentShader2.js.map +1 -1
- package/dist/factory/unit/glsl/highway/vertexShader.js.map +1 -1
- package/dist/factory/unit/handle.js +3 -3
- package/dist/factory/unit/handle.js.map +1 -1
- package/dist/factory/unit/index.js +13 -14
- package/dist/factory/unit/index.js.map +1 -1
- package/dist/factory/unit/inspection/InspectionObject.js +4 -4
- package/dist/factory/unit/inspection/InspectionObject.js.map +1 -1
- package/dist/factory/unit/inspection/defaultFirstPerspectiveControls.js +3 -3
- package/dist/factory/unit/inspection/defaultFirstPerspectiveControls.js.map +1 -1
- package/dist/factory/unit/inspection/index.js +6 -8
- package/dist/factory/unit/inspection/index.js.map +1 -1
- package/dist/factory/unit/inspection/lineData.js.map +1 -1
- package/dist/factory/unit/inspection/map.js +3 -3
- package/dist/factory/unit/inspection/map.js.map +1 -1
- package/dist/factory/unit/inspection/tubeGeometry.js +3 -3
- package/dist/factory/unit/inspection/tubeGeometry.js.map +1 -1
- package/dist/factory/unit/layer/rise.js.map +1 -1
- package/dist/factory/unit/line.js +3 -3
- package/dist/factory/unit/line.js.map +1 -1
- package/dist/factory/unit/poi.js +5 -5
- package/dist/factory/unit/poi.js.map +1 -1
- package/dist/factory/unit/region.js +3 -3
- package/dist/factory/unit/region.js.map +1 -1
- package/dist/factory/unit/slice.js +3 -3
- package/dist/factory/unit/slice.js.map +1 -1
- package/dist/factory/unit/wall.js +3 -3
- package/dist/factory/unit/wall.js.map +1 -1
- package/dist/factory/utils/areaBoundingBox.js.map +1 -1
- package/dist/factory/utils/constant.js +6 -6
- package/dist/factory/utils/constant.js.map +1 -1
- package/dist/factory/utils/finirMaterial.js +0 -1
- package/dist/factory/utils/finirMaterial.js.map +1 -1
- package/dist/factory/utils/fontMesh.js +3 -3
- package/dist/factory/utils/fontMesh.js.map +1 -1
- package/dist/factory/utils/ground.js.map +1 -1
- package/dist/factory/utils/index.js.map +1 -1
- package/dist/factory/utils/observe.js +1 -1
- package/dist/factory/utils/observe.js.map +1 -1
- package/dist/factory/utils/switchMaterial.js.map +1 -1
- package/dist/hooksManager.js +1 -1
- package/dist/hooksManager.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/messageStatus.js +3 -3
- package/dist/messageStatus.js.map +1 -1
- package/dist/module/camera/index.js +3 -3
- package/dist/module/camera/index.js.map +1 -1
- package/dist/module/develop/index.js +3 -3
- package/dist/module/develop/index.js.map +1 -1
- package/dist/module/entity/baseEntity.js +146 -0
- package/dist/module/entity/baseEntity.js.map +1 -0
- package/dist/module/entity/dispose.js.map +1 -1
- package/dist/module/entity/hybridList.js +3 -3
- package/dist/module/entity/hybridList.js.map +1 -1
- package/dist/module/entity/index.js +149 -150
- package/dist/module/entity/index.js.map +1 -1
- package/dist/module/entity/model/index.js +116 -0
- package/dist/module/entity/model/index.js.map +1 -0
- package/dist/module/entity/model/load/loadGlb.js +19 -0
- package/dist/module/entity/model/load/loadGlb.js.map +1 -0
- package/dist/module/entity/model/load.js +47 -0
- package/dist/module/entity/model/load.js.map +1 -0
- package/dist/module/entity/poi/index.js +22 -43
- package/dist/module/entity/poi/index.js.map +1 -1
- package/dist/module/entity/poi/style/base.js +104 -0
- package/dist/module/entity/poi/style/base.js.map +1 -0
- package/dist/module/entity/poi/style/index.js +67 -0
- package/dist/module/entity/poi/style/index.js.map +1 -0
- package/dist/module/entity/poi/style/title_01.js +62 -0
- package/dist/module/entity/poi/style/title_01.js.map +1 -0
- package/dist/module/entity/poi/style/title_pin_01.js +68 -0
- package/dist/module/entity/poi/style/title_pin_01.js.map +1 -0
- package/dist/module/entity/poi/style/title_pin_02.js +70 -0
- package/dist/module/entity/poi/style/title_pin_02.js.map +1 -0
- package/dist/module/entity/poi/type.js.map +1 -1
- package/dist/module/entity/spline/index.js +29 -0
- package/dist/module/entity/spline/index.js.map +1 -0
- package/dist/module/entity/spline/resource.js +2 -0
- package/dist/module/entity/spline/resource.js.map +1 -0
- package/dist/module/entity/spline/style/index.js +47 -0
- package/dist/module/entity/spline/style/index.js.map +1 -0
- package/dist/module/entity/spline/style/line_01.js +67 -0
- package/dist/module/entity/spline/style/line_01.js.map +1 -0
- package/dist/module/entity/spline/style/line_texture_01.js +85 -0
- package/dist/module/entity/spline/style/line_texture_01.js.map +1 -0
- package/dist/module/entity/spline/type.js +2 -0
- package/dist/module/entity/spline/type.js.map +1 -0
- package/dist/module/entity/strategy.js +45 -2
- package/dist/module/entity/strategy.js.map +1 -1
- package/dist/module/entity/type.js +2 -0
- package/dist/module/entity/type.js.map +1 -0
- package/dist/module/entity/utils.js +14 -0
- package/dist/module/entity/utils.js.map +1 -1
- package/dist/module/environment/index.js +6 -6
- package/dist/module/environment/index.js.map +1 -1
- package/dist/module/environment/season/index.js +6 -8
- package/dist/module/environment/season/index.js.map +1 -1
- package/dist/module/environment/time/index.js.map +1 -1
- package/dist/module/eventBus/index.js +3 -3
- package/dist/module/eventBus/index.js.map +1 -1
- package/dist/module/model/index.js +6 -6
- package/dist/module/model/index.js.map +1 -1
- package/dist/module/scene/index.js +3 -3
- package/dist/module/scene/index.js.map +1 -1
- package/dist/sdkEntry.js +3 -3
- package/dist/sdkEntry.js.map +1 -1
- package/dist/utils/abstract.js +3 -3
- package/dist/utils/abstract.js.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/messageFn.js +8 -8
- package/dist/utils/messageFn.js.map +1 -1
- package/package.json +5 -4
- package/dist/anov3d.d.ts +0 -27
- package/dist/applicationApi.d.ts +0 -68
- package/dist/factory/3d.d.ts +0 -72
- package/dist/factory/globalControl.d.ts +0 -7
- package/dist/factory/globalData.d.ts +0 -1
- package/dist/factory/regionData.d.ts +0 -36
- package/dist/factory/type.d.ts +0 -10
- package/dist/factory/unit/CameraPoi.d.ts +0 -66
- package/dist/factory/unit/areaBoundingBox.d.ts +0 -7
- package/dist/factory/unit/circle.d.ts +0 -22
- package/dist/factory/unit/cylinder.d.ts +0 -24
- package/dist/factory/unit/districtLine.d.ts +0 -22
- package/dist/factory/unit/glsl/heat/frag.d.ts +0 -2
- package/dist/factory/unit/glsl/heat/ver.d.ts +0 -2
- package/dist/factory/unit/glsl/highway/fragmentShader.d.ts +0 -2
- package/dist/factory/unit/glsl/highway/fragmentShader2.d.ts +0 -2
- package/dist/factory/unit/glsl/highway/vertexShader.d.ts +0 -2
- package/dist/factory/unit/handle.d.ts +0 -42
- package/dist/factory/unit/index.d.ts +0 -9
- package/dist/factory/unit/inspection/InspectionObject.d.ts +0 -49
- package/dist/factory/unit/inspection/defaultFirstPerspectiveControls.d.ts +0 -6
- package/dist/factory/unit/inspection/index.d.ts +0 -52
- package/dist/factory/unit/inspection/lineData.d.ts +0 -26
- package/dist/factory/unit/inspection/map.d.ts +0 -11
- package/dist/factory/unit/inspection/tubeGeometry.d.ts +0 -16
- package/dist/factory/unit/layer/rise.d.ts +0 -6
- package/dist/factory/unit/line.d.ts +0 -13
- package/dist/factory/unit/poi.d.ts +0 -21
- package/dist/factory/unit/region.d.ts +0 -12
- package/dist/factory/unit/slice.d.ts +0 -12
- package/dist/factory/unit/wall.d.ts +0 -16
- package/dist/factory/utils/areaBoundingBox.d.ts +0 -14
- package/dist/factory/utils/constant.d.ts +0 -12
- package/dist/factory/utils/finirMaterial.d.ts +0 -4
- package/dist/factory/utils/fontMesh.d.ts +0 -10
- package/dist/factory/utils/ground.d.ts +0 -40
- package/dist/factory/utils/index.d.ts +0 -2
- package/dist/factory/utils/observe.d.ts +0 -3
- package/dist/factory/utils/switchMaterial.d.ts +0 -17
- package/dist/hooksManager.d.ts +0 -2
- package/dist/index.d.ts +0 -18
- package/dist/messageStatus.d.ts +0 -52
- package/dist/module/camera/index.d.ts +0 -74
- package/dist/module/develop/index.d.ts +0 -19
- package/dist/module/entity/dispose.d.ts +0 -6
- package/dist/module/entity/hybridList.d.ts +0 -11
- package/dist/module/entity/index.d.ts +0 -68
- package/dist/module/entity/poi/constant.d.ts +0 -48
- package/dist/module/entity/poi/constant.js +0 -54
- package/dist/module/entity/poi/constant.js.map +0 -1
- package/dist/module/entity/poi/index.d.ts +0 -13
- package/dist/module/entity/poi/label.d.ts +0 -9
- package/dist/module/entity/poi/label.js +0 -46
- package/dist/module/entity/poi/label.js.map +0 -1
- package/dist/module/entity/poi/resource.d.ts +0 -4
- package/dist/module/entity/poi/title.d.ts +0 -77
- package/dist/module/entity/poi/title.js +0 -265
- package/dist/module/entity/poi/title.js.map +0 -1
- package/dist/module/entity/poi/type.d.ts +0 -88
- package/dist/module/entity/strategy.d.ts +0 -3
- package/dist/module/entity/utils.d.ts +0 -4
- package/dist/module/environment/index.d.ts +0 -50
- package/dist/module/environment/season/index.d.ts +0 -22
- package/dist/module/environment/time/index.d.ts +0 -10
- package/dist/module/environment/weather/type.d.ts +0 -15
- package/dist/module/eventBus/index.d.ts +0 -27
- package/dist/module/model/index.d.ts +0 -15
- package/dist/module/scene/index.d.ts +0 -16
- package/dist/sdkEntry.d.ts +0 -5
- package/dist/utils/abstract.d.ts +0 -6
- package/dist/utils/index.d.ts +0 -30
- package/dist/utils/messageFn.d.ts +0 -19
package/dist/factory/unit/poi.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
function _typeof(
|
|
2
|
-
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, catch: function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
|
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 _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
3
3
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
4
4
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
5
5
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
6
6
|
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); } }
|
|
7
7
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
8
8
|
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; }
|
|
9
|
-
function _toPropertyKey(
|
|
10
|
-
function _toPrimitive(
|
|
9
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
10
|
+
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); }
|
|
11
11
|
import { Vector3, use, utils } from '@anov/3d-core';
|
|
12
12
|
import { Css2DPoi, EAnimationType, SpritePoi } from '@anov/3d-ability';
|
|
13
13
|
import { usePath } from "../3d";
|
|
@@ -233,7 +233,7 @@ var PoiManage = /*#__PURE__*/function () {
|
|
|
233
233
|
// 移除面板
|
|
234
234
|
if (this.dialogPoi) this.dialogPoi.removeFromParent();
|
|
235
235
|
// 控制光墙的隐藏、显示
|
|
236
|
-
(_this$wallManage = this.wallManage) === null || _this$wallManage === void 0
|
|
236
|
+
(_this$wallManage = this.wallManage) === null || _this$wallManage === void 0 || _this$wallManage.wallMesh.forEach(function (wall) {
|
|
237
237
|
wall.visible = false;
|
|
238
238
|
});
|
|
239
239
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Vector3","use","utils","Css2DPoi","EAnimationType","SpritePoi","usePath","regionMap","SceneTag","walllMaterial","PoiManage","gobal","Map","Set","scene","wallManage","wall","interactionManager","storeManagement","get","Object","keys","forEach","key","region","wordLength","title","length","ratio","Math","max","poiHeight","option","animation","type","grow","duration","fadeIn","sprite","getDom","position","copy","fromArray","poi","add","updateScale","poiMesh","set","id","target","regionPlane","planeMesh","changeWallState","show","dialogPoi","visible","wallMesh","uniforms","value","wallGrowFrame","useframe","addEventListener","tag","overview","unClick","event","reset","cameraUtil","focus","area","pitch","then","addDialogPanel","point","poiEventListener","unFrame","hratio","minDistance","maxDistance","useScene","camera","distance","distanceTo","clampedDistance","min","scaleValue","scale","x","y","data","dom","document","createElement","assign","style","fontSize","backgroundImage","backgroundSize","backgroundRepeat","display","justifyContent","alignItems","fontFamily","textAlign","color","pointerEvents","cursor","height","minWidth","width","padding","img","src","left","top","appendChild","label","marginLeft","innerText","remove","removeFromParent","f","clear","content","print","clone","setTimeout"],"sources":["../../../src/factory/unit/poi.ts"],"sourcesContent":["import type { InteractionManager, 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 interactionManager\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 this.interactionManager = utils.storeManagement.get<InteractionManager>('interactionManager')\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 this.interactionManager.add(sprite)\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 this.interactionManager.remove(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.interactionManager.add(this.dialogPoi)\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
|
+
{"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","utils","Css2DPoi","EAnimationType","SpritePoi","usePath","regionMap","SceneTag","walllMaterial","PoiManage","gobal","Map","Set","scene","wallManage","wall","interactionManager","storeManagement","get","_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","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","_this2","removeFromParent","clear","_this$wallManage","_this3","content","print","clone","setTimeout"],"sources":["../../../src/factory/unit/poi.ts"],"sourcesContent":["import type { InteractionManager, 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 interactionManager\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 this.interactionManager = utils.storeManagement.get<InteractionManager>('interactionManager')\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 this.interactionManager.add(sprite)\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 this.interactionManager.remove(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.interactionManager.add(this.dialogPoi)\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,10 +1,10 @@
|
|
|
1
|
-
function _typeof(
|
|
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
2
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
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
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
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(
|
|
7
|
-
function _toPrimitive(
|
|
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
8
|
import { BufferAttribute, BufferGeometry, DoubleSide, Mesh, MeshBasicMaterial, Vector3, utils } from '@anov/3d-core';
|
|
9
9
|
import { regionMap } from "../regionData";
|
|
10
10
|
var RegionPlane = /*#__PURE__*/function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BufferAttribute","BufferGeometry","DoubleSide","Mesh","MeshBasicMaterial","Vector3","utils","regionMap","RegionPlane","gobal","Map","scene","generatePlane","Object","values","forEach","region","area","areaVector3Arrat","map","v","geometry","createFaceGeometry","plane","color","side","transparent","opacity","depthTest","planeMesh","set","id","storeManagement","get","add","point1","point2","point3","point4","vertices","x","y","z","indices","normal","crossVectors","normalize","normals","setAttribute","Float32Array","setIndex","
|
|
1
|
+
{"version":3,"names":["BufferAttribute","BufferGeometry","DoubleSide","Mesh","MeshBasicMaterial","Vector3","utils","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","storeManagement","get","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 { InteractionManager, 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 utils.storeManagement.get<InteractionManager>('interactionManager').add(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":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
function _typeof(
|
|
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
2
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
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
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
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(
|
|
7
|
-
function _toPrimitive(
|
|
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
8
|
import { Clock, DoubleSide, Group, Mesh, PlaneGeometry, RepeatWrapping, ShaderMaterial, TextureLoader, Vector3, use } from '@anov/3d-core';
|
|
9
9
|
import { usePath } from "../3d";
|
|
10
10
|
var shader = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Clock","DoubleSide","Group","Mesh","PlaneGeometry","RepeatWrapping","ShaderMaterial","TextureLoader","Vector3","use","usePath","shader","fragmentShader","vertexShader","SliceManage","gobal","scene","textureLoader","uniforms","fogDensity","value","fogColor","time","HeatDate","texture1","load","texture2","texture3","texture4","texture5","texture6","texture7","texture8","texture9","meshid","wrapS","wrapT","material","transparent","side","depthTest","mesh","createRandomPlane","add","clock","useframe","getDelta","size","Math","random","group","i","pointCount","geometry","plane","x","y","floor","position","set","rotateX","PI"],"sources":["../../../src/factory/unit/slice.ts"],"sourcesContent":["import { Clock, DoubleSide, Group, Mesh, PlaneGeometry, RepeatWrapping, ShaderMaterial, TextureLoader, Vector3, use, utils } from '@anov/3d-core'\nimport type { Scene } from '@anov/3d-core'\nimport type Factory3D from '../3d'\nimport { usePath } from '../3d'\n\nconst shader = {\n fragmentShader: `\n uniform float time;\n uniform float meshid;\n uniform float HeatDate[1000];////数据这块必须写死的个数 不然报错\n uniform sampler2D texture1;\n uniform sampler2D texture2;\n uniform sampler2D texture3;\n uniform sampler2D texture4;\n uniform sampler2D texture5;\n uniform sampler2D texture6;\n uniform sampler2D texture7;\n uniform sampler2D texture8;\n uniform sampler2D texture9;\n varying vec2 vUv;\n varying vec3 Position;\n varying vec3 vNormal;\n varying vec4 worldPosition;\n \n/////-------------------------\nfloat N2(vec2 p) {\nvec3 p3 = fract(vec3(p.xyx) * vec3(443.897, 441.423, 437.195));\np3 += dot(p3, p3.yzx + 19.19);\nreturn fract((p3.x + p3.y) * p3.z);\n}\n void main( void ) {\n vec2 uv=vUv;\n // uv*=3.;\n //vec2 uv1=vec2(fract(uv.x),fract(uv.y));\n // uv/=8.;\n vec2 w_uv= worldPosition.xz;\n w_uv *=0.0005;\n w_uv*=20.;\n w_uv =floor(w_uv*10.) /10.;\n\nvec2 gv=fract(w_uv)-0.5;\nvec2 id=floor(w_uv);\n//\nfloat ran = N2(id);\nfloat ran2 = N2(id+64.0); \n\n float num =1.+floor(fract(time*0.15*ran2+ran2)*63.);////1-64\n vec2 pic_xy= vec2(mod(num,8.)-1.,7.-floor((num-1.)/8.));\n vec2 zuv= (mod(uv*1.,1.) + pic_xy) / 8.; \n // uv*= 2.;\n // vec2 zuv= (mod(uv*1.,1.) + vec2(0.)) / 8.;\n vec4 sequ1 = texture2D( texture1, zuv);\n vec4 sequ2 = texture2D( texture2, zuv);\n vec4 sequ3 = texture2D( texture3, zuv);\n vec4 sequ4 = texture2D( texture4, zuv);\n vec4 sequ5 = texture2D( texture5, zuv);\n vec4 sequ6 = texture2D( texture6, zuv);\n vec4 sequ7 = texture2D( texture7, zuv);\n vec4 sequ8 = texture2D( texture8, zuv);\n vec4 sequ9 = texture2D( texture9, zuv);\n \n vec4 color = vec4 (1.,0.5,0.12,.5);\n vec4 color1 = vec4 (1.,0.2,0.12,.5);\n vec4 color2 = vec4 (1.,0.7,0.12,0.6);\n vec4 color3 = vec4 (1.,0.3,0.12,.6);\n // gl_FragColor =pow(sequ1,vec4(.5,.5,0.5,0.1))*color;\n vec4 coX[9] ;\n coX[0]= pow(texture2D( texture1, zuv),vec4(.5,.5,0.5,0.1))*color;\n coX[1]= pow(texture2D( texture2, zuv),vec4(.5,.5,0.5,0.1))*color1;\n coX[2]= pow(texture2D( texture3, zuv),vec4(.5,.5,0.5,0.1))*color2;\n coX[3]= pow(texture2D( texture4, zuv),vec4(.5,.5,0.5,0.1))*color3;\n coX[4]= pow(texture2D( texture5, zuv),vec4(.5,.5,0.5,0.1))*color;\n coX[5]= pow(texture2D( texture6, zuv),vec4(.5,.5,0.5,0.1))*color1;\n coX[6]= pow(texture2D( texture7, zuv),vec4(.5,.5,0.5,0.1))*color2;\n coX[7]= pow(texture2D( texture8, zuv),vec4(.5,.5,0.5,0.1))*color3;\n coX[8]= pow(texture2D( texture9, zuv),vec4(.5,.5,0.5,0.1))*color;\n\nfloat Tid =floor(ran2*9.) ;\ngl_FragColor = coX[int(Tid)];\n//gl_FragColor = vec4(ran);\n\n }`,\n vertexShader: `varying vec2 vUv;\n varying vec3 vNormal;\n varying vec3 Position;\n varying vec4 worldPosition;\n \n\n void main()\n {\n vUv = uv;\n Position = position;\n \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\n\n }`,\n}\nclass SliceManage {\n private gobal: Factory3D\n private scene: Scene\n mesh: Group\n private pointCount = 400\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.scene = gobal.scene.scene\n }\n\n generateSlice() {\n const textureLoader = new TextureLoader()\n const uniforms = {\n fogDensity: { value: 0.45 },\n fogColor: { value: new Vector3(0, 0, 0) },\n time: { value: 1.0 },\n HeatDate: { value: [] },\n texture1: { value: textureLoader.load(`${usePath}p2/sequ/xuebi01.png`) },\n texture2: { value: textureLoader.load(`${usePath}p2/sequ/xuebi02.png`) },\n texture3: { value: textureLoader.load(`${usePath}p2/sequ/xuebi03.png`) },\n texture4: { value: textureLoader.load(`${usePath}p2/sequ/xuebi04.png`) },\n texture5: { value: textureLoader.load(`${usePath}p2/sequ/xuebi05.png`) },\n texture6: { value: textureLoader.load(`${usePath}p2/sequ/xuebi06.png`) },\n texture7: { value: textureLoader.load(`${usePath}p2/sequ/xuebi07.png`) },\n texture8: { value: textureLoader.load(`${usePath}p2/sequ/xuebi08.png`) },\n texture9: { value: textureLoader.load(`${usePath}p2/sequ/xuebi09.png`) },\n meshid: { value: 1.0 },\n }\n\n uniforms.texture1.value.wrapS = uniforms.texture1.value.wrapT = RepeatWrapping\n uniforms.texture2.value.wrapS = uniforms.texture2.value.wrapT = RepeatWrapping\n uniforms.texture3.value.wrapS = uniforms.texture3.value.wrapT = RepeatWrapping\n uniforms.texture4.value.wrapS = uniforms.texture4.value.wrapT = RepeatWrapping\n uniforms.texture5.value.wrapS = uniforms.texture5.value.wrapT = RepeatWrapping\n uniforms.texture6.value.wrapS = uniforms.texture6.value.wrapT = RepeatWrapping\n uniforms.texture7.value.wrapS = uniforms.texture7.value.wrapT = RepeatWrapping\n uniforms.texture8.value.wrapS = uniforms.texture8.value.wrapT = RepeatWrapping\n uniforms.texture9.value.wrapS = uniforms.texture9.value.wrapT = RepeatWrapping\n\n const material = new ShaderMaterial({\n uniforms,\n vertexShader: shader.vertexShader,\n fragmentShader: shader.fragmentShader,\n transparent: true,\n side: DoubleSide,\n depthTest: false,\n })\n\n this.mesh = this.createRandomPlane(material)\n this.scene.add(this.mesh)\n\n const clock = new Clock()\n use.useframe(() => {\n uniforms.time.value += clock.getDelta()\n })\n }\n\n createRandomPlane(material: ShaderMaterial) {\n const size = Math.random() * 25 // 随机高度,最大50\n const group = new Group()\n for (let i = 0; i < this.pointCount; i++) {\n const geometry = new PlaneGeometry(size, size)\n const plane = new Mesh(geometry, material)\n // 随机位置\n let x, y\n while (true) {\n x = (Math.random()) * (100 - 2 * size) + size + (Math.floor((Math.random() - 0.5) * 40) * 100)\n y = (Math.random()) * (100 - 2 * size) + size + (Math.floor((Math.random() - 0.5) * 30) * 100)\n if (x > 520 || x < -520 || y > 350 || y < -350)\n break\n }\n\n plane.position.set(x, -0.5, y)\n plane.rotateX(-Math.PI / 2)\n group.add(plane)\n }\n return group\n }\n}\n\nexport default SliceManage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Clock","DoubleSide","Group","Mesh","PlaneGeometry","RepeatWrapping","ShaderMaterial","TextureLoader","Vector3","use","usePath","shader","fragmentShader","vertexShader","SliceManage","gobal","_classCallCheck","_defineProperty","scene","_createClass","key","value","generateSlice","textureLoader","uniforms","fogDensity","fogColor","time","HeatDate","texture1","load","concat","texture2","texture3","texture4","texture5","texture6","texture7","texture8","texture9","meshid","wrapS","wrapT","material","transparent","side","depthTest","mesh","createRandomPlane","add","clock","useframe","getDelta","size","Math","random","group","i","pointCount","geometry","plane","x","y","floor","position","set","rotateX","PI"],"sources":["../../../src/factory/unit/slice.ts"],"sourcesContent":["import { Clock, DoubleSide, Group, Mesh, PlaneGeometry, RepeatWrapping, ShaderMaterial, TextureLoader, Vector3, use, utils } from '@anov/3d-core'\nimport type { Scene } from '@anov/3d-core'\nimport type Factory3D from '../3d'\nimport { usePath } from '../3d'\n\nconst shader = {\n fragmentShader: `\n uniform float time;\n uniform float meshid;\n uniform float HeatDate[1000];////数据这块必须写死的个数 不然报错\n uniform sampler2D texture1;\n uniform sampler2D texture2;\n uniform sampler2D texture3;\n uniform sampler2D texture4;\n uniform sampler2D texture5;\n uniform sampler2D texture6;\n uniform sampler2D texture7;\n uniform sampler2D texture8;\n uniform sampler2D texture9;\n varying vec2 vUv;\n varying vec3 Position;\n varying vec3 vNormal;\n varying vec4 worldPosition;\n \n/////-------------------------\nfloat N2(vec2 p) {\nvec3 p3 = fract(vec3(p.xyx) * vec3(443.897, 441.423, 437.195));\np3 += dot(p3, p3.yzx + 19.19);\nreturn fract((p3.x + p3.y) * p3.z);\n}\n void main( void ) {\n vec2 uv=vUv;\n // uv*=3.;\n //vec2 uv1=vec2(fract(uv.x),fract(uv.y));\n // uv/=8.;\n vec2 w_uv= worldPosition.xz;\n w_uv *=0.0005;\n w_uv*=20.;\n w_uv =floor(w_uv*10.) /10.;\n\nvec2 gv=fract(w_uv)-0.5;\nvec2 id=floor(w_uv);\n//\nfloat ran = N2(id);\nfloat ran2 = N2(id+64.0); \n\n float num =1.+floor(fract(time*0.15*ran2+ran2)*63.);////1-64\n vec2 pic_xy= vec2(mod(num,8.)-1.,7.-floor((num-1.)/8.));\n vec2 zuv= (mod(uv*1.,1.) + pic_xy) / 8.; \n // uv*= 2.;\n // vec2 zuv= (mod(uv*1.,1.) + vec2(0.)) / 8.;\n vec4 sequ1 = texture2D( texture1, zuv);\n vec4 sequ2 = texture2D( texture2, zuv);\n vec4 sequ3 = texture2D( texture3, zuv);\n vec4 sequ4 = texture2D( texture4, zuv);\n vec4 sequ5 = texture2D( texture5, zuv);\n vec4 sequ6 = texture2D( texture6, zuv);\n vec4 sequ7 = texture2D( texture7, zuv);\n vec4 sequ8 = texture2D( texture8, zuv);\n vec4 sequ9 = texture2D( texture9, zuv);\n \n vec4 color = vec4 (1.,0.5,0.12,.5);\n vec4 color1 = vec4 (1.,0.2,0.12,.5);\n vec4 color2 = vec4 (1.,0.7,0.12,0.6);\n vec4 color3 = vec4 (1.,0.3,0.12,.6);\n // gl_FragColor =pow(sequ1,vec4(.5,.5,0.5,0.1))*color;\n vec4 coX[9] ;\n coX[0]= pow(texture2D( texture1, zuv),vec4(.5,.5,0.5,0.1))*color;\n coX[1]= pow(texture2D( texture2, zuv),vec4(.5,.5,0.5,0.1))*color1;\n coX[2]= pow(texture2D( texture3, zuv),vec4(.5,.5,0.5,0.1))*color2;\n coX[3]= pow(texture2D( texture4, zuv),vec4(.5,.5,0.5,0.1))*color3;\n coX[4]= pow(texture2D( texture5, zuv),vec4(.5,.5,0.5,0.1))*color;\n coX[5]= pow(texture2D( texture6, zuv),vec4(.5,.5,0.5,0.1))*color1;\n coX[6]= pow(texture2D( texture7, zuv),vec4(.5,.5,0.5,0.1))*color2;\n coX[7]= pow(texture2D( texture8, zuv),vec4(.5,.5,0.5,0.1))*color3;\n coX[8]= pow(texture2D( texture9, zuv),vec4(.5,.5,0.5,0.1))*color;\n\nfloat Tid =floor(ran2*9.) ;\ngl_FragColor = coX[int(Tid)];\n//gl_FragColor = vec4(ran);\n\n }`,\n vertexShader: `varying vec2 vUv;\n varying vec3 vNormal;\n varying vec3 Position;\n varying vec4 worldPosition;\n \n\n void main()\n {\n vUv = uv;\n Position = position;\n \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\n\n }`,\n}\nclass SliceManage {\n private gobal: Factory3D\n private scene: Scene\n mesh: Group\n private pointCount = 400\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.scene = gobal.scene.scene\n }\n\n generateSlice() {\n const textureLoader = new TextureLoader()\n const uniforms = {\n fogDensity: { value: 0.45 },\n fogColor: { value: new Vector3(0, 0, 0) },\n time: { value: 1.0 },\n HeatDate: { value: [] },\n texture1: { value: textureLoader.load(`${usePath}p2/sequ/xuebi01.png`) },\n texture2: { value: textureLoader.load(`${usePath}p2/sequ/xuebi02.png`) },\n texture3: { value: textureLoader.load(`${usePath}p2/sequ/xuebi03.png`) },\n texture4: { value: textureLoader.load(`${usePath}p2/sequ/xuebi04.png`) },\n texture5: { value: textureLoader.load(`${usePath}p2/sequ/xuebi05.png`) },\n texture6: { value: textureLoader.load(`${usePath}p2/sequ/xuebi06.png`) },\n texture7: { value: textureLoader.load(`${usePath}p2/sequ/xuebi07.png`) },\n texture8: { value: textureLoader.load(`${usePath}p2/sequ/xuebi08.png`) },\n texture9: { value: textureLoader.load(`${usePath}p2/sequ/xuebi09.png`) },\n meshid: { value: 1.0 },\n }\n\n uniforms.texture1.value.wrapS = uniforms.texture1.value.wrapT = RepeatWrapping\n uniforms.texture2.value.wrapS = uniforms.texture2.value.wrapT = RepeatWrapping\n uniforms.texture3.value.wrapS = uniforms.texture3.value.wrapT = RepeatWrapping\n uniforms.texture4.value.wrapS = uniforms.texture4.value.wrapT = RepeatWrapping\n uniforms.texture5.value.wrapS = uniforms.texture5.value.wrapT = RepeatWrapping\n uniforms.texture6.value.wrapS = uniforms.texture6.value.wrapT = RepeatWrapping\n uniforms.texture7.value.wrapS = uniforms.texture7.value.wrapT = RepeatWrapping\n uniforms.texture8.value.wrapS = uniforms.texture8.value.wrapT = RepeatWrapping\n uniforms.texture9.value.wrapS = uniforms.texture9.value.wrapT = RepeatWrapping\n\n const material = new ShaderMaterial({\n uniforms,\n vertexShader: shader.vertexShader,\n fragmentShader: shader.fragmentShader,\n transparent: true,\n side: DoubleSide,\n depthTest: false,\n })\n\n this.mesh = this.createRandomPlane(material)\n this.scene.add(this.mesh)\n\n const clock = new Clock()\n use.useframe(() => {\n uniforms.time.value += clock.getDelta()\n })\n }\n\n createRandomPlane(material: ShaderMaterial) {\n const size = Math.random() * 25 // 随机高度,最大50\n const group = new Group()\n for (let i = 0; i < this.pointCount; i++) {\n const geometry = new PlaneGeometry(size, size)\n const plane = new Mesh(geometry, material)\n // 随机位置\n let x, y\n while (true) {\n x = (Math.random()) * (100 - 2 * size) + size + (Math.floor((Math.random() - 0.5) * 40) * 100)\n y = (Math.random()) * (100 - 2 * size) + size + (Math.floor((Math.random() - 0.5) * 30) * 100)\n if (x > 520 || x < -520 || y > 350 || y < -350)\n break\n }\n\n plane.position.set(x, -0.5, y)\n plane.rotateX(-Math.PI / 2)\n group.add(plane)\n }\n return group\n }\n}\n\nexport default SliceManage"],"mappings":";;;;;;;AAAA,SAASA,KAAK,EAAEC,UAAU,EAAEC,KAAK,EAAEC,IAAI,EAAEC,aAAa,EAAEC,cAAc,EAAEC,cAAc,EAAEC,aAAa,EAAEC,OAAO,EAAEC,GAAG,QAAe,eAAe;AAGjJ,SAASC,OAAO;AAEhB,IAAMC,MAAM,GAAG;EACbC,cAAc,sxFA2EV;EACJC,YAAY;AAkBd,CAAC;AAAA,IACKC,WAAW;EAMf,SAAAA,YAAYC,KAAgB,EAAE;IAAAC,eAAA,OAAAF,WAAA;IAAAG,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,qBAFT,GAAG;IAGtB,IAAI,CAACF,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACG,KAAK,GAAGH,KAAK,CAACG,KAAK,CAACA,KAAK;EAChC;EAACC,YAAA,CAAAL,WAAA;IAAAM,GAAA;IAAAC,KAAA,EAED,SAAAC,cAAA,EAAgB;MACd,IAAMC,aAAa,GAAG,IAAIhB,aAAa,CAAC,CAAC;MACzC,IAAMiB,QAAQ,GAAG;QACfC,UAAU,EAAE;UAAEJ,KAAK,EAAE;QAAK,CAAC;QAC3BK,QAAQ,EAAE;UAAEL,KAAK,EAAE,IAAIb,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAAE,CAAC;QACzCmB,IAAI,EAAE;UAAEN,KAAK,EAAE;QAAI,CAAC;QACpBO,QAAQ,EAAE;UAAEP,KAAK,EAAE;QAAG,CAAC;QACvBQ,QAAQ,EAAE;UAAER,KAAK,EAAEE,aAAa,CAACO,IAAI,IAAAC,MAAA,CAAIrB,OAAO,wBAAqB;QAAE,CAAC;QACxEsB,QAAQ,EAAE;UAAEX,KAAK,EAAEE,aAAa,CAACO,IAAI,IAAAC,MAAA,CAAIrB,OAAO,wBAAqB;QAAE,CAAC;QACxEuB,QAAQ,EAAE;UAAEZ,KAAK,EAAEE,aAAa,CAACO,IAAI,IAAAC,MAAA,CAAIrB,OAAO,wBAAqB;QAAE,CAAC;QACxEwB,QAAQ,EAAE;UAAEb,KAAK,EAAEE,aAAa,CAACO,IAAI,IAAAC,MAAA,CAAIrB,OAAO,wBAAqB;QAAE,CAAC;QACxEyB,QAAQ,EAAE;UAAEd,KAAK,EAAEE,aAAa,CAACO,IAAI,IAAAC,MAAA,CAAIrB,OAAO,wBAAqB;QAAE,CAAC;QACxE0B,QAAQ,EAAE;UAAEf,KAAK,EAAEE,aAAa,CAACO,IAAI,IAAAC,MAAA,CAAIrB,OAAO,wBAAqB;QAAE,CAAC;QACxE2B,QAAQ,EAAE;UAAEhB,KAAK,EAAEE,aAAa,CAACO,IAAI,IAAAC,MAAA,CAAIrB,OAAO,wBAAqB;QAAE,CAAC;QACxE4B,QAAQ,EAAE;UAAEjB,KAAK,EAAEE,aAAa,CAACO,IAAI,IAAAC,MAAA,CAAIrB,OAAO,wBAAqB;QAAE,CAAC;QACxE6B,QAAQ,EAAE;UAAElB,KAAK,EAAEE,aAAa,CAACO,IAAI,IAAAC,MAAA,CAAIrB,OAAO,wBAAqB;QAAE,CAAC;QACxE8B,MAAM,EAAE;UAAEnB,KAAK,EAAE;QAAI;MACvB,CAAC;MAEDG,QAAQ,CAACK,QAAQ,CAACR,KAAK,CAACoB,KAAK,GAAGjB,QAAQ,CAACK,QAAQ,CAACR,KAAK,CAACqB,KAAK,GAAGrC,cAAc;MAC9EmB,QAAQ,CAACQ,QAAQ,CAACX,KAAK,CAACoB,KAAK,GAAGjB,QAAQ,CAACQ,QAAQ,CAACX,KAAK,CAACqB,KAAK,GAAGrC,cAAc;MAC9EmB,QAAQ,CAACS,QAAQ,CAACZ,KAAK,CAACoB,KAAK,GAAGjB,QAAQ,CAACS,QAAQ,CAACZ,KAAK,CAACqB,KAAK,GAAGrC,cAAc;MAC9EmB,QAAQ,CAACU,QAAQ,CAACb,KAAK,CAACoB,KAAK,GAAGjB,QAAQ,CAACU,QAAQ,CAACb,KAAK,CAACqB,KAAK,GAAGrC,cAAc;MAC9EmB,QAAQ,CAACW,QAAQ,CAACd,KAAK,CAACoB,KAAK,GAAGjB,QAAQ,CAACW,QAAQ,CAACd,KAAK,CAACqB,KAAK,GAAGrC,cAAc;MAC9EmB,QAAQ,CAACY,QAAQ,CAACf,KAAK,CAACoB,KAAK,GAAGjB,QAAQ,CAACY,QAAQ,CAACf,KAAK,CAACqB,KAAK,GAAGrC,cAAc;MAC9EmB,QAAQ,CAACa,QAAQ,CAAChB,KAAK,CAACoB,KAAK,GAAGjB,QAAQ,CAACa,QAAQ,CAAChB,KAAK,CAACqB,KAAK,GAAGrC,cAAc;MAC9EmB,QAAQ,CAACc,QAAQ,CAACjB,KAAK,CAACoB,KAAK,GAAGjB,QAAQ,CAACc,QAAQ,CAACjB,KAAK,CAACqB,KAAK,GAAGrC,cAAc;MAC9EmB,QAAQ,CAACe,QAAQ,CAAClB,KAAK,CAACoB,KAAK,GAAGjB,QAAQ,CAACe,QAAQ,CAAClB,KAAK,CAACqB,KAAK,GAAGrC,cAAc;MAE9E,IAAMsC,QAAQ,GAAG,IAAIrC,cAAc,CAAC;QAClCkB,QAAQ,EAARA,QAAQ;QACRX,YAAY,EAAEF,MAAM,CAACE,YAAY;QACjCD,cAAc,EAAED,MAAM,CAACC,cAAc;QACrCgC,WAAW,EAAE,IAAI;QACjBC,IAAI,EAAE5C,UAAU;QAChB6C,SAAS,EAAE;MACb,CAAC,CAAC;MAEF,IAAI,CAACC,IAAI,GAAG,IAAI,CAACC,iBAAiB,CAACL,QAAQ,CAAC;MAC5C,IAAI,CAACzB,KAAK,CAAC+B,GAAG,CAAC,IAAI,CAACF,IAAI,CAAC;MAEzB,IAAMG,KAAK,GAAG,IAAIlD,KAAK,CAAC,CAAC;MACzBS,GAAG,CAAC0C,QAAQ,CAAC,YAAM;QACjB3B,QAAQ,CAACG,IAAI,CAACN,KAAK,IAAI6B,KAAK,CAACE,QAAQ,CAAC,CAAC;MACzC,CAAC,CAAC;IACJ;EAAC;IAAAhC,GAAA;IAAAC,KAAA,EAED,SAAA2B,kBAAkBL,QAAwB,EAAE;MAC1C,IAAMU,IAAI,GAAGC,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAC;MAChC,IAAMC,KAAK,GAAG,IAAItD,KAAK,CAAC,CAAC;MACzB,KAAK,IAAIuD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAACC,UAAU,EAAED,CAAC,EAAE,EAAE;QACxC,IAAME,QAAQ,GAAG,IAAIvD,aAAa,CAACiD,IAAI,EAAEA,IAAI,CAAC;QAC9C,IAAMO,KAAK,GAAG,IAAIzD,IAAI,CAACwD,QAAQ,EAAEhB,QAAQ,CAAC;QAC1C;QACA,IAAIkB,CAAC;UAAEC,CAAC;QACR,OAAO,IAAI,EAAE;UACXD,CAAC,GAAIP,IAAI,CAACC,MAAM,CAAC,CAAC,IAAK,GAAG,GAAG,CAAC,GAAGF,IAAI,CAAC,GAAGA,IAAI,GAAIC,IAAI,CAACS,KAAK,CAAC,CAACT,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,GAAG,GAAI;UAC9FO,CAAC,GAAIR,IAAI,CAACC,MAAM,CAAC,CAAC,IAAK,GAAG,GAAG,CAAC,GAAGF,IAAI,CAAC,GAAGA,IAAI,GAAIC,IAAI,CAACS,KAAK,CAAC,CAACT,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,GAAG,GAAI;UAC9F,IAAIM,CAAC,GAAG,GAAG,IAAIA,CAAC,GAAG,CAAC,GAAG,IAAIC,CAAC,GAAG,GAAG,IAAIA,CAAC,GAAG,CAAC,GAAG,EAC5C;QACJ;QAEAF,KAAK,CAACI,QAAQ,CAACC,GAAG,CAACJ,CAAC,EAAE,CAAC,GAAG,EAAEC,CAAC,CAAC;QAC9BF,KAAK,CAACM,OAAO,CAAC,CAACZ,IAAI,CAACa,EAAE,GAAG,CAAC,CAAC;QAC3BX,KAAK,CAACP,GAAG,CAACW,KAAK,CAAC;MAClB;MACA,OAAOJ,KAAK;IACd;EAAC;EAAA,OAAA1C,WAAA;AAAA;AAGH,eAAeA,WAAW"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
function _typeof(
|
|
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
2
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
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
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
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(
|
|
7
|
-
function _toPrimitive(
|
|
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
8
|
import { createRoundLineWallMesh } from '@anov/3d-ability';
|
|
9
9
|
import { Color, ShaderMaterial, Vector3 } from '@anov/3d-core';
|
|
10
10
|
import regionMap from "../regionData";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createRoundLineWallMesh","Color","ShaderMaterial","Vector3","regionMap","wallPosition","label","reform","title","id","belongTo","points","area","reduction","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","administrative","walllMaterial","uniforms","iTime","value","size","width","speed","alpha","color1","color2","grow","vertexShader","fragmentShader","transparent","side","depthTest","WallManage","gobal","options","Map","scene","option","setInterval","time","forEach","item","roundLineMesh","map","v","radius","close","visible","wallMesh","set","add"],"sources":["../../../src/factory/unit/wall.ts"],"sourcesContent":["import { createRoundLineWallMesh } from '@anov/3d-ability'\nimport type { Object3D, Scene } from '@anov/3d-core'\nimport { Color, ShaderMaterial, Vector3, use } from '@anov/3d-core'\nimport type Factory3D from '../3d'\nimport regionMap from '../regionData'\n\n// import wallVertexShader from './glsl/wall/vertexShader.glsl'\n// import wallFragmentShader from './glsl/wall/fragmentShader.glsl'\n\nconst wallPosition = [\n {\n label: regionMap.reform.title,\n id: '1',\n belongTo: regionMap.reform.id,\n points: regionMap.reform.area,\n },\n {\n label: regionMap.reduction.title,\n id: '2',\n belongTo: regionMap.reduction.id,\n points: regionMap.reduction.area,\n },\n {\n label: regionMap.crudeOil.title,\n id: '3',\n belongTo: regionMap.crudeOil.id,\n points: regionMap.crudeOil.area,\n },\n {\n label: regionMap.catalyticCracking.title,\n id: '4',\n belongTo: regionMap.catalyticCracking.id,\n points: regionMap.catalyticCracking.area,\n },\n {\n label: regionMap.hydrocrackingUnit.title,\n id: '5',\n belongTo: regionMap.hydrocrackingUnit.id,\n points: regionMap.hydrocrackingUnit.area,\n },\n {\n label: regionMap.cokingUnit.title,\n id: '6',\n belongTo: regionMap.cokingUnit.id,\n points: regionMap.cokingUnit.area,\n },\n {\n label: regionMap.administrative.title,\n id: '7',\n belongTo: regionMap.administrative.id,\n points: regionMap.administrative.area,\n },\n]\n\nexport const walllMaterial = new ShaderMaterial({\n uniforms: {\n iTime: {\n value: 0,\n },\n size: {\n value: 16.0,\n },\n width: {\n value: 0.4,\n },\n speed: {\n value: 1.0,\n },\n alpha: {\n value: 0.15,\n },\n color1: {\n value: new Color('#1fddff'),\n },\n color2: {\n value: new Color('#1f88ff'),\n },\n grow: {\n value: 0.0,\n },\n },\n vertexShader: `\n varying vec2 vUv;\n varying vec3 vPosition;\n void main(){\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\n vPosition = worldPosition1.xyz;\n }`,\n fragmentShader: `uniform float iTime;\n uniform float size;\n uniform float width;///宽度\n uniform float speed;///速度\n uniform float alpha;///透明度\n uniform vec3 color1;///颜色1\n uniform vec3 color2;///颜色2\n uniform float grow;\n varying vec2 vUv;\n varying vec3 vPosition;\n \n vec3 colorfix(vec3 color) {\n return vec3(color.r, color.g, color.b);\n }\n \n void mainImage(out vec4 fragColor, in vec2 fragCoord) {\n vec2 uv = vUv;\n vec2 wallUV = uv;\n wallUV.y *= size;\n\n float fwallUV = floor(fract(wallUV.y - iTime * speed) + width);\n float dis = 1. - (uv.y * 6. - 5.);\n float dis2 = 0.8 - (uv.y * 2. - 1.);\n vec3 col = color1 * dis2 + color2 * (1. - dis2);\n fragColor = vec4(col, fwallUV * alpha * dis);\n }\n \n void main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n\n if(vPosition.y > grow){\n gl_FragColor.a = 0.0;\n }\n }\n \n `,\n transparent: true,\n side: 2,\n depthTest: false,\n})\n\ntype WallManageOption = {\n visible?: boolean\n}\nclass WallManage {\n private scene: Scene\n readonly wallMesh: Map<string, Object3D> = new Map()\n private option: WallManageOption\n\n private time = 0\n\n constructor(gobal: Factory3D, options?: WallManageOption) {\n this.scene = gobal.scene.scene\n this.option = options || {}\n }\n\n generateWall() {\n setInterval(() => {\n this.time += 0.008\n walllMaterial.uniforms.iTime.value = this.time\n })\n\n wallPosition.forEach((item) => {\n const roundLineMesh = createRoundLineWallMesh(item.points.map(v => new Vector3(v[0], v[1], v[2])), {\n radius: 0,\n close: true,\n }, walllMaterial)\n roundLineMesh.visible = this.option?.visible ?? true\n this.wallMesh.set(item.id, roundLineMesh)\n this.scene.add(roundLineMesh)\n })\n }\n}\n\nexport default WallManage"],"mappings":";;;;;;;AAAA,SAASA,uBAAuB,QAAQ,kBAAkB;AAE1D,SAASC,KAAK,EAAEC,cAAc,EAAEC,OAAO,QAAa,eAAe;AAEnE,OAAOC,SAAS;;AAEhB;AACA;;AAEA,IAAMC,YAAY,GAAG,CACnB;EACEC,KAAK,EAAEF,SAAS,CAACG,MAAM,CAACC,KAAK;EAC7BC,EAAE,EAAE,GAAG;EACPC,QAAQ,EAAEN,SAAS,CAACG,MAAM,CAACE,EAAE;EAC7BE,MAAM,EAAEP,SAAS,CAACG,MAAM,CAACK;AAC3B,CAAC,EACD;EACEN,KAAK,EAAEF,SAAS,CAACS,SAAS,CAACL,KAAK;EAChCC,EAAE,EAAE,GAAG;EACPC,QAAQ,EAAEN,SAAS,CAACS,SAAS,CAACJ,EAAE;EAChCE,MAAM,EAAEP,SAAS,CAACS,SAAS,CAACD;AAC9B,CAAC,EACD;EACEN,KAAK,EAAEF,SAAS,CAACU,QAAQ,CAACN,KAAK;EAC/BC,EAAE,EAAE,GAAG;EACPC,QAAQ,EAAEN,SAAS,CAACU,QAAQ,CAACL,EAAE;EAC/BE,MAAM,EAAEP,SAAS,CAACU,QAAQ,CAACF;AAC7B,CAAC,EACD;EACEN,KAAK,EAAEF,SAAS,CAACW,iBAAiB,CAACP,KAAK;EACxCC,EAAE,EAAE,GAAG;EACPC,QAAQ,EAAEN,SAAS,CAACW,iBAAiB,CAACN,EAAE;EACxCE,MAAM,EAAEP,SAAS,CAACW,iBAAiB,CAACH;AACtC,CAAC,EACD;EACEN,KAAK,EAAEF,SAAS,CAACY,iBAAiB,CAACR,KAAK;EACxCC,EAAE,EAAE,GAAG;EACPC,QAAQ,EAAEN,SAAS,CAACY,iBAAiB,CAACP,EAAE;EACxCE,MAAM,EAAEP,SAAS,CAACY,iBAAiB,CAACJ;AACtC,CAAC,EACD;EACEN,KAAK,EAAEF,SAAS,CAACa,UAAU,CAACT,KAAK;EACjCC,EAAE,EAAE,GAAG;EACPC,QAAQ,EAAEN,SAAS,CAACa,UAAU,CAACR,EAAE;EACjCE,MAAM,EAAEP,SAAS,CAACa,UAAU,CAACL;AAC/B,CAAC,EACD;EACEN,KAAK,EAAEF,SAAS,CAACc,cAAc,CAACV,KAAK;EACrCC,EAAE,EAAE,GAAG;EACPC,QAAQ,EAAEN,SAAS,CAACc,cAAc,CAACT,EAAE;EACrCE,MAAM,EAAEP,SAAS,CAACc,cAAc,CAACN;AACnC,CAAC,CACF;AAED,OAAO,IAAMO,aAAa,GAAG,IAAIjB,cAAc,CAAC;EAC9CkB,QAAQ,EAAE;IACRC,KAAK,EAAE;MACLC,KAAK,EAAE;IACT,CAAC;IACDC,IAAI,EAAE;MACJD,KAAK,EAAE;IACT,CAAC;IACDE,KAAK,EAAE;MACLF,KAAK,EAAE;IACT,CAAC;IACDG,KAAK,EAAE;MACLH,KAAK,EAAE;IACT,CAAC;IACDI,KAAK,EAAE;MACLJ,KAAK,EAAE;IACT,CAAC;IACDK,MAAM,EAAE;MACNL,KAAK,EAAE,IAAIrB,KAAK,CAAC,SAAS;IAC5B,CAAC;IACD2B,MAAM,EAAE;MACNN,KAAK,EAAE,IAAIrB,KAAK,CAAC,SAAS;IAC5B,CAAC;IACD4B,IAAI,EAAE;MACJP,KAAK,EAAE;IACT;EACF,CAAC;EACDQ,YAAY,gRAQV;EACFC,cAAc,+9BAoCb;EACDC,WAAW,EAAE,IAAI;EACjBC,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE;AACb,CAAC,CAAC;AAAA,IAKIC,UAAU;EAOd,
|
|
1
|
+
{"version":3,"names":["createRoundLineWallMesh","Color","ShaderMaterial","Vector3","regionMap","wallPosition","label","reform","title","id","belongTo","points","area","reduction","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","administrative","walllMaterial","uniforms","iTime","value","size","width","speed","alpha","color1","color2","grow","vertexShader","fragmentShader","transparent","side","depthTest","WallManage","gobal","options","_classCallCheck","_defineProperty","Map","scene","option","_createClass","key","generateWall","_this","setInterval","time","forEach","item","_this$option$visible","_this$option","roundLineMesh","map","v","radius","close","visible","wallMesh","set","add"],"sources":["../../../src/factory/unit/wall.ts"],"sourcesContent":["import { createRoundLineWallMesh } from '@anov/3d-ability'\nimport type { Object3D, Scene } from '@anov/3d-core'\nimport { Color, ShaderMaterial, Vector3, use } from '@anov/3d-core'\nimport type Factory3D from '../3d'\nimport regionMap from '../regionData'\n\n// import wallVertexShader from './glsl/wall/vertexShader.glsl'\n// import wallFragmentShader from './glsl/wall/fragmentShader.glsl'\n\nconst wallPosition = [\n {\n label: regionMap.reform.title,\n id: '1',\n belongTo: regionMap.reform.id,\n points: regionMap.reform.area,\n },\n {\n label: regionMap.reduction.title,\n id: '2',\n belongTo: regionMap.reduction.id,\n points: regionMap.reduction.area,\n },\n {\n label: regionMap.crudeOil.title,\n id: '3',\n belongTo: regionMap.crudeOil.id,\n points: regionMap.crudeOil.area,\n },\n {\n label: regionMap.catalyticCracking.title,\n id: '4',\n belongTo: regionMap.catalyticCracking.id,\n points: regionMap.catalyticCracking.area,\n },\n {\n label: regionMap.hydrocrackingUnit.title,\n id: '5',\n belongTo: regionMap.hydrocrackingUnit.id,\n points: regionMap.hydrocrackingUnit.area,\n },\n {\n label: regionMap.cokingUnit.title,\n id: '6',\n belongTo: regionMap.cokingUnit.id,\n points: regionMap.cokingUnit.area,\n },\n {\n label: regionMap.administrative.title,\n id: '7',\n belongTo: regionMap.administrative.id,\n points: regionMap.administrative.area,\n },\n]\n\nexport const walllMaterial = new ShaderMaterial({\n uniforms: {\n iTime: {\n value: 0,\n },\n size: {\n value: 16.0,\n },\n width: {\n value: 0.4,\n },\n speed: {\n value: 1.0,\n },\n alpha: {\n value: 0.15,\n },\n color1: {\n value: new Color('#1fddff'),\n },\n color2: {\n value: new Color('#1f88ff'),\n },\n grow: {\n value: 0.0,\n },\n },\n vertexShader: `\n varying vec2 vUv;\n varying vec3 vPosition;\n void main(){\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\n vPosition = worldPosition1.xyz;\n }`,\n fragmentShader: `uniform float iTime;\n uniform float size;\n uniform float width;///宽度\n uniform float speed;///速度\n uniform float alpha;///透明度\n uniform vec3 color1;///颜色1\n uniform vec3 color2;///颜色2\n uniform float grow;\n varying vec2 vUv;\n varying vec3 vPosition;\n \n vec3 colorfix(vec3 color) {\n return vec3(color.r, color.g, color.b);\n }\n \n void mainImage(out vec4 fragColor, in vec2 fragCoord) {\n vec2 uv = vUv;\n vec2 wallUV = uv;\n wallUV.y *= size;\n\n float fwallUV = floor(fract(wallUV.y - iTime * speed) + width);\n float dis = 1. - (uv.y * 6. - 5.);\n float dis2 = 0.8 - (uv.y * 2. - 1.);\n vec3 col = color1 * dis2 + color2 * (1. - dis2);\n fragColor = vec4(col, fwallUV * alpha * dis);\n }\n \n void main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n\n if(vPosition.y > grow){\n gl_FragColor.a = 0.0;\n }\n }\n \n `,\n transparent: true,\n side: 2,\n depthTest: false,\n})\n\ntype WallManageOption = {\n visible?: boolean\n}\nclass WallManage {\n private scene: Scene\n readonly wallMesh: Map<string, Object3D> = new Map()\n private option: WallManageOption\n\n private time = 0\n\n constructor(gobal: Factory3D, options?: WallManageOption) {\n this.scene = gobal.scene.scene\n this.option = options || {}\n }\n\n generateWall() {\n setInterval(() => {\n this.time += 0.008\n walllMaterial.uniforms.iTime.value = this.time\n })\n\n wallPosition.forEach((item) => {\n const roundLineMesh = createRoundLineWallMesh(item.points.map(v => new Vector3(v[0], v[1], v[2])), {\n radius: 0,\n close: true,\n }, walllMaterial)\n roundLineMesh.visible = this.option?.visible ?? true\n this.wallMesh.set(item.id, roundLineMesh)\n this.scene.add(roundLineMesh)\n })\n }\n}\n\nexport default WallManage"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Box3","Vector3","createRoundLineWallMesh","createAreaBoundingBox","points","height","mesh","map","item","fromArray","radius","close","box","setFromObject","center","getCenter","size","getSize","min","copy","sub","clone","multiply","max","add","collisionDetection","position","containsPoint"],"sources":["../../../src/factory/utils/areaBoundingBox.ts"],"sourcesContent":["import { Box3, Box3Helper, Color, Vector3, use } from '@anov/3d-core'\nimport { createRoundLineWallMesh } from '@anov/3d-ability'\n\n/**\n * create areaBounding box\n * @param points\n * @param height\n */\nexport const createAreaBoundingBox = (points: number[][], height: number) => {\n const mesh = createRoundLineWallMesh(\n points.map((item) => {\n return new Vector3().fromArray([item[0], item[1], item[2]])\n }),\n {\n radius: 0,\n close: true,\n height,\n },\n )\n\n const box = new Box3()\n\n box.setFromObject(mesh)\n\n const center = new Vector3()\n box.getCenter(center)\n\n const size = new Vector3()\n box.getSize(size)\n // size.multiplyScalar(2) // 将尺寸乘以2\n\n // const newSize = size.multiplyScalar(3)\n\n // const newMin = center.clone().sub(newSize.clone().divideScalar(2))\n // const newMax = center.clone().add(newSize.clone().divideScalar(2))\n // box.set(newMin, newMax)\n\n // 3. 计算新的最小和最大顶点\n const min = new Vector3().copy(center).sub(size.clone().multiply(new Vector3(0.5, 0.5, 1)))\n const max = new Vector3().copy(center).add(size.clone().multiply(new Vector3(0.5, 2, 1)))\n\n // 4. 更新 Box3 的最小和最大顶点\n box.min.copy(min)\n box.max.copy(max)\n\n // const { scene } = use.useScene()\n // scene.add(new Box3Helper(box, new Color(0xFF0000)))\n\n return box\n}\n\n/**\n * collisionDetection\n * @param box\n * @param position\n * @returns\n */\nexport const collisionDetection = (box: Box3, position: Vector3) => {\n return box.containsPoint(position)\n}\n"],"mappings":"AAAA,SAASA,IAAI,EAAqBC,OAAO,QAAa,eAAe;AACrE,SAASC,uBAAuB,QAAQ,kBAAkB;;AAE1D;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,qBAAqB,GAAG,SAAxBA,
|
|
1
|
+
{"version":3,"names":["Box3","Vector3","createRoundLineWallMesh","createAreaBoundingBox","points","height","mesh","map","item","fromArray","radius","close","box","setFromObject","center","getCenter","size","getSize","min","copy","sub","clone","multiply","max","add","collisionDetection","position","containsPoint"],"sources":["../../../src/factory/utils/areaBoundingBox.ts"],"sourcesContent":["import { Box3, Box3Helper, Color, Vector3, use } from '@anov/3d-core'\nimport { createRoundLineWallMesh } from '@anov/3d-ability'\n\n/**\n * create areaBounding box\n * @param points\n * @param height\n */\nexport const createAreaBoundingBox = (points: number[][], height: number) => {\n const mesh = createRoundLineWallMesh(\n points.map((item) => {\n return new Vector3().fromArray([item[0], item[1], item[2]])\n }),\n {\n radius: 0,\n close: true,\n height,\n },\n )\n\n const box = new Box3()\n\n box.setFromObject(mesh)\n\n const center = new Vector3()\n box.getCenter(center)\n\n const size = new Vector3()\n box.getSize(size)\n // size.multiplyScalar(2) // 将尺寸乘以2\n\n // const newSize = size.multiplyScalar(3)\n\n // const newMin = center.clone().sub(newSize.clone().divideScalar(2))\n // const newMax = center.clone().add(newSize.clone().divideScalar(2))\n // box.set(newMin, newMax)\n\n // 3. 计算新的最小和最大顶点\n const min = new Vector3().copy(center).sub(size.clone().multiply(new Vector3(0.5, 0.5, 1)))\n const max = new Vector3().copy(center).add(size.clone().multiply(new Vector3(0.5, 2, 1)))\n\n // 4. 更新 Box3 的最小和最大顶点\n box.min.copy(min)\n box.max.copy(max)\n\n // const { scene } = use.useScene()\n // scene.add(new Box3Helper(box, new Color(0xFF0000)))\n\n return box\n}\n\n/**\n * collisionDetection\n * @param box\n * @param position\n * @returns\n */\nexport const collisionDetection = (box: Box3, position: Vector3) => {\n return box.containsPoint(position)\n}\n"],"mappings":"AAAA,SAASA,IAAI,EAAqBC,OAAO,QAAa,eAAe;AACrE,SAASC,uBAAuB,QAAQ,kBAAkB;;AAE1D;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,MAAkB,EAAEC,MAAc,EAAK;EAC3E,IAAMC,IAAI,GAAGJ,uBAAuB,CAClCE,MAAM,CAACG,GAAG,CAAC,UAACC,IAAI,EAAK;IACnB,OAAO,IAAIP,OAAO,CAAC,CAAC,CAACQ,SAAS,CAAC,CAACD,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;EAC7D,CAAC,CAAC,EACF;IACEE,MAAM,EAAE,CAAC;IACTC,KAAK,EAAE,IAAI;IACXN,MAAM,EAANA;EACF,CACF,CAAC;EAED,IAAMO,GAAG,GAAG,IAAIZ,IAAI,CAAC,CAAC;EAEtBY,GAAG,CAACC,aAAa,CAACP,IAAI,CAAC;EAEvB,IAAMQ,MAAM,GAAG,IAAIb,OAAO,CAAC,CAAC;EAC5BW,GAAG,CAACG,SAAS,CAACD,MAAM,CAAC;EAErB,IAAME,IAAI,GAAG,IAAIf,OAAO,CAAC,CAAC;EAC1BW,GAAG,CAACK,OAAO,CAACD,IAAI,CAAC;EACjB;;EAEA;;EAEA;EACA;EACA;;EAEA;EACA,IAAME,GAAG,GAAG,IAAIjB,OAAO,CAAC,CAAC,CAACkB,IAAI,CAACL,MAAM,CAAC,CAACM,GAAG,CAACJ,IAAI,CAACK,KAAK,CAAC,CAAC,CAACC,QAAQ,CAAC,IAAIrB,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;EAC3F,IAAMsB,GAAG,GAAG,IAAItB,OAAO,CAAC,CAAC,CAACkB,IAAI,CAACL,MAAM,CAAC,CAACU,GAAG,CAACR,IAAI,CAACK,KAAK,CAAC,CAAC,CAACC,QAAQ,CAAC,IAAIrB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;;EAEzF;EACAW,GAAG,CAACM,GAAG,CAACC,IAAI,CAACD,GAAG,CAAC;EACjBN,GAAG,CAACW,GAAG,CAACJ,IAAI,CAACI,GAAG,CAAC;;EAEjB;EACA;;EAEA,OAAOX,GAAG;AACZ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMa,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIb,GAAS,EAAEc,QAAiB,EAAK;EAClE,OAAOd,GAAG,CAACe,aAAa,CAACD,QAAQ,CAAC;AACpC,CAAC"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export var SceneStyle
|
|
2
|
-
(function (SceneStyle) {
|
|
1
|
+
export var SceneStyle = /*#__PURE__*/function (SceneStyle) {
|
|
3
2
|
SceneStyle[SceneStyle["real"] = 0] = "real";
|
|
4
3
|
SceneStyle[SceneStyle["tech"] = 1] = "tech";
|
|
5
4
|
SceneStyle[SceneStyle["white"] = 2] = "white";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
return SceneStyle;
|
|
6
|
+
}({});
|
|
7
|
+
export var SceneTag = /*#__PURE__*/function (SceneTag) {
|
|
9
8
|
SceneTag["overview"] = "Overview";
|
|
10
9
|
SceneTag["people-management"] = "Person";
|
|
11
10
|
SceneTag["smart-inspection"] = "Inspection";
|
|
12
11
|
SceneTag["security-operation"] = "Maintenance";
|
|
13
12
|
SceneTag["standBy"] = "StandBy";
|
|
14
|
-
|
|
13
|
+
return SceneTag;
|
|
14
|
+
}({});
|
|
15
15
|
//# sourceMappingURL=constant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SceneStyle","SceneTag"],"sources":["../../../src/factory/utils/constant.ts"],"sourcesContent":["export enum SceneStyle {\n 'real',\n 'tech',\n 'white',\n}\n\nexport enum SceneTag {\n 'overview' = 'Overview',\n 'people-management' = 'Person',\n 'smart-inspection' = 'Inspection',\n 'security-operation' = 'Maintenance',\n 'standBy' = 'StandBy',\n}"],"mappings":"AAAA,WAAYA,UAAU
|
|
1
|
+
{"version":3,"names":["SceneStyle","SceneTag"],"sources":["../../../src/factory/utils/constant.ts"],"sourcesContent":["export enum SceneStyle {\n 'real',\n 'tech',\n 'white',\n}\n\nexport enum SceneTag {\n 'overview' = 'Overview',\n 'people-management' = 'Person',\n 'smart-inspection' = 'Inspection',\n 'security-operation' = 'Maintenance',\n 'standBy' = 'StandBy',\n}"],"mappings":"AAAA,WAAYA,UAAU,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAMtB,WAAYC,QAAQ,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA"}
|
|
@@ -14,7 +14,6 @@ export var finirMaterialV2 = new ShaderMaterial({
|
|
|
14
14
|
value: 100
|
|
15
15
|
} // 反光强度0.9
|
|
16
16
|
},
|
|
17
|
-
|
|
18
17
|
vertexShader: "\n varying vec3 vNormal;\n void main() {\n vNormal = normal;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n ",
|
|
19
18
|
fragmentShader: "\n varying vec3 vNormal;\n uniform vec3 edgeColor;\n uniform float edgeThickness;\n uniform float reflectionStrength;\n\n void main() {\n // \u8BA1\u7B97\u900F\u660E\u5EA6\n float alpha = 0.9; // \u900F\u660E\u5EA6\u7684\u57FA\u7840\u503C\n\n // \u8BA1\u7B97\u8FB9\u7F18\u6548\u679C\n float edge = fwidth(length(vNormal));\n alpha *= smoothstep(0.0, edgeThickness, edge);\n\n // \u8BA1\u7B97\u53CD\u5149\u6548\u679C\n vec3 reflection = reflect(normalize(-vNormal), vec3(0.455, 0.749, 0.890));\n float reflectionIntensity = max(dot(reflection, normalize(-vNormal)), 0.0);\n vec3 reflectionColor = reflectionStrength * reflectionIntensity * edgeColor;\n\n // \u6700\u7EC8\u989C\u8272\u8BBE\u7F6E\u4E3A\"#74bfe3\"\n vec3 finalColor = vec3(0.8, 0.25, 0.145); // \"#74bfe3\"\u7684RGB\u503C\n finalColor += reflectionColor; // \u6DFB\u52A0\u53CD\u5149\u6548\u679C\n\n // \u8BBE\u7F6E\u900F\u660E\u5EA6\n gl_FragColor = vec4(finalColor, alpha);\n }\n ",
|
|
20
19
|
transparent: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Color","MeshStandardMaterial","ShaderMaterial","Vector3","finirMaterialV2","uniforms","edgeColor","value","edgeThickness","reflectionStrength","vertexShader","fragmentShader","transparent","depthWrite","finirMaterialV1","opacity","onBeforeCompile","shader","rimColor","rimPower","replace","join","createFinirMaterial","material"],"sources":["../../../src/factory/utils/finirMaterial.ts"],"sourcesContent":["import { Color, MeshStandardMaterial, ShaderMaterial, Vector3 } from '@anov/3d-core'\n\nexport const finirMaterialV2 = new ShaderMaterial({\n uniforms: {\n // 在这里定义uniform变量,用于控制透明度、边缘和反光效果\n edgeColor: { value: new Vector3(1.0, 0.0, 0.0) }, // 边缘颜色\n edgeThickness: { value: 0.05 }, // 边缘厚度0.05\n reflectionStrength: { value: 100 }, // 反光强度0.9\n },\n vertexShader: `\n varying vec3 vNormal;\n void main() {\n vNormal = normal;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n `,\n fragmentShader: `\n varying vec3 vNormal;\n uniform vec3 edgeColor;\n uniform float edgeThickness;\n uniform float reflectionStrength;\n\n void main() {\n // 计算透明度\n float alpha = 0.9; // 透明度的基础值\n\n // 计算边缘效果\n float edge = fwidth(length(vNormal));\n alpha *= smoothstep(0.0, edgeThickness, edge);\n\n // 计算反光效果\n vec3 reflection = reflect(normalize(-vNormal), vec3(0.455, 0.749, 0.890));\n float reflectionIntensity = max(dot(reflection, normalize(-vNormal)), 0.0);\n vec3 reflectionColor = reflectionStrength * reflectionIntensity * edgeColor;\n\n // 最终颜色设置为\"#74bfe3\"\n vec3 finalColor = vec3(0.8, 0.25, 0.145); // \"#74bfe3\"的RGB值\n finalColor += reflectionColor; // 添加反光效果\n\n // 设置透明度\n gl_FragColor = vec4(finalColor, alpha);\n }\n `,\n transparent: true,\n depthWrite: false,\n})\n\nexport const finirMaterialV1 = new MeshStandardMaterial({ /// /这个没有沟边粗细\n opacity: 0.0,\n transparent: true,\n depthWrite: false,\n})\n\nfinirMaterialV1.onBeforeCompile = (shader) => {\n shader.uniforms.rimColor = { value: new Color('#f5b68a') }\n shader.uniforms.rimPower = { value: 0.17 }\n shader.fragmentShader = shader.fragmentShader.replace(\n 'void main() {',\n [\n 'uniform vec3 rimColor;',\n ' uniform float rimPower;',\n 'void main() {',\n ].join('\\n'),\n )\n shader.fragmentShader = shader.fragmentShader.replace(\n '#include <dithering_fragment>',\n `#include <dithering_fragment>\n float dotNV = 1.0-saturate( dot( normal, geometry.viewDir ) );\n gl_FragColor.rgb *= rimColor;\n\n\n float fresnelall = pow(rimPower*dotNV,.7);\n gl_FragColor.a += fresnelall;`,\n\n )\n}\n\nexport const createFinirMaterial = (rimColor: string, rimPower: number) => {\n const material = new MeshStandardMaterial({ opacity: 0.0, transparent: true, depthWrite: false })\n material.onBeforeCompile = (shader) => {\n shader.uniforms.rimColor = { value: new Color(rimColor) }\n shader.uniforms.rimPower = { value: rimPower }\n shader.fragmentShader = shader.fragmentShader.replace(\n 'void main() {',\n [\n 'uniform vec3 rimColor;',\n 'uniform float rimPower;',\n 'void main() {',\n ].join('\\n'),\n )\n shader.fragmentShader = shader.fragmentShader.replace(\n '#include <dithering_fragment>',\n `#include <dithering_fragment>\n float dotNV = 1.0-saturate( dot( normal, geometry.viewDir ) );\n gl_FragColor.rgb += rimPower*dotNV*rimColor;\n vec3 fresnelall =rimPower*dotNV*rimColor;\n gl_FragColor.a +=(fresnelall.r+fresnelall.g+fresnelall.b)/3.;`,\n )\n }\n return material\n}"],"mappings":"AAAA,SAASA,KAAK,EAAEC,oBAAoB,EAAEC,cAAc,EAAEC,OAAO,QAAQ,eAAe;AAEpF,OAAO,IAAMC,eAAe,GAAG,IAAIF,cAAc,CAAC;EAChDG,QAAQ,EAAE;IACR;IACAC,SAAS,EAAE;MAAEC,KAAK,EAAE,IAAIJ,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IAAE,CAAC;IAAE;IAClDK,aAAa,EAAE;MAAED,KAAK,EAAE;IAAK,CAAC;IAAE;IAChCE,kBAAkB,EAAE;MAAEF,KAAK,EAAE;IAAI,CAAC,CAAE;EACtC,CAAC
|
|
1
|
+
{"version":3,"names":["Color","MeshStandardMaterial","ShaderMaterial","Vector3","finirMaterialV2","uniforms","edgeColor","value","edgeThickness","reflectionStrength","vertexShader","fragmentShader","transparent","depthWrite","finirMaterialV1","opacity","onBeforeCompile","shader","rimColor","rimPower","replace","join","createFinirMaterial","material"],"sources":["../../../src/factory/utils/finirMaterial.ts"],"sourcesContent":["import { Color, MeshStandardMaterial, ShaderMaterial, Vector3 } from '@anov/3d-core'\n\nexport const finirMaterialV2 = new ShaderMaterial({\n uniforms: {\n // 在这里定义uniform变量,用于控制透明度、边缘和反光效果\n edgeColor: { value: new Vector3(1.0, 0.0, 0.0) }, // 边缘颜色\n edgeThickness: { value: 0.05 }, // 边缘厚度0.05\n reflectionStrength: { value: 100 }, // 反光强度0.9\n },\n vertexShader: `\n varying vec3 vNormal;\n void main() {\n vNormal = normal;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n `,\n fragmentShader: `\n varying vec3 vNormal;\n uniform vec3 edgeColor;\n uniform float edgeThickness;\n uniform float reflectionStrength;\n\n void main() {\n // 计算透明度\n float alpha = 0.9; // 透明度的基础值\n\n // 计算边缘效果\n float edge = fwidth(length(vNormal));\n alpha *= smoothstep(0.0, edgeThickness, edge);\n\n // 计算反光效果\n vec3 reflection = reflect(normalize(-vNormal), vec3(0.455, 0.749, 0.890));\n float reflectionIntensity = max(dot(reflection, normalize(-vNormal)), 0.0);\n vec3 reflectionColor = reflectionStrength * reflectionIntensity * edgeColor;\n\n // 最终颜色设置为\"#74bfe3\"\n vec3 finalColor = vec3(0.8, 0.25, 0.145); // \"#74bfe3\"的RGB值\n finalColor += reflectionColor; // 添加反光效果\n\n // 设置透明度\n gl_FragColor = vec4(finalColor, alpha);\n }\n `,\n transparent: true,\n depthWrite: false,\n})\n\nexport const finirMaterialV1 = new MeshStandardMaterial({ /// /这个没有沟边粗细\n opacity: 0.0,\n transparent: true,\n depthWrite: false,\n})\n\nfinirMaterialV1.onBeforeCompile = (shader) => {\n shader.uniforms.rimColor = { value: new Color('#f5b68a') }\n shader.uniforms.rimPower = { value: 0.17 }\n shader.fragmentShader = shader.fragmentShader.replace(\n 'void main() {',\n [\n 'uniform vec3 rimColor;',\n ' uniform float rimPower;',\n 'void main() {',\n ].join('\\n'),\n )\n shader.fragmentShader = shader.fragmentShader.replace(\n '#include <dithering_fragment>',\n `#include <dithering_fragment>\n float dotNV = 1.0-saturate( dot( normal, geometry.viewDir ) );\n gl_FragColor.rgb *= rimColor;\n\n\n float fresnelall = pow(rimPower*dotNV,.7);\n gl_FragColor.a += fresnelall;`,\n\n )\n}\n\nexport const createFinirMaterial = (rimColor: string, rimPower: number) => {\n const material = new MeshStandardMaterial({ opacity: 0.0, transparent: true, depthWrite: false })\n material.onBeforeCompile = (shader) => {\n shader.uniforms.rimColor = { value: new Color(rimColor) }\n shader.uniforms.rimPower = { value: rimPower }\n shader.fragmentShader = shader.fragmentShader.replace(\n 'void main() {',\n [\n 'uniform vec3 rimColor;',\n 'uniform float rimPower;',\n 'void main() {',\n ].join('\\n'),\n )\n shader.fragmentShader = shader.fragmentShader.replace(\n '#include <dithering_fragment>',\n `#include <dithering_fragment>\n float dotNV = 1.0-saturate( dot( normal, geometry.viewDir ) );\n gl_FragColor.rgb += rimPower*dotNV*rimColor;\n vec3 fresnelall =rimPower*dotNV*rimColor;\n gl_FragColor.a +=(fresnelall.r+fresnelall.g+fresnelall.b)/3.;`,\n )\n }\n return material\n}"],"mappings":"AAAA,SAASA,KAAK,EAAEC,oBAAoB,EAAEC,cAAc,EAAEC,OAAO,QAAQ,eAAe;AAEpF,OAAO,IAAMC,eAAe,GAAG,IAAIF,cAAc,CAAC;EAChDG,QAAQ,EAAE;IACR;IACAC,SAAS,EAAE;MAAEC,KAAK,EAAE,IAAIJ,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IAAE,CAAC;IAAE;IAClDK,aAAa,EAAE;MAAED,KAAK,EAAE;IAAK,CAAC;IAAE;IAChCE,kBAAkB,EAAE;MAAEF,KAAK,EAAE;IAAI,CAAC,CAAE;EACtC,CAAC;EACDG,YAAY,mRAMK;EACjBC,cAAc,g6CA0BG;EACjBC,WAAW,EAAE,IAAI;EACjBC,UAAU,EAAE;AACd,CAAC,CAAC;AAEF,OAAO,IAAMC,eAAe,GAAG,IAAIb,oBAAoB,CAAC;EAAE;EACxDc,OAAO,EAAE,GAAG;EACZH,WAAW,EAAE,IAAI;EACjBC,UAAU,EAAE;AACd,CAAC,CAAC;AAEFC,eAAe,CAACE,eAAe,GAAG,UAACC,MAAM,EAAK;EAC5CA,MAAM,CAACZ,QAAQ,CAACa,QAAQ,GAAG;IAAEX,KAAK,EAAE,IAAIP,KAAK,CAAC,SAAS;EAAE,CAAC;EAC1DiB,MAAM,CAACZ,QAAQ,CAACc,QAAQ,GAAG;IAAEZ,KAAK,EAAE;EAAK,CAAC;EAC1CU,MAAM,CAACN,cAAc,GAAGM,MAAM,CAACN,cAAc,CAACS,OAAO,CACnD,eAAe,EACf,CACE,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,CAChB,CAACC,IAAI,CAAC,IAAI,CACb,CAAC;EACDJ,MAAM,CAACN,cAAc,GAAGM,MAAM,CAACN,cAAc,CAACS,OAAO,CACnD,+BAA+B,+OASjC,CAAC;AACH,CAAC;AAED,OAAO,IAAME,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIJ,QAAgB,EAAEC,QAAgB,EAAK;EACzE,IAAMI,QAAQ,GAAG,IAAItB,oBAAoB,CAAC;IAAEc,OAAO,EAAE,GAAG;IAAEH,WAAW,EAAE,IAAI;IAAEC,UAAU,EAAE;EAAM,CAAC,CAAC;EACjGU,QAAQ,CAACP,eAAe,GAAG,UAACC,MAAM,EAAK;IACrCA,MAAM,CAACZ,QAAQ,CAACa,QAAQ,GAAG;MAAEX,KAAK,EAAE,IAAIP,KAAK,CAACkB,QAAQ;IAAE,CAAC;IACzDD,MAAM,CAACZ,QAAQ,CAACc,QAAQ,GAAG;MAAEZ,KAAK,EAAEY;IAAS,CAAC;IAC9CF,MAAM,CAACN,cAAc,GAAGM,MAAM,CAACN,cAAc,CAACS,OAAO,CACnD,eAAe,EACf,CACE,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,CAChB,CAACC,IAAI,CAAC,IAAI,CACb,CAAC;IACDJ,MAAM,CAACN,cAAc,GAAGM,MAAM,CAACN,cAAc,CAACS,OAAO,CACnD,+BAA+B,iRAMjC,CAAC;EACH,CAAC;EACD,OAAOG,QAAQ;AACjB,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
function _typeof(
|
|
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
2
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
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
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
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(
|
|
7
|
-
function _toPrimitive(
|
|
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
8
|
import { Color, Mesh, MeshBasicMaterial, lib } from '@anov/3d-core';
|
|
9
9
|
import { loadingManager } from "../3d";
|
|
10
10
|
var FontLoader = lib.FontLoader,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Color","Mesh","MeshBasicMaterial","lib","loadingManager","FontLoader","TextGeometry","Font","font","text","options","Promise","res","loader","load","geometry","size","height","mesh","depthTest","color","position","copy","createFontMesh"
|
|
1
|
+
{"version":3,"names":["Color","Mesh","MeshBasicMaterial","lib","loadingManager","FontLoader","TextGeometry","Font","_classCallCheck","_defineProperty","font","_createClass","key","value","createText","text","options","_this","Promise","res","loader","load","_options$size","geometry","size","height","mesh","depthTest","color","position","copy","createFontMesh"],"sources":["../../../src/factory/utils/fontMesh.ts"],"sourcesContent":["import type { Vector3 } from '@anov/3d-core'\nimport { Color, Mesh, MeshBasicMaterial, lib } from '@anov/3d-core'\nimport { loadingManager } from '../3d'\n\nconst { FontLoader, TextGeometry } = lib\n\ntype FontMeshOption = {\n position: Vector3\n color?: Color\n size?: number\n rotate?: number\n}\n\nclass Font {\n font: lib.Font | null\n\n constructor() {\n this.font = null\n }\n\n createText(text: string, options: FontMeshOption) {\n return new Promise((res) => {\n const loader = new FontLoader(loadingManager)\n loader.load('./font.json', (font) => {\n this.font = font\n\n const geometry = new TextGeometry(text, {\n font: this.font,\n size: options.size ?? 10,\n height: 1,\n })\n\n const mesh = new Mesh(geometry, new MeshBasicMaterial({\n depthTest: true,\n color: new Color('#fff'),\n }))\n\n mesh.position.copy(options.position)\n res(mesh)\n })\n })\n }\n}\n\nconst font = new Font()\n\nconst createFontMesh = (text: string, options: FontMeshOption) => {\n return font.createText(text, options) as Promise<Mesh>\n}\n\nexport default createFontMesh\n"],"mappings":";;;;;;;AACA,SAASA,KAAK,EAAEC,IAAI,EAAEC,iBAAiB,EAAEC,GAAG,QAAQ,eAAe;AACnE,SAASC,cAAc;AAEvB,IAAQC,UAAU,GAAmBF,GAAG,CAAhCE,UAAU;EAAEC,YAAY,GAAKH,GAAG,CAApBG,YAAY;AAAQ,IASlCC,IAAI;EAGR,SAAAA,KAAA,EAAc;IAAAC,eAAA,OAAAD,IAAA;IAAAE,eAAA;IACZ,IAAI,CAACC,IAAI,GAAG,IAAI;EAClB;EAACC,YAAA,CAAAJ,IAAA;IAAAK,GAAA;IAAAC,KAAA,EAED,SAAAC,WAAWC,IAAY,EAAEC,OAAuB,EAAE;MAAA,IAAAC,KAAA;MAChD,OAAO,IAAIC,OAAO,CAAC,UAACC,GAAG,EAAK;QAC1B,IAAMC,MAAM,GAAG,IAAIf,UAAU,CAACD,cAAc,CAAC;QAC7CgB,MAAM,CAACC,IAAI,CAAC,aAAa,EAAE,UAACX,IAAI,EAAK;UAAA,IAAAY,aAAA;UACnCL,KAAI,CAACP,IAAI,GAAGA,IAAI;UAEhB,IAAMa,QAAQ,GAAG,IAAIjB,YAAY,CAACS,IAAI,EAAE;YACtCL,IAAI,EAAEO,KAAI,CAACP,IAAI;YACfc,IAAI,GAAAF,aAAA,GAAEN,OAAO,CAACQ,IAAI,cAAAF,aAAA,cAAAA,aAAA,GAAI,EAAE;YACxBG,MAAM,EAAE;UACV,CAAC,CAAC;UAEF,IAAMC,IAAI,GAAG,IAAIzB,IAAI,CAACsB,QAAQ,EAAE,IAAIrB,iBAAiB,CAAC;YACpDyB,SAAS,EAAE,IAAI;YACfC,KAAK,EAAE,IAAI5B,KAAK,CAAC,MAAM;UACzB,CAAC,CAAC,CAAC;UAEH0B,IAAI,CAACG,QAAQ,CAACC,IAAI,CAACd,OAAO,CAACa,QAAQ,CAAC;UACpCV,GAAG,CAACO,IAAI,CAAC;QACX,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;EAAC;EAAA,OAAAnB,IAAA;AAAA;AAGH,IAAMG,IAAI,GAAG,IAAIH,IAAI,CAAC,CAAC;AAEvB,IAAMwB,cAAc,GAAG,SAAjBA,cAAcA,CAAIhB,IAAY,EAAEC,OAAuB,EAAK;EAChE,OAAON,IAAI,CAACI,UAAU,CAACC,IAAI,EAAEC,OAAO,CAAC;AACvC,CAAC;AAED,eAAee,cAAc"}
|