@anov/3d-ability 0.0.63 → 0.0.66
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/business/Area/BaseClass.d.ts +62 -0
- package/dist/business/Area/BaseClass.js +455 -0
- package/dist/business/Area/BaseClass.js.map +1 -0
- package/dist/business/Area/Fence/FenceBase.d.ts +24 -0
- package/dist/business/Area/Fence/FenceBase.js +97 -0
- package/dist/business/Area/Fence/FenceBase.js.map +1 -0
- package/dist/business/Area/Fence/fence_base_01.d.ts +17 -0
- package/dist/business/Area/Fence/fence_base_01.js +159 -0
- package/dist/business/Area/Fence/fence_base_01.js.map +1 -0
- package/dist/business/Area/Fence/fence_feeting_01.d.ts +15 -0
- package/dist/business/Area/Fence/fence_feeting_01.js +134 -0
- package/dist/business/Area/Fence/fence_feeting_01.js.map +1 -0
- package/dist/business/Area/Fence/fence_roll_01.d.ts +17 -0
- package/dist/business/Area/Fence/fence_roll_01.js +158 -0
- package/dist/business/Area/Fence/fence_roll_01.js.map +1 -0
- package/dist/business/Area/FillArea/FillAreaBase.d.ts +20 -0
- package/dist/business/Area/FillArea/FillAreaBase.js +83 -0
- package/dist/business/Area/FillArea/FillAreaBase.js.map +1 -0
- package/dist/business/Area/FillArea/fillArea_face_01.d.ts +16 -0
- package/dist/business/Area/FillArea/fillArea_face_01.js +112 -0
- package/dist/business/Area/FillArea/fillArea_face_01.js.map +1 -0
- package/dist/business/Area/FillArea/fillArea_line_01.d.ts +14 -0
- package/dist/business/Area/FillArea/fillArea_line_01.js +98 -0
- package/dist/business/Area/FillArea/fillArea_line_01.js.map +1 -0
- package/dist/business/Area/index.d.ts +6 -0
- package/dist/business/Area/index.js +28 -0
- package/dist/business/Area/index.js.map +1 -0
- package/dist/business/Area/strategy.d.ts +7 -0
- package/dist/business/Area/strategy.js +107 -0
- package/dist/business/Area/strategy.js.map +1 -0
- package/dist/business/Area/type.d.ts +41 -0
- package/dist/business/Area/type.js +2 -0
- package/dist/business/Area/type.js.map +1 -0
- package/dist/business/Base/ObjectLayer.d.ts +1 -0
- package/dist/business/Base/ObjectLayer.js +14 -0
- package/dist/business/Base/ObjectLayer.js.map +1 -1
- package/dist/business/Poi/Plane/index.d.ts +15 -2
- package/dist/business/Poi/Plane/index.js +84 -19
- package/dist/business/Poi/Plane/index.js.map +1 -1
- package/dist/business/Poi/Plane/link/Cylinder.d.ts +1 -1
- package/dist/business/Poi/Plane/link/Cylinder.js +1 -1
- package/dist/business/Poi/Plane/link/Cylinder.js.map +1 -1
- package/dist/business/Poi/Plane/link/Pyramid.d.ts +1 -1
- package/dist/business/Poi/Plane/link/Pyramid.js +4 -2
- package/dist/business/Poi/Plane/link/Pyramid.js.map +1 -1
- package/dist/business/Poi/Plane/particle/SingleCircle.js +4 -5
- package/dist/business/Poi/Plane/particle/SingleCircle.js.map +1 -1
- package/dist/business/Poi/Plane/title/Border.js +1 -1
- package/dist/business/Poi/Plane/title/Border.js.map +1 -1
- package/dist/business/Poi/Plane/title/Ellipse.js +1 -1
- package/dist/business/Poi/Plane/title/Ellipse.js.map +1 -1
- package/dist/business/Poi/Plane/title/index.d.ts +14 -0
- package/dist/business/Poi/Plane/title/index.js +59 -3
- package/dist/business/Poi/Plane/title/index.js.map +1 -1
- package/dist/business/Poi/Plane/types.d.ts +17 -14
- package/dist/business/Poi/Plane/types.js.map +1 -1
- package/dist/business/Poi/Utils/tools.js +3 -2
- package/dist/business/Poi/Utils/tools.js.map +1 -1
- package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.d.ts +3 -13
- package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js +23 -36
- package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js.map +1 -1
- package/dist/business/TrafficComponents/RealismTraffic/index.d.ts +0 -1
- package/dist/business/TrafficComponents/RealismTraffic/index.js +0 -1
- package/dist/business/TrafficComponents/RealismTraffic/index.js.map +1 -1
- package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.d.ts +57 -0
- package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js +197 -0
- package/dist/business/TrafficComponents/StreamerTraffic/StreamerTraffic.js.map +1 -0
- package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.d.ts +1 -0
- package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.js +2 -0
- package/dist/business/TrafficComponents/StreamerTraffic/fragmentShader.js.map +1 -0
- package/dist/business/TrafficComponents/StreamerTraffic/index.d.ts +11 -0
- package/dist/business/TrafficComponents/StreamerTraffic/index.js +2 -0
- package/dist/business/TrafficComponents/StreamerTraffic/index.js.map +1 -0
- package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.d.ts +1 -0
- package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.js +2 -0
- package/dist/business/TrafficComponents/StreamerTraffic/vertexShader.js.map +1 -0
- package/dist/business/TrafficComponents/base.d.ts +22 -0
- package/dist/business/TrafficComponents/base.js +64 -0
- package/dist/business/TrafficComponents/base.js.map +1 -0
- package/dist/business/TrafficComponents/index.d.ts +1 -0
- package/dist/business/TrafficComponents/index.js +1 -0
- package/dist/business/TrafficComponents/index.js.map +1 -1
- package/dist/business/TrafficComponents/{RealismTraffic/utils.d.ts → utils.d.ts} +1 -1
- package/dist/business/TrafficComponents/{RealismTraffic/utils.js → utils.js} +1 -1
- package/dist/business/TrafficComponents/utils.js.map +1 -0
- package/dist/business/index.d.ts +1 -0
- package/dist/business/index.js +1 -0
- package/dist/business/index.js.map +1 -1
- package/dist/core/Light/PointLight/PointLightExt.d.ts +5 -0
- package/dist/core/Light/PointLight/PointLightExt.js +25 -0
- package/dist/core/Light/PointLight/PointLightExt.js.map +1 -0
- package/dist/core/Light/PointLight/index.d.ts +2 -0
- package/dist/core/Light/PointLight/index.js +2 -0
- package/dist/core/Light/PointLight/index.js.map +1 -0
- package/dist/core/Light/index.d.ts +0 -0
- package/dist/core/Light/index.js +2 -0
- package/dist/core/Light/index.js.map +1 -0
- package/dist/core/PostEffects/outlinePass.d.ts +7 -16
- package/dist/core/PostEffects/outlinePass.js +42 -52
- package/dist/core/PostEffects/outlinePass.js.map +1 -1
- package/dist/core/WeatherSystem/sky/index.js +6 -2
- package/dist/core/WeatherSystem/sky/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/business/TrafficComponents/RealismTraffic/utils.js.map +0 -1
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Group, Vector3 } from '@anov/3d-core';
|
|
2
|
+
import ObjectLayer from '../Base/ObjectLayer';
|
|
3
|
+
import type { Option } from './type';
|
|
4
|
+
import type FenceBase from './Fence/FenceBase';
|
|
5
|
+
import type FillAreaBase from './FillArea/FillAreaBase';
|
|
6
|
+
declare class Base extends ObjectLayer {
|
|
7
|
+
group: Group;
|
|
8
|
+
fenceMesh: FenceBase;
|
|
9
|
+
style: string;
|
|
10
|
+
fillAreaMesh: FillAreaBase;
|
|
11
|
+
private _fenceStyle;
|
|
12
|
+
private _fenceVisible;
|
|
13
|
+
private _fenceHeight;
|
|
14
|
+
private _fenceAlpha;
|
|
15
|
+
private _fenceColor;
|
|
16
|
+
private _fillAreaStyle;
|
|
17
|
+
private _fillAreaVisible;
|
|
18
|
+
private _fillAreaAlpha;
|
|
19
|
+
private _fillAreaColor;
|
|
20
|
+
private _fillAreaPos;
|
|
21
|
+
private _surfaceSnap;
|
|
22
|
+
private _path;
|
|
23
|
+
points: Vector3[];
|
|
24
|
+
corner: number;
|
|
25
|
+
close: boolean;
|
|
26
|
+
constructor(option: Option);
|
|
27
|
+
registerStrategy(style: any): Promise<any>;
|
|
28
|
+
getCurrentStyle(): {
|
|
29
|
+
currentFenceStyle: string;
|
|
30
|
+
currentFillAreaStyle: string;
|
|
31
|
+
};
|
|
32
|
+
create(): Promise<void>;
|
|
33
|
+
createFence(points: Vector3[], style: string, corner: number, close: boolean, height: number, color: string, alpha: number): Promise<any>;
|
|
34
|
+
createFillArea(points: Vector3[], style: string, corner: number, close: boolean, color: string, alpha: number, pos: string): Promise<any>;
|
|
35
|
+
resetFence(): Promise<void>;
|
|
36
|
+
resetFillArea(): Promise<void>;
|
|
37
|
+
get fenceStyle(): string;
|
|
38
|
+
set fenceStyle(newValue: string);
|
|
39
|
+
get fenceVisible(): boolean;
|
|
40
|
+
set fenceVisible(newValue: boolean);
|
|
41
|
+
get fenceHeight(): number;
|
|
42
|
+
set fenceHeight(newValue: number);
|
|
43
|
+
get fenceAlpha(): number;
|
|
44
|
+
set fenceAlpha(newValue: number);
|
|
45
|
+
get fenceColor(): string;
|
|
46
|
+
set fenceColor(newValue: string);
|
|
47
|
+
get fillAreaStyle(): string;
|
|
48
|
+
set fillAreaStyle(newValue: string);
|
|
49
|
+
get fillAreaVisible(): boolean;
|
|
50
|
+
set fillAreaVisible(newValue: boolean);
|
|
51
|
+
get fillAreaAlpha(): number;
|
|
52
|
+
set fillAreaAlpha(newValue: number);
|
|
53
|
+
get fillAreaColor(): string;
|
|
54
|
+
set fillAreaColor(newValue: string);
|
|
55
|
+
get fillAreaPos(): string;
|
|
56
|
+
set fillAreaPos(newValue: string);
|
|
57
|
+
get surfaceSnap(): boolean;
|
|
58
|
+
set surfaceSnap(newValue: boolean);
|
|
59
|
+
get path(): Option['path'];
|
|
60
|
+
set path(newValue: Option['path']);
|
|
61
|
+
}
|
|
62
|
+
export default Base;
|
|
@@ -0,0 +1,455 @@
|
|
|
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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
3
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
5
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
6
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
7
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
8
|
+
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; }
|
|
9
|
+
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); } }
|
|
10
|
+
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); }); }; }
|
|
11
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
12
|
+
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); } }
|
|
13
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
14
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
15
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
16
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
17
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
18
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
19
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
20
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
21
|
+
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; }
|
|
22
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
23
|
+
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); }
|
|
24
|
+
import { Group, Vector3 } from '@anov/3d-core';
|
|
25
|
+
import _ from 'lodash';
|
|
26
|
+
import ObjectLayer from "../Base/ObjectLayer";
|
|
27
|
+
import { StrategyManage } from "./strategy";
|
|
28
|
+
var STYLE_DATA = {
|
|
29
|
+
area_base_01: ['base', ''],
|
|
30
|
+
area_feeting_01: ['feeting', ''],
|
|
31
|
+
area_roll_01: ['roll', '']
|
|
32
|
+
};
|
|
33
|
+
var defaultOption = {
|
|
34
|
+
style: 'area_dynamic_mode',
|
|
35
|
+
fenceStyle: 'base',
|
|
36
|
+
fenceVisible: true,
|
|
37
|
+
fenceHeight: 50,
|
|
38
|
+
fenceAlpha: 1,
|
|
39
|
+
fenceColor: '#00FFB5',
|
|
40
|
+
fillAreaStyle: 'face',
|
|
41
|
+
fillAreaVisible: false,
|
|
42
|
+
fillAreaAlpha: 1,
|
|
43
|
+
fillAreaColor: '#00FFB5',
|
|
44
|
+
fillAreaPos: 'bottom',
|
|
45
|
+
surfaceSnap: false
|
|
46
|
+
};
|
|
47
|
+
var Base = /*#__PURE__*/function (_ObjectLayer) {
|
|
48
|
+
_inherits(Base, _ObjectLayer);
|
|
49
|
+
var _super = _createSuper(Base);
|
|
50
|
+
function Base(option) {
|
|
51
|
+
var _this;
|
|
52
|
+
_classCallCheck(this, Base);
|
|
53
|
+
_this = _super.call(this);
|
|
54
|
+
_defineProperty(_assertThisInitialized(_this), "group", void 0);
|
|
55
|
+
_defineProperty(_assertThisInitialized(_this), "fenceMesh", void 0);
|
|
56
|
+
_defineProperty(_assertThisInitialized(_this), "style", void 0);
|
|
57
|
+
_defineProperty(_assertThisInitialized(_this), "fillAreaMesh", void 0);
|
|
58
|
+
_defineProperty(_assertThisInitialized(_this), "_fenceStyle", void 0);
|
|
59
|
+
_defineProperty(_assertThisInitialized(_this), "_fenceVisible", void 0);
|
|
60
|
+
_defineProperty(_assertThisInitialized(_this), "_fenceHeight", void 0);
|
|
61
|
+
_defineProperty(_assertThisInitialized(_this), "_fenceAlpha", void 0);
|
|
62
|
+
_defineProperty(_assertThisInitialized(_this), "_fenceColor", void 0);
|
|
63
|
+
_defineProperty(_assertThisInitialized(_this), "_fillAreaStyle", void 0);
|
|
64
|
+
_defineProperty(_assertThisInitialized(_this), "_fillAreaVisible", void 0);
|
|
65
|
+
_defineProperty(_assertThisInitialized(_this), "_fillAreaAlpha", void 0);
|
|
66
|
+
_defineProperty(_assertThisInitialized(_this), "_fillAreaColor", void 0);
|
|
67
|
+
_defineProperty(_assertThisInitialized(_this), "_fillAreaPos", void 0);
|
|
68
|
+
_defineProperty(_assertThisInitialized(_this), "_surfaceSnap", void 0);
|
|
69
|
+
_defineProperty(_assertThisInitialized(_this), "_path", void 0);
|
|
70
|
+
_defineProperty(_assertThisInitialized(_this), "points", void 0);
|
|
71
|
+
_defineProperty(_assertThisInitialized(_this), "corner", void 0);
|
|
72
|
+
_defineProperty(_assertThisInitialized(_this), "close", void 0);
|
|
73
|
+
_this.group = new Group();
|
|
74
|
+
// 属性赋值
|
|
75
|
+
_this.setValues(_.mergeWith({}, defaultOption, option));
|
|
76
|
+
return _this;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// 注册样式
|
|
80
|
+
_createClass(Base, [{
|
|
81
|
+
key: "registerStrategy",
|
|
82
|
+
value: function () {
|
|
83
|
+
var _registerStrategy = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(style) {
|
|
84
|
+
var strategyClass;
|
|
85
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
86
|
+
while (1) switch (_context.prev = _context.next) {
|
|
87
|
+
case 0:
|
|
88
|
+
strategyClass = StrategyManage[style];
|
|
89
|
+
if (!strategyClass) {
|
|
90
|
+
_context.next = 7;
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
_context.next = 4;
|
|
94
|
+
return strategyClass();
|
|
95
|
+
case 4:
|
|
96
|
+
return _context.abrupt("return", _context.sent);
|
|
97
|
+
case 7:
|
|
98
|
+
throw new Error("Style ".concat(style, " not found"));
|
|
99
|
+
case 8:
|
|
100
|
+
case "end":
|
|
101
|
+
return _context.stop();
|
|
102
|
+
}
|
|
103
|
+
}, _callee);
|
|
104
|
+
}));
|
|
105
|
+
function registerStrategy(_x) {
|
|
106
|
+
return _registerStrategy.apply(this, arguments);
|
|
107
|
+
}
|
|
108
|
+
return registerStrategy;
|
|
109
|
+
}()
|
|
110
|
+
}, {
|
|
111
|
+
key: "getCurrentStyle",
|
|
112
|
+
value: function getCurrentStyle() {
|
|
113
|
+
var currentFenceStyle = '';
|
|
114
|
+
var currentFillAreaStyle = '';
|
|
115
|
+
if (this.style === 'area_dynamic_mode') {
|
|
116
|
+
currentFenceStyle = this.fenceStyle;
|
|
117
|
+
currentFillAreaStyle = this._fillAreaStyle;
|
|
118
|
+
} else {
|
|
119
|
+
var _STYLE_DATA$this$styl = _slicedToArray(STYLE_DATA[this.style], 2);
|
|
120
|
+
currentFenceStyle = _STYLE_DATA$this$styl[0];
|
|
121
|
+
currentFillAreaStyle = _STYLE_DATA$this$styl[1];
|
|
122
|
+
}
|
|
123
|
+
return {
|
|
124
|
+
currentFenceStyle: currentFenceStyle,
|
|
125
|
+
currentFillAreaStyle: currentFillAreaStyle
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
}, {
|
|
129
|
+
key: "create",
|
|
130
|
+
value: function () {
|
|
131
|
+
var _create = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
132
|
+
var _this$getCurrentStyle, currentFenceStyle, currentFillAreaStyle;
|
|
133
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
134
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
135
|
+
case 0:
|
|
136
|
+
_this$getCurrentStyle = this.getCurrentStyle(), currentFenceStyle = _this$getCurrentStyle.currentFenceStyle, currentFillAreaStyle = _this$getCurrentStyle.currentFillAreaStyle;
|
|
137
|
+
if (!currentFenceStyle) {
|
|
138
|
+
_context2.next = 7;
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
_context2.next = 4;
|
|
142
|
+
return this.createFence(this.points, currentFenceStyle, this.corner, this.close, this.fenceHeight, this.fenceColor, this.fenceAlpha);
|
|
143
|
+
case 4:
|
|
144
|
+
this.fenceMesh = _context2.sent;
|
|
145
|
+
this.fenceMesh.visible = this.fenceVisible;
|
|
146
|
+
this.group.add(this.fenceMesh);
|
|
147
|
+
case 7:
|
|
148
|
+
if (!currentFillAreaStyle) {
|
|
149
|
+
_context2.next = 13;
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
_context2.next = 10;
|
|
153
|
+
return this.createFillArea(this.points, currentFillAreaStyle, this.corner, this.close, this.fillAreaColor, this.fillAreaAlpha, this.fillAreaPos);
|
|
154
|
+
case 10:
|
|
155
|
+
this.fillAreaMesh = _context2.sent;
|
|
156
|
+
this.fillAreaMesh.visible = this.fillAreaVisible;
|
|
157
|
+
this.group.add(this.fillAreaMesh);
|
|
158
|
+
case 13:
|
|
159
|
+
this.add(this.group);
|
|
160
|
+
case 14:
|
|
161
|
+
case "end":
|
|
162
|
+
return _context2.stop();
|
|
163
|
+
}
|
|
164
|
+
}, _callee2, this);
|
|
165
|
+
}));
|
|
166
|
+
function create() {
|
|
167
|
+
return _create.apply(this, arguments);
|
|
168
|
+
}
|
|
169
|
+
return create;
|
|
170
|
+
}() // 创建围栏
|
|
171
|
+
}, {
|
|
172
|
+
key: "createFence",
|
|
173
|
+
value: function () {
|
|
174
|
+
var _createFence = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(points, style, corner, close, height, color, alpha) {
|
|
175
|
+
var Strategy, option;
|
|
176
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
177
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
178
|
+
case 0:
|
|
179
|
+
_context3.next = 2;
|
|
180
|
+
return this.registerStrategy(style);
|
|
181
|
+
case 2:
|
|
182
|
+
Strategy = _context3.sent;
|
|
183
|
+
option = {
|
|
184
|
+
points: points,
|
|
185
|
+
height: height,
|
|
186
|
+
corner: corner,
|
|
187
|
+
close: close,
|
|
188
|
+
color: color,
|
|
189
|
+
alpha: alpha
|
|
190
|
+
};
|
|
191
|
+
return _context3.abrupt("return", new Strategy(option));
|
|
192
|
+
case 5:
|
|
193
|
+
case "end":
|
|
194
|
+
return _context3.stop();
|
|
195
|
+
}
|
|
196
|
+
}, _callee3, this);
|
|
197
|
+
}));
|
|
198
|
+
function createFence(_x2, _x3, _x4, _x5, _x6, _x7, _x8) {
|
|
199
|
+
return _createFence.apply(this, arguments);
|
|
200
|
+
}
|
|
201
|
+
return createFence;
|
|
202
|
+
}() // 创建封底
|
|
203
|
+
}, {
|
|
204
|
+
key: "createFillArea",
|
|
205
|
+
value: function () {
|
|
206
|
+
var _createFillArea = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(points, style, corner, close, color, alpha, pos) {
|
|
207
|
+
var Strategy, option, mesh;
|
|
208
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
209
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
210
|
+
case 0:
|
|
211
|
+
_context4.next = 2;
|
|
212
|
+
return this.registerStrategy(style);
|
|
213
|
+
case 2:
|
|
214
|
+
Strategy = _context4.sent;
|
|
215
|
+
option = {
|
|
216
|
+
points: points,
|
|
217
|
+
color: color,
|
|
218
|
+
alpha: alpha,
|
|
219
|
+
corner: corner,
|
|
220
|
+
close: close
|
|
221
|
+
};
|
|
222
|
+
mesh = new Strategy(option);
|
|
223
|
+
mesh.position.y = pos === 'bottom' ? 0 : this.fenceHeight;
|
|
224
|
+
return _context4.abrupt("return", mesh);
|
|
225
|
+
case 7:
|
|
226
|
+
case "end":
|
|
227
|
+
return _context4.stop();
|
|
228
|
+
}
|
|
229
|
+
}, _callee4, this);
|
|
230
|
+
}));
|
|
231
|
+
function createFillArea(_x9, _x10, _x11, _x12, _x13, _x14, _x15) {
|
|
232
|
+
return _createFillArea.apply(this, arguments);
|
|
233
|
+
}
|
|
234
|
+
return createFillArea;
|
|
235
|
+
}() // 重置围栏
|
|
236
|
+
}, {
|
|
237
|
+
key: "resetFence",
|
|
238
|
+
value: function () {
|
|
239
|
+
var _resetFence = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
240
|
+
var _this$getCurrentStyle2, currentFenceStyle;
|
|
241
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
242
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
243
|
+
case 0:
|
|
244
|
+
if (!this.fenceMesh) {
|
|
245
|
+
_context5.next = 7;
|
|
246
|
+
break;
|
|
247
|
+
}
|
|
248
|
+
this.group.remove(this.fenceMesh);
|
|
249
|
+
_this$getCurrentStyle2 = this.getCurrentStyle(), currentFenceStyle = _this$getCurrentStyle2.currentFenceStyle;
|
|
250
|
+
_context5.next = 5;
|
|
251
|
+
return this.createFence(this.points, currentFenceStyle, this.corner, this.close, this.fenceHeight, this.fenceColor, this.fenceAlpha);
|
|
252
|
+
case 5:
|
|
253
|
+
this.fenceMesh = _context5.sent;
|
|
254
|
+
this.group.add(this.fenceMesh);
|
|
255
|
+
case 7:
|
|
256
|
+
case "end":
|
|
257
|
+
return _context5.stop();
|
|
258
|
+
}
|
|
259
|
+
}, _callee5, this);
|
|
260
|
+
}));
|
|
261
|
+
function resetFence() {
|
|
262
|
+
return _resetFence.apply(this, arguments);
|
|
263
|
+
}
|
|
264
|
+
return resetFence;
|
|
265
|
+
}() // 重置封底
|
|
266
|
+
}, {
|
|
267
|
+
key: "resetFillArea",
|
|
268
|
+
value: function () {
|
|
269
|
+
var _resetFillArea = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
|
|
270
|
+
var _this$getCurrentStyle3, currentFillAreaStyle;
|
|
271
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
272
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
273
|
+
case 0:
|
|
274
|
+
if (!this.fillAreaMesh) {
|
|
275
|
+
_context6.next = 7;
|
|
276
|
+
break;
|
|
277
|
+
}
|
|
278
|
+
this.group.remove(this.fillAreaMesh);
|
|
279
|
+
_this$getCurrentStyle3 = this.getCurrentStyle(), currentFillAreaStyle = _this$getCurrentStyle3.currentFillAreaStyle;
|
|
280
|
+
_context6.next = 5;
|
|
281
|
+
return this.createFillArea(this.points, currentFillAreaStyle, this.corner, this.close, this.fillAreaColor, this.fillAreaAlpha, this.fillAreaPos);
|
|
282
|
+
case 5:
|
|
283
|
+
this.fillAreaMesh = _context6.sent;
|
|
284
|
+
this.group.add(this.fillAreaMesh);
|
|
285
|
+
case 7:
|
|
286
|
+
case "end":
|
|
287
|
+
return _context6.stop();
|
|
288
|
+
}
|
|
289
|
+
}, _callee6, this);
|
|
290
|
+
}));
|
|
291
|
+
function resetFillArea() {
|
|
292
|
+
return _resetFillArea.apply(this, arguments);
|
|
293
|
+
}
|
|
294
|
+
return resetFillArea;
|
|
295
|
+
}() // Getter and Setter for fenceStyle property
|
|
296
|
+
}, {
|
|
297
|
+
key: "fenceStyle",
|
|
298
|
+
get: function get() {
|
|
299
|
+
return this._fenceStyle;
|
|
300
|
+
},
|
|
301
|
+
set: function set(newValue) {
|
|
302
|
+
if (this._fenceStyle === newValue) return;
|
|
303
|
+
this._fenceStyle = newValue;
|
|
304
|
+
this.resetFence();
|
|
305
|
+
}
|
|
306
|
+
}, {
|
|
307
|
+
key: "fenceVisible",
|
|
308
|
+
get: function get() {
|
|
309
|
+
return this._fenceVisible;
|
|
310
|
+
},
|
|
311
|
+
set: function set(newValue) {
|
|
312
|
+
if (this.fenceVisible === newValue) return;
|
|
313
|
+
this._fenceVisible = newValue;
|
|
314
|
+
// 此处应该修改fence的Visible
|
|
315
|
+
if (this.fenceMesh) this.fenceMesh.visible = newValue;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
// Getter and Setter for fenceHeight property
|
|
319
|
+
}, {
|
|
320
|
+
key: "fenceHeight",
|
|
321
|
+
get: function get() {
|
|
322
|
+
return this._fenceHeight;
|
|
323
|
+
},
|
|
324
|
+
set: function set(newValue) {
|
|
325
|
+
if (this._fenceHeight === newValue) return;
|
|
326
|
+
this._fenceHeight = newValue;
|
|
327
|
+
this.resetFence();
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
// Getter and Setter for fenceAlpha property
|
|
331
|
+
}, {
|
|
332
|
+
key: "fenceAlpha",
|
|
333
|
+
get: function get() {
|
|
334
|
+
return this._fenceAlpha;
|
|
335
|
+
},
|
|
336
|
+
set: function set(newValue) {
|
|
337
|
+
if (this._fenceAlpha === newValue) return;
|
|
338
|
+
this._fenceAlpha = newValue;
|
|
339
|
+
if (this.fenceMesh) this.fenceMesh.alpha = newValue;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
// Getter and Setter for fenceColor property
|
|
343
|
+
}, {
|
|
344
|
+
key: "fenceColor",
|
|
345
|
+
get: function get() {
|
|
346
|
+
return this._fenceColor;
|
|
347
|
+
},
|
|
348
|
+
set: function set(newValue) {
|
|
349
|
+
if (this._fenceColor === newValue) return;
|
|
350
|
+
this._fenceColor = newValue;
|
|
351
|
+
if (this.fenceMesh) this.fenceMesh.color = newValue;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
// Getter and Setter for fillAreaStyle property
|
|
355
|
+
}, {
|
|
356
|
+
key: "fillAreaStyle",
|
|
357
|
+
get: function get() {
|
|
358
|
+
return this._fillAreaStyle;
|
|
359
|
+
},
|
|
360
|
+
set: function set(newValue) {
|
|
361
|
+
if (this._fillAreaStyle === newValue) return;
|
|
362
|
+
this._fillAreaStyle = newValue;
|
|
363
|
+
this.resetFillArea();
|
|
364
|
+
}
|
|
365
|
+
}, {
|
|
366
|
+
key: "fillAreaVisible",
|
|
367
|
+
get: function get() {
|
|
368
|
+
return this._fillAreaVisible;
|
|
369
|
+
},
|
|
370
|
+
set: function set(newValue) {
|
|
371
|
+
if (this._fillAreaVisible === newValue) return;
|
|
372
|
+
this._fillAreaVisible = newValue;
|
|
373
|
+
if (this.fillAreaMesh) this.fillAreaMesh.visible = newValue;
|
|
374
|
+
|
|
375
|
+
// this.resetFillArea()
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
// Getter and Setter for fillAreaAlpha property
|
|
379
|
+
}, {
|
|
380
|
+
key: "fillAreaAlpha",
|
|
381
|
+
get: function get() {
|
|
382
|
+
return this._fillAreaAlpha;
|
|
383
|
+
},
|
|
384
|
+
set: function set(newValue) {
|
|
385
|
+
if (this._fillAreaAlpha === newValue) return;
|
|
386
|
+
this._fillAreaAlpha = newValue;
|
|
387
|
+
if (this.fillAreaMesh) this.fillAreaMesh.alpha = newValue;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
// Getter and Setter for fillAreaColor property
|
|
391
|
+
}, {
|
|
392
|
+
key: "fillAreaColor",
|
|
393
|
+
get: function get() {
|
|
394
|
+
return this._fillAreaColor;
|
|
395
|
+
},
|
|
396
|
+
set: function set(newValue) {
|
|
397
|
+
if (this._fillAreaColor === newValue) return;
|
|
398
|
+
this._fillAreaColor = newValue;
|
|
399
|
+
if (this.fillAreaMesh) this.fillAreaMesh.color = newValue;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
// Getter and Setter for fillAreaPos property
|
|
403
|
+
}, {
|
|
404
|
+
key: "fillAreaPos",
|
|
405
|
+
get: function get() {
|
|
406
|
+
return this._fillAreaPos;
|
|
407
|
+
},
|
|
408
|
+
set: function set(newValue) {
|
|
409
|
+
if (this._fillAreaPos === newValue) return;
|
|
410
|
+
this._fillAreaPos = newValue;
|
|
411
|
+
this.resetFillArea();
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
// Getter and Setter for surfaceSnap property
|
|
415
|
+
}, {
|
|
416
|
+
key: "surfaceSnap",
|
|
417
|
+
get: function get() {
|
|
418
|
+
return this._surfaceSnap;
|
|
419
|
+
},
|
|
420
|
+
set: function set(newValue) {
|
|
421
|
+
if (this._surfaceSnap === newValue) return;
|
|
422
|
+
this._surfaceSnap = newValue;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
// Getter and Setter for path property
|
|
426
|
+
}, {
|
|
427
|
+
key: "path",
|
|
428
|
+
get: function get() {
|
|
429
|
+
return this._path;
|
|
430
|
+
},
|
|
431
|
+
set: function set(newValue) {
|
|
432
|
+
if (this._path === newValue) return;
|
|
433
|
+
|
|
434
|
+
// 确保 newValue 符合预期结构
|
|
435
|
+
if (newValue && Array.isArray(newValue.points) && newValue.points.length >= 3) {
|
|
436
|
+
var points = newValue.points,
|
|
437
|
+
corner = newValue.corner,
|
|
438
|
+
close = newValue.close;
|
|
439
|
+
this._path = newValue; // 更新 _path
|
|
440
|
+
this.points = points.map(function (v) {
|
|
441
|
+
return new Vector3(v.position[0], v.position[1], v.position[2]);
|
|
442
|
+
}); // 使用 points 创建 Vector3 对象
|
|
443
|
+
this.corner = corner; // 更新圆角
|
|
444
|
+
this.close = close; // 更新闭合状态
|
|
445
|
+
this.resetFence(); // 调用重置围栏方法
|
|
446
|
+
this.resetFillArea(); // 调用重置底座方法
|
|
447
|
+
} else {
|
|
448
|
+
console.error('Invalid path data: Ensure points has at least 3 elements');
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
}]);
|
|
452
|
+
return Base;
|
|
453
|
+
}(ObjectLayer);
|
|
454
|
+
export default Base;
|
|
455
|
+
//# sourceMappingURL=BaseClass.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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","_inherits","subClass","superClass","_setPrototypeOf","bind","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","Group","Vector3","_","ObjectLayer","StrategyManage","STYLE_DATA","area_base_01","area_feeting_01","area_roll_01","defaultOption","style","fenceStyle","fenceVisible","fenceHeight","fenceAlpha","fenceColor","fillAreaStyle","fillAreaVisible","fillAreaAlpha","fillAreaColor","fillAreaPos","surfaceSnap","Base","_ObjectLayer","_super","option","_this","group","setValues","mergeWith","_registerStrategy","_callee","strategyClass","_callee$","_context","concat","registerStrategy","_x","getCurrentStyle","currentFenceStyle","currentFillAreaStyle","_fillAreaStyle","_STYLE_DATA$this$styl","_slicedToArray","_create","_callee2","_this$getCurrentStyle","_callee2$","_context2","createFence","points","corner","close","fenceMesh","visible","add","createFillArea","fillAreaMesh","_createFence","_callee3","height","color","alpha","Strategy","_callee3$","_context3","_x2","_x3","_x4","_x5","_x6","_x7","_x8","_createFillArea","_callee4","pos","mesh","_callee4$","_context4","position","_x9","_x10","_x11","_x12","_x13","_x14","_x15","_resetFence","_callee5","_this$getCurrentStyle2","_callee5$","_context5","remove","resetFence","_resetFillArea","_callee6","_this$getCurrentStyle3","_callee6$","_context6","resetFillArea","get","_fenceStyle","set","newValue","_fenceVisible","_fenceHeight","_fenceAlpha","_fenceColor","_fillAreaVisible","_fillAreaAlpha","_fillAreaColor","_fillAreaPos","_surfaceSnap","_path","Array","isArray","map","console"],"sources":["../../../src/business/Area/BaseClass.ts"],"sourcesContent":["import { Group, Vector3 } from '@anov/3d-core'\nimport _ from 'lodash'\nimport ObjectLayer from '../Base/ObjectLayer'\nimport { StrategyManage } from './strategy'\nimport type { Option } from './type'\n\nimport type FenceBase from './Fence/FenceBase'\nimport type FillAreaBase from './FillArea/FillAreaBase'\n\nconst STYLE_DATA = {\n area_base_01: ['base', ''],\n area_feeting_01: ['feeting', ''],\n area_roll_01: ['roll', ''],\n}\nconst defaultOption = {\n style: 'area_dynamic_mode',\n fenceStyle: 'base',\n fenceVisible: true,\n fenceHeight: 50,\n fenceAlpha: 1,\n fenceColor: '#00FFB5',\n fillAreaStyle: 'face',\n fillAreaVisible: false,\n fillAreaAlpha: 1,\n fillAreaColor: '#00FFB5',\n fillAreaPos: 'bottom',\n surfaceSnap: false,\n}\n\nclass Base extends ObjectLayer {\n public group!: Group\n public fenceMesh!: FenceBase\n public style: string\n public fillAreaMesh!: FillAreaBase\n private _fenceStyle: string\n private _fenceVisible: boolean\n private _fenceHeight: number\n private _fenceAlpha: number\n private _fenceColor: string\n private _fillAreaStyle: string\n private _fillAreaVisible: boolean\n private _fillAreaAlpha: number\n private _fillAreaColor: string\n private _fillAreaPos: string\n private _surfaceSnap: boolean\n private _path: Option['path']\n public points!: Vector3[]\n public corner: number\n public close: boolean\n\n constructor(option: Option) {\n super()\n this.group = new Group()\n // 属性赋值\n this.setValues(_.mergeWith({}, defaultOption, option))\n }\n\n // 注册样式\n async registerStrategy(style) {\n const strategyClass = StrategyManage[style]\n if (strategyClass)\n return await strategyClass()\n\n else\n throw new Error(`Style ${style} not found`)\n }\n\n getCurrentStyle() {\n let currentFenceStyle = ''\n let currentFillAreaStyle = ''\n if (this.style === 'area_dynamic_mode') {\n currentFenceStyle = this.fenceStyle\n currentFillAreaStyle = this._fillAreaStyle\n }\n else {\n [currentFenceStyle, currentFillAreaStyle] = STYLE_DATA[this.style]\n }\n return { currentFenceStyle, currentFillAreaStyle }\n }\n\n async create() {\n const { currentFenceStyle, currentFillAreaStyle } = this.getCurrentStyle()\n if (currentFenceStyle) {\n // 创建围栏\n this.fenceMesh = await this.createFence(this.points, currentFenceStyle, this.corner, this.close, this.fenceHeight, this.fenceColor, this.fenceAlpha)\n this.fenceMesh.visible = this.fenceVisible\n this.group.add(this.fenceMesh)\n }\n if (currentFillAreaStyle) {\n // 创建底座\n this.fillAreaMesh = await this.createFillArea(this.points, currentFillAreaStyle, this.corner, this.close, this.fillAreaColor, this.fillAreaAlpha, this.fillAreaPos)\n this.fillAreaMesh.visible = this.fillAreaVisible\n this.group.add(this.fillAreaMesh)\n }\n this.add(this.group)\n }\n\n // 创建围栏\n async createFence(points: Vector3[], style: string, corner: number, close: boolean, height: number, color: string, alpha: number) {\n const Strategy = await this.registerStrategy(style)\n const option = {\n points,\n height,\n corner,\n close,\n color,\n alpha,\n }\n return new Strategy(option)\n }\n\n // 创建封底\n async createFillArea(points: Vector3[], style: string, corner: number, close: boolean, color: string, alpha: number, pos: string) {\n const Strategy = await this.registerStrategy(style)\n const option = {\n points,\n color,\n alpha,\n corner,\n close,\n }\n const mesh = new Strategy(option)\n mesh.position.y = pos === 'bottom' ? 0 : this.fenceHeight\n return mesh\n }\n\n // 重置围栏\n async resetFence() {\n if (this.fenceMesh) {\n this.group.remove(this.fenceMesh)\n const { currentFenceStyle } = this.getCurrentStyle()\n this.fenceMesh = await this.createFence(this.points, currentFenceStyle, this.corner, this.close, this.fenceHeight, this.fenceColor, this.fenceAlpha)\n this.group.add(this.fenceMesh)\n }\n }\n\n // 重置封底\n async resetFillArea() {\n if (this.fillAreaMesh) {\n this.group.remove(this.fillAreaMesh)\n const { currentFillAreaStyle } = this.getCurrentStyle()\n this.fillAreaMesh = await this.createFillArea(this.points, currentFillAreaStyle, this.corner, this.close, this.fillAreaColor, this.fillAreaAlpha, this.fillAreaPos)\n this.group.add(this.fillAreaMesh)\n }\n }\n\n // Getter and Setter for fenceStyle property\n\n get fenceStyle(): string {\n return this._fenceStyle\n }\n\n set fenceStyle(newValue: string) {\n if (this._fenceStyle === newValue)\n return\n\n this._fenceStyle = newValue\n this.resetFence()\n }\n\n get fenceVisible(): boolean {\n return this._fenceVisible\n }\n\n set fenceVisible(newValue: boolean) {\n if (this.fenceVisible === newValue)\n return\n\n this._fenceVisible = newValue\n // 此处应该修改fence的Visible\n if (this.fenceMesh)\n this.fenceMesh.visible = newValue\n }\n\n // Getter and Setter for fenceHeight property\n get fenceHeight(): number {\n return this._fenceHeight\n }\n\n set fenceHeight(newValue: number) {\n if (this._fenceHeight === newValue)\n return\n\n this._fenceHeight = newValue\n this.resetFence()\n }\n\n // Getter and Setter for fenceAlpha property\n get fenceAlpha(): number {\n return this._fenceAlpha\n }\n\n set fenceAlpha(newValue: number) {\n if (this._fenceAlpha === newValue)\n return\n\n this._fenceAlpha = newValue\n if (this.fenceMesh)\n this.fenceMesh.alpha = newValue\n }\n\n // Getter and Setter for fenceColor property\n get fenceColor(): string {\n return this._fenceColor\n }\n\n set fenceColor(newValue: string) {\n if (this._fenceColor === newValue)\n return\n\n this._fenceColor = newValue\n if (this.fenceMesh)\n this.fenceMesh.color = newValue\n }\n\n // Getter and Setter for fillAreaStyle property\n get fillAreaStyle(): string {\n return this._fillAreaStyle\n }\n\n set fillAreaStyle(newValue: string) {\n if (this._fillAreaStyle === newValue)\n return\n\n this._fillAreaStyle = newValue\n this.resetFillArea()\n }\n\n get fillAreaVisible(): boolean {\n return this._fillAreaVisible\n }\n\n set fillAreaVisible(newValue: boolean) {\n if (this._fillAreaVisible === newValue)\n return\n\n this._fillAreaVisible = newValue\n if (this.fillAreaMesh)\n this.fillAreaMesh.visible = newValue\n\n // this.resetFillArea()\n }\n\n // Getter and Setter for fillAreaAlpha property\n get fillAreaAlpha(): number {\n return this._fillAreaAlpha\n }\n\n set fillAreaAlpha(newValue: number) {\n if (this._fillAreaAlpha === newValue)\n return\n this._fillAreaAlpha = newValue\n\n if (this.fillAreaMesh)\n this.fillAreaMesh.alpha = newValue\n }\n\n // Getter and Setter for fillAreaColor property\n get fillAreaColor(): string {\n return this._fillAreaColor\n }\n\n set fillAreaColor(newValue: string) {\n if (this._fillAreaColor === newValue)\n return\n\n this._fillAreaColor = newValue\n if (this.fillAreaMesh)\n this.fillAreaMesh.color = newValue\n }\n\n // Getter and Setter for fillAreaPos property\n get fillAreaPos(): string {\n return this._fillAreaPos\n }\n\n set fillAreaPos(newValue: string) {\n if (this._fillAreaPos === newValue)\n return\n\n this._fillAreaPos = newValue\n this.resetFillArea()\n }\n\n // Getter and Setter for surfaceSnap property\n get surfaceSnap(): boolean {\n return this._surfaceSnap\n }\n\n set surfaceSnap(newValue: boolean) {\n if (this._surfaceSnap === newValue)\n return\n\n this._surfaceSnap = newValue\n }\n\n // Getter and Setter for path property\n get path(): Option['path'] {\n return this._path\n }\n\n set path(newValue: Option['path']) {\n if (this._path === newValue)\n return\n\n // 确保 newValue 符合预期结构\n if (newValue && Array.isArray(newValue.points) && newValue.points.length >= 3) {\n const { points, corner, close } = newValue\n\n this._path = newValue // 更新 _path\n this.points = points.map(v => new Vector3(v.position[0], v.position[1], v.position[2])) // 使用 points 创建 Vector3 对象\n this.corner = corner // 更新圆角\n this.close = close // 更新闭合状态\n this.resetFence() // 调用重置围栏方法\n this.resetFillArea() // 调用重置底座方法\n }\n else {\n console.error('Invalid path data: Ensure points has at least 3 elements')\n }\n }\n}\n\nexport default Base"],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Mesh, Vector3 } from '@anov/3d-core';
|
|
2
|
+
import ObjectLayer from '../../Base/ObjectLayer';
|
|
3
|
+
import type { fenceOption } from '../type';
|
|
4
|
+
declare class FenceBase extends ObjectLayer {
|
|
5
|
+
mesh: Mesh;
|
|
6
|
+
_height: number;
|
|
7
|
+
_alpha: number;
|
|
8
|
+
_color: string;
|
|
9
|
+
_corner: number;
|
|
10
|
+
_close: boolean;
|
|
11
|
+
points: Vector3[];
|
|
12
|
+
constructor(option: fenceOption);
|
|
13
|
+
get height(): number;
|
|
14
|
+
set height(newValue: number);
|
|
15
|
+
get color(): string;
|
|
16
|
+
set color(newValue: string);
|
|
17
|
+
get alpha(): number;
|
|
18
|
+
set alpha(newValue: number);
|
|
19
|
+
get corner(): number;
|
|
20
|
+
set corner(newValue: number);
|
|
21
|
+
get close(): boolean;
|
|
22
|
+
set close(newValue: boolean);
|
|
23
|
+
}
|
|
24
|
+
export default FenceBase;
|