@anov/3d-ability 0.0.79 → 0.0.81

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.
@@ -8,8 +8,12 @@ export declare class MaterialSwitchSystem extends Object3D implements MaterialSw
8
8
  type: MaterialSwitchType;
9
9
  originalMaterial: Map<any, any>;
10
10
  private objects;
11
+ private oldObjects;
12
+ private RealObjects;
13
+ private FrameObjects;
14
+ private PureObjects;
15
+ private FresnelObjects;
11
16
  private frame;
12
- private box3;
13
17
  uniforms: {
14
18
  progress: {
15
19
  value: number;
@@ -30,9 +34,9 @@ export declare class MaterialSwitchSystem extends Object3D implements MaterialSw
30
34
  value: number;
31
35
  };
32
36
  };
33
- private objectMap;
34
- constructor(objects: Object3D[]);
37
+ constructor();
35
38
  private generate;
39
+ private allHide;
36
40
  /**
37
41
  * switch type
38
42
  * @param type
@@ -12,7 +12,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
12
12
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
13
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
14
14
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
15
- import { Box3, Color, Group, MeshBasicMaterial, Object3D, Vector3, gsap } from '@anov/3d-core';
15
+ import { Box3, Object3D, Vector3, gsap } from '@anov/3d-core';
16
16
  import { injectToBaseWrite, injectToFinirMaterial, injectToFrameFade, injectToRealFade } from "./inject";
17
17
  /**
18
18
  * 材质切换系统
@@ -20,15 +20,19 @@ import { injectToBaseWrite, injectToFinirMaterial, injectToFrameFade, injectToRe
20
20
  export var MaterialSwitchSystem = /*#__PURE__*/function (_Object3D) {
21
21
  _inherits(MaterialSwitchSystem, _Object3D);
22
22
  var _super = _createSuper(MaterialSwitchSystem);
23
- function MaterialSwitchSystem(objects) {
23
+ function MaterialSwitchSystem() {
24
24
  var _this;
25
25
  _classCallCheck(this, MaterialSwitchSystem);
26
26
  _this = _super.call(this);
27
27
  _defineProperty(_assertThisInitialized(_this), "type", 'Real');
28
28
  _defineProperty(_assertThisInitialized(_this), "originalMaterial", new Map());
29
- _defineProperty(_assertThisInitialized(_this), "objects", []);
29
+ _defineProperty(_assertThisInitialized(_this), "objects", new Map());
30
+ _defineProperty(_assertThisInitialized(_this), "oldObjects", new Map());
31
+ _defineProperty(_assertThisInitialized(_this), "RealObjects", new Map());
32
+ _defineProperty(_assertThisInitialized(_this), "FrameObjects", new Map());
33
+ _defineProperty(_assertThisInitialized(_this), "PureObjects", new Map());
34
+ _defineProperty(_assertThisInitialized(_this), "FresnelObjects", new Map());
30
35
  _defineProperty(_assertThisInitialized(_this), "frame", null);
31
- _defineProperty(_assertThisInitialized(_this), "box3", new Box3());
32
36
  _defineProperty(_assertThisInitialized(_this), "uniforms", {
33
37
  progress: {
34
38
  value: 0.0
@@ -49,8 +53,6 @@ export var MaterialSwitchSystem = /*#__PURE__*/function (_Object3D) {
49
53
  value: 0
50
54
  }
51
55
  });
52
- _defineProperty(_assertThisInitialized(_this), "objectMap", new Map());
53
- _this.objects = objects;
54
56
  _this.generate();
55
57
  return _this;
56
58
  }
@@ -62,21 +64,25 @@ export var MaterialSwitchSystem = /*#__PURE__*/function (_Object3D) {
62
64
  this.uniforms.isFresnelFadeIn.value = false;
63
65
  this.uniforms.isPureFadeIn.value = false;
64
66
  this.uniforms.isFrameFadeIn.value = false;
65
- var oldObject = new Group();
66
- var finalObject = new Group();
67
- var frameObject = new Group();
68
- var pureObject = new Group();
69
- var realObject = new Group();
70
- this.add(oldObject);
71
- this.add(finalObject);
72
- this.add(frameObject);
73
- this.add(pureObject);
74
- this.add(realObject);
75
- this.objectMap.set('Fresnel', finalObject);
76
- this.objectMap.set('Pure', pureObject);
77
- this.objectMap.set('Frame', frameObject);
78
- this.objectMap.set('Real', realObject);
79
- this.objectMap.set('Old', oldObject);
67
+ }
68
+ }, {
69
+ key: "allHide",
70
+ value: function allHide() {
71
+ this.oldObjects.forEach(function (object) {
72
+ object.visible = false;
73
+ });
74
+ this.RealObjects.forEach(function (object) {
75
+ object.visible = false;
76
+ });
77
+ this.FrameObjects.forEach(function (object) {
78
+ object.visible = false;
79
+ });
80
+ this.PureObjects.forEach(function (object) {
81
+ object.visible = false;
82
+ });
83
+ this.FresnelObjects.forEach(function (object) {
84
+ object.visible = false;
85
+ });
80
86
  }
81
87
 
82
88
  /**
@@ -90,23 +96,36 @@ export var MaterialSwitchSystem = /*#__PURE__*/function (_Object3D) {
90
96
  _this2 = this;
91
97
  if (this.type === type) return;
92
98
  (_this$frame = this.frame) === null || _this$frame === void 0 || _this$frame.kill();
93
- this.objectMap.forEach(function (object) {
94
- object.visible = false;
99
+ this.allHide();
100
+ this["".concat(type, "Objects")].forEach(function (object) {
101
+ object.visible = true;
102
+ });
103
+ this["".concat(this.type, "Objects")].forEach(function (object) {
104
+ object.visible = true;
95
105
  });
96
- this.objectMap.get(type).visible = true;
97
- this.objectMap.get(this.type).visible = true;
98
106
  this.uniforms.progress.value = 0.0;
99
107
  this.uniforms["is".concat(this.type, "FadeIn")].value = false;
100
108
  this.uniforms["is".concat(type, "FadeIn")].value = true;
109
+ var lastType = this.type;
101
110
  this.frame = gsap.to(this.uniforms.progress, {
102
111
  value: 1.0,
103
112
  duration: 2.0,
104
113
  ease: 'linear',
105
114
  onComplete: function onComplete() {
106
- if (type === 'Real') {
107
- _this2.objectMap.get('Old').visible = true;
108
- _this2.objectMap.get('Real').visible = false;
109
- }
115
+ _this2["".concat(lastType, "Objects")].forEach(function (object) {
116
+ object.visible = false;
117
+ });
118
+
119
+ // if (type === 'Real') {
120
+ // this.oldObjects.forEach((object) => {
121
+ // object.visible = true
122
+ // })
123
+
124
+ // this.RealObjects.forEach((object) => {
125
+ // object.visible = false
126
+ // })
127
+ // }
128
+
110
129
  _this2.dispatchEvent({
111
130
  type: 'onStyleChanged',
112
131
  style: type
@@ -124,42 +143,34 @@ export var MaterialSwitchSystem = /*#__PURE__*/function (_Object3D) {
124
143
  key: "addObject",
125
144
  value: function addObject(object) {
126
145
  var _this3 = this;
127
- if (this.type === 'Real') {
128
- this.objectMap.get('Old').visible = true;
129
- this.objectMap.get('Real').visible = false;
130
- }
131
- this.objects.push(object);
132
- var oldObject = object.clone();
133
- this.objectMap.get('Old').add(oldObject);
134
- var realObject = object.clone();
135
- this.generateRealObject(realObject);
136
- this.objectMap.get('Real').add(realObject);
146
+ this.switchType('Real');
147
+ this.objects.set(object.uuid, object);
137
148
  var finalObject = object.clone();
138
149
  this.generateFinalObject(finalObject);
139
- this.objectMap.get('Fresnel').add(finalObject);
150
+ this.FresnelObjects.set(object.uuid, finalObject);
151
+ this.add(finalObject);
140
152
  var pureObject = object.clone();
141
153
  this.generatePureObject(pureObject);
142
- this.objectMap.get('Pure').add(pureObject);
154
+ this.PureObjects.set(object.uuid, pureObject);
155
+ this.add(pureObject);
143
156
  var frameObject = object.clone();
144
157
  this.generateFrameObject(frameObject);
145
- this.objectMap.get('Frame').add(frameObject);
158
+ this.FrameObjects.set(object.uuid, frameObject);
159
+ this.add(frameObject);
146
160
  object.traverse(function (child) {
147
161
  if (child.type === 'Mesh') {
148
162
  // only record the first material
149
163
  if (!_this3.originalMaterial.has(child.uuid)) _this3.originalMaterial.set(child.uuid, child.material.clone());
150
- var newMaterial = new MeshBasicMaterial({
151
- color: new Color('#fff'),
152
- transparent: true,
153
- depthTest: false,
154
- depthWrite: false,
155
- opacity: 0
156
- });
157
- child.material = newMaterial;
158
164
  }
159
165
  });
160
- object.userData.old = oldObject;
161
- object.traverse = object.userData.old.traverse;
166
+ var realObject = object;
167
+ this.generateRealObject(realObject);
168
+ this.RealObjects.set(object.uuid, realObject);
162
169
  this.uniforms.maxSize.value = this.getMaxSize();
170
+ this.allHide();
171
+ this.RealObjects.forEach(function (object) {
172
+ object.visible = true;
173
+ });
163
174
  }
164
175
 
165
176
  /**
@@ -169,12 +180,19 @@ export var MaterialSwitchSystem = /*#__PURE__*/function (_Object3D) {
169
180
  }, {
170
181
  key: "removeObject",
171
182
  value: function removeObject(object) {
172
- this.objects.splice(this.objects.indexOf(object), 1);
173
- this.objectMap.forEach(function (cloneGroup) {
174
- cloneGroup.children.forEach(function (child) {
175
- if (child.userData.entityParams.id === object.userData.entityParams.id) cloneGroup.remove(child);
176
- });
177
- });
183
+ this.objects.delete(object.uuid);
184
+ var realObject = this.RealObjects.get(object.uuid);
185
+ var frameObject = this.FrameObjects.get(object.uuid);
186
+ var pureObject = this.PureObjects.get(object.uuid);
187
+ var fresnelObject = this.FresnelObjects.get(object.uuid);
188
+ realObject.removeFromParent();
189
+ frameObject.removeFromParent();
190
+ pureObject.removeFromParent();
191
+ fresnelObject.removeFromParent();
192
+ this.RealObjects.delete(object.uuid);
193
+ this.FrameObjects.delete(object.uuid);
194
+ this.PureObjects.delete(object.uuid);
195
+ this.FresnelObjects.delete(object.uuid);
178
196
  this.uniforms.maxSize.value = this.getMaxSize();
179
197
  }
180
198
 
@@ -186,8 +204,11 @@ export var MaterialSwitchSystem = /*#__PURE__*/function (_Object3D) {
186
204
  }, {
187
205
  key: "getMaxSize",
188
206
  value: function getMaxSize() {
189
- this.box3.setFromObject(this.objectMap.get('Real'));
190
- var size = this.box3.getSize(new Vector3());
207
+ var box3 = new Box3();
208
+ this.RealObjects.forEach(function (object) {
209
+ box3.expandByObject(object);
210
+ });
211
+ var size = box3.getSize(new Vector3());
191
212
  var maxSize = Math.max(size.x, size.z);
192
213
  return maxSize;
193
214
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Box3","Color","Group","MeshBasicMaterial","Object3D","Vector3","gsap","injectToBaseWrite","injectToFinirMaterial","injectToFrameFade","injectToRealFade","MaterialSwitchSystem","_Object3D","_inherits","_super","_createSuper","objects","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","Map","progress","value","isFresnelFadeIn","isRealFadeIn","isPureFadeIn","isFrameFadeIn","maxSize","generate","_createClass","key","uniforms","oldObject","finalObject","frameObject","pureObject","realObject","add","objectMap","set","switchType","type","_this$frame","_this2","frame","kill","forEach","object","visible","get","concat","to","duration","ease","onComplete","dispatchEvent","style","addObject","_this3","push","clone","generateRealObject","generateFinalObject","generatePureObject","generateFrameObject","traverse","child","originalMaterial","has","uuid","material","newMaterial","color","transparent","depthTest","depthWrite","opacity","userData","old","getMaxSize","removeObject","splice","indexOf","cloneGroup","children","entityParams","id","remove","box3","setFromObject","size","getSize","Math","max","x","z"],"sources":["../../../src/business/MaterialSwitch/MaterialSwitchSystem.ts"],"sourcesContent":["import { Box3, Color, Group, MeshBasicMaterial, Object3D, Vector3, gsap } from '@anov/3d-core'\nimport { disposeMaterial, injectToBaseWrite, injectToFinirMaterial, injectToFrameFade, injectToRealFade } from './inject'\nimport type { MaterialSwitchSystemInterface } from '.'\n\ntype MaterialSwitchType = 'Real' | 'Fresnel' | 'Frame' | 'Pure'\n\n/**\n * 材质切换系统\n */\nexport class MaterialSwitchSystem extends Object3D implements MaterialSwitchSystemInterface {\n public type: MaterialSwitchType = 'Real'\n public originalMaterial = new Map()\n\n private objects: Object3D[] = []\n private frame: gsap.core.Tween | null = null\n private box3 = new Box3()\n\n public uniforms = {\n progress: { value: 0.0 },\n isFresnelFadeIn: { value: false },\n isRealFadeIn: { value: false },\n isPureFadeIn: { value: false },\n isFrameFadeIn: { value: false },\n maxSize: { value: 0 },\n }\n\n private objectMap = new Map<string, Object3D>()\n\n constructor(objects: Object3D[]) {\n super()\n\n this.objects = objects\n this.generate()\n }\n\n private generate() {\n this.uniforms.progress.value = 1.0\n\n this.uniforms.isRealFadeIn.value = true\n this.uniforms.isFresnelFadeIn.value = false\n this.uniforms.isPureFadeIn.value = false\n this.uniforms.isFrameFadeIn.value = false\n\n const oldObject = new Group()\n const finalObject = new Group()\n const frameObject = new Group()\n const pureObject = new Group()\n const realObject = new Group()\n\n this.add(oldObject)\n this.add(finalObject)\n this.add(frameObject)\n this.add(pureObject)\n this.add(realObject)\n\n this.objectMap.set('Fresnel', finalObject)\n this.objectMap.set('Pure', pureObject)\n this.objectMap.set('Frame', frameObject)\n this.objectMap.set('Real', realObject)\n this.objectMap.set('Old', oldObject)\n }\n\n /**\n * switch type\n * @param type\n */\n public switchType(type: MaterialSwitchType) {\n if (this.type === type)\n return\n\n this.frame?.kill()\n\n this.objectMap.forEach((object) => {\n object.visible = false\n })\n\n this.objectMap.get(type).visible = true\n this.objectMap.get(this.type).visible = true\n\n this.uniforms.progress.value = 0.0\n this.uniforms[`is${this.type}FadeIn`].value = false\n this.uniforms[`is${type}FadeIn`].value = true\n\n this.frame = gsap.to(this.uniforms.progress, {\n value: 1.0,\n duration: 2.0,\n ease: 'linear',\n onComplete: () => {\n if (type === 'Real') {\n this.objectMap.get('Old').visible = true\n this.objectMap.get('Real').visible = false\n }\n\n this.dispatchEvent({\n type: 'onStyleChanged',\n style: type,\n })\n },\n })\n\n this.type = type\n }\n\n /**\n * add object\n * @param object\n */\n public addObject(object: Object3D) {\n if (this.type === 'Real') {\n this.objectMap.get('Old').visible = true\n this.objectMap.get('Real').visible = false\n }\n\n this.objects.push(object)\n\n const oldObject = object.clone()\n this.objectMap.get('Old').add(oldObject)\n\n const realObject = object.clone()\n this.generateRealObject(realObject)\n this.objectMap.get('Real').add(realObject)\n\n const finalObject = object.clone()\n this.generateFinalObject(finalObject)\n this.objectMap.get('Fresnel').add(finalObject)\n\n const pureObject = object.clone()\n this.generatePureObject(pureObject)\n this.objectMap.get('Pure').add(pureObject)\n\n const frameObject = object.clone()\n this.generateFrameObject(frameObject)\n this.objectMap.get('Frame').add(frameObject)\n\n object.traverse((child: any) => {\n if (child.type === 'Mesh') {\n // only record the first material\n if (!this.originalMaterial.has(child.uuid))\n this.originalMaterial.set(child.uuid, child.material.clone())\n const newMaterial = new MeshBasicMaterial({ color: new Color('#fff'), transparent: true, depthTest: false, depthWrite: false, opacity: 0 })\n child.material = newMaterial\n }\n })\n\n object.userData.old = oldObject\n object.traverse = object.userData.old.traverse\n\n this.uniforms.maxSize.value = this.getMaxSize()\n }\n\n /**\n * remove object\n * @param object\n */\n public removeObject(object: Object3D) {\n this.objects.splice(this.objects.indexOf(object), 1)\n\n this.objectMap.forEach((cloneGroup) => {\n cloneGroup.children.forEach((child) => {\n if (child.userData.entityParams.id === object.userData.entityParams.id)\n cloneGroup.remove(child)\n })\n })\n\n this.uniforms.maxSize.value = this.getMaxSize()\n }\n\n /**\n * get max size\n * @param object\n * @returns\n */\n private getMaxSize() {\n this.box3.setFromObject(this.objectMap.get('Real'))\n const size = this.box3.getSize(new Vector3())\n const maxSize = Math.max(size.x, size.z)\n return maxSize\n }\n\n /**\n * generate final object\n * @param object\n */\n private generateFinalObject(object: Object3D) {\n injectToFinirMaterial(object, this.uniforms)\n }\n\n /**\n * generate real object\n * @param object\n */\n private generateRealObject(object: Object3D) {\n injectToRealFade(object, this.uniforms)\n }\n\n /**\n * generate pure object\n * @param object\n */\n private generatePureObject(object: Object3D) {\n injectToBaseWrite(object, this.uniforms)\n }\n\n /**\n * generate frame object\n * @param object\n */\n private generateFrameObject(object: Object3D) {\n injectToFrameFade(object, this.uniforms)\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["Box3","Object3D","Vector3","gsap","injectToBaseWrite","injectToFinirMaterial","injectToFrameFade","injectToRealFade","MaterialSwitchSystem","_Object3D","_inherits","_super","_createSuper","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","Map","progress","value","isFresnelFadeIn","isRealFadeIn","isPureFadeIn","isFrameFadeIn","maxSize","generate","_createClass","key","uniforms","allHide","oldObjects","forEach","object","visible","RealObjects","FrameObjects","PureObjects","FresnelObjects","switchType","type","_this$frame","_this2","frame","kill","concat","lastType","to","duration","ease","onComplete","dispatchEvent","style","addObject","_this3","objects","set","uuid","finalObject","clone","generateFinalObject","add","pureObject","generatePureObject","frameObject","generateFrameObject","traverse","child","originalMaterial","has","material","realObject","generateRealObject","getMaxSize","removeObject","delete","get","fresnelObject","removeFromParent","box3","expandByObject","size","getSize","Math","max","x","z"],"sources":["../../../src/business/MaterialSwitch/MaterialSwitchSystem.ts"],"sourcesContent":["import { Box3, Color, Group, MeshBasicMaterial, Object3D, Vector3, gsap } from '@anov/3d-core'\nimport { disposeMaterial, injectToBaseWrite, injectToFinirMaterial, injectToFrameFade, injectToRealFade } from './inject'\nimport type { MaterialSwitchSystemInterface } from '.'\n\ntype MaterialSwitchType = 'Real' | 'Fresnel' | 'Frame' | 'Pure'\n\n/**\n * 材质切换系统\n */\nexport class MaterialSwitchSystem extends Object3D implements MaterialSwitchSystemInterface {\n public type: MaterialSwitchType = 'Real'\n public originalMaterial = new Map()\n\n private objects = new Map<string, Object3D>()\n private oldObjects = new Map<string, Object3D>()\n private RealObjects = new Map<string, Object3D>()\n private FrameObjects = new Map<string, Object3D>()\n private PureObjects = new Map<string, Object3D>()\n private FresnelObjects = new Map<string, Object3D>()\n\n private frame: gsap.core.Tween | null = null\n public uniforms = {\n progress: { value: 0.0 },\n isFresnelFadeIn: { value: false },\n isRealFadeIn: { value: false },\n isPureFadeIn: { value: false },\n isFrameFadeIn: { value: false },\n maxSize: { value: 0 },\n }\n\n constructor() {\n super()\n\n this.generate()\n }\n\n private generate() {\n this.uniforms.progress.value = 1.0\n\n this.uniforms.isRealFadeIn.value = true\n this.uniforms.isFresnelFadeIn.value = false\n this.uniforms.isPureFadeIn.value = false\n this.uniforms.isFrameFadeIn.value = false\n }\n\n private allHide() {\n this.oldObjects.forEach((object) => {\n object.visible = false\n })\n\n this.RealObjects.forEach((object) => {\n object.visible = false\n })\n\n this.FrameObjects.forEach((object) => {\n object.visible = false\n })\n\n this.PureObjects.forEach((object) => {\n object.visible = false\n })\n\n this.FresnelObjects.forEach((object) => {\n object.visible = false\n })\n }\n\n /**\n * switch type\n * @param type\n */\n public switchType(type: MaterialSwitchType) {\n if (this.type === type)\n return\n\n this.frame?.kill()\n\n this.allHide()\n\n this[`${type}Objects`].forEach((object) => {\n object.visible = true\n })\n\n this[`${this.type}Objects`].forEach((object) => {\n object.visible = true\n })\n\n this.uniforms.progress.value = 0.0\n this.uniforms[`is${this.type}FadeIn`].value = false\n this.uniforms[`is${type}FadeIn`].value = true\n\n const lastType = this.type\n\n this.frame = gsap.to(this.uniforms.progress, {\n value: 1.0,\n duration: 2.0,\n ease: 'linear',\n onComplete: () => {\n this[`${lastType}Objects`].forEach((object) => {\n object.visible = false\n })\n\n // if (type === 'Real') {\n // this.oldObjects.forEach((object) => {\n // object.visible = true\n // })\n\n // this.RealObjects.forEach((object) => {\n // object.visible = false\n // })\n // }\n\n this.dispatchEvent({\n type: 'onStyleChanged',\n style: type,\n })\n },\n })\n\n this.type = type\n }\n\n /**\n * add object\n * @param object\n */\n public addObject(object: Object3D) {\n this.switchType('Real')\n\n this.objects.set(object.uuid, object)\n\n const finalObject = object.clone()\n this.generateFinalObject(finalObject)\n this.FresnelObjects.set(object.uuid, finalObject)\n this.add(finalObject)\n\n const pureObject = object.clone()\n this.generatePureObject(pureObject)\n this.PureObjects.set(object.uuid, pureObject)\n this.add(pureObject)\n\n const frameObject = object.clone()\n this.generateFrameObject(frameObject)\n this.FrameObjects.set(object.uuid, frameObject)\n this.add(frameObject)\n\n object.traverse((child: any) => {\n if (child.type === 'Mesh') {\n // only record the first material\n if (!this.originalMaterial.has(child.uuid))\n this.originalMaterial.set(child.uuid, child.material.clone())\n }\n })\n\n const realObject = object\n this.generateRealObject(realObject)\n this.RealObjects.set(object.uuid, realObject)\n\n this.uniforms.maxSize.value = this.getMaxSize()\n\n this.allHide()\n this.RealObjects.forEach((object) => {\n object.visible = true\n })\n }\n\n /**\n * remove object\n * @param object\n */\n public removeObject(object: Object3D) {\n this.objects.delete(object.uuid)\n\n const realObject = this.RealObjects.get(object.uuid)\n const frameObject = this.FrameObjects.get(object.uuid)\n const pureObject = this.PureObjects.get(object.uuid)\n const fresnelObject = this.FresnelObjects.get(object.uuid)\n\n realObject.removeFromParent()\n frameObject.removeFromParent()\n pureObject.removeFromParent()\n fresnelObject.removeFromParent()\n\n this.RealObjects.delete(object.uuid)\n this.FrameObjects.delete(object.uuid)\n this.PureObjects.delete(object.uuid)\n this.FresnelObjects.delete(object.uuid)\n\n this.uniforms.maxSize.value = this.getMaxSize()\n }\n\n /**\n * get max size\n * @param object\n * @returns\n */\n private getMaxSize() {\n const box3 = new Box3()\n this.RealObjects.forEach((object) => {\n box3.expandByObject(object)\n })\n\n const size = box3.getSize(new Vector3())\n const maxSize = Math.max(size.x, size.z)\n return maxSize\n }\n\n /**\n * generate final object\n * @param object\n */\n private generateFinalObject(object: Object3D) {\n injectToFinirMaterial(object, this.uniforms)\n }\n\n /**\n * generate real object\n * @param object\n */\n private generateRealObject(object: Object3D) {\n injectToRealFade(object, this.uniforms)\n }\n\n /**\n * generate pure object\n * @param object\n */\n private generatePureObject(object: Object3D) {\n injectToBaseWrite(object, this.uniforms)\n }\n\n /**\n * generate frame object\n * @param object\n */\n private generateFrameObject(object: Object3D) {\n injectToFrameFade(object, this.uniforms)\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anov/3d-ability",
3
- "version": "0.0.79",
3
+ "version": "0.0.81",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "MIT",
@@ -16,7 +16,7 @@
16
16
  "package.json"
17
17
  ],
18
18
  "peerDependencies": {
19
- "@anov/3d-core": "^0.0.55"
19
+ "@anov/3d-core": "^0.0.56"
20
20
  },
21
21
  "dependencies": {
22
22
  "@types/suncalc": "^1.9.2",
@@ -32,7 +32,7 @@
32
32
  "devDependencies": {
33
33
  "@types/javascript-state-machine": "^2.4.6",
34
34
  "@types/lodash": "^4.14.196",
35
- "@anov/3d-core": "^0.0.55"
35
+ "@anov/3d-core": "^0.0.56"
36
36
  },
37
37
  "scripts": {
38
38
  "build": "father build",