@anov/3d-ability 0.0.153 → 0.0.155

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.
@@ -1,7 +1,7 @@
1
+ import { Mesh } from '@anov/3d-core';
1
2
  import ObjectLayer from '../Base/ObjectLayer';
2
3
  import type { options } from './types';
3
- import { IBox } from './interface';
4
- import { Mesh } from '@anov/3d-core';
4
+ import type { IBox } from './interface';
5
5
  export declare class Box extends ObjectLayer implements IBox {
6
6
  private mesh;
7
7
  private currentOptions;
@@ -16,7 +16,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
16
16
  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); }
17
17
  /*
18
18
  * @Descripttion: Box 封装
19
- * @version:
19
+ * @version:
20
20
  * @Author: 周志国
21
21
  * @Date: 2025-09-08
22
22
  * @LastEditors: 周志国
@@ -24,9 +24,10 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
24
24
  * @changeLog: 实现立方体对象,支持默认参数、更新与销毁
25
25
  * @FilePath: /anov-3d-webgl/packages/anov-3d-ability/src/business/Box/index.ts
26
26
  */
27
- import ObjectLayer from "../Base/ObjectLayer";
28
- import { BoxGeometry, MeshBasicMaterial, Mesh } from '@anov/3d-core';
27
+
28
+ import { BoxGeometry, Mesh, MeshBasicMaterial } from '@anov/3d-core';
29
29
  import _ from 'lodash';
30
+ import ObjectLayer from "../Base/ObjectLayer";
30
31
  import { defineProps } from "../Utils/defineProps";
31
32
  export var Box = /*#__PURE__*/function (_ObjectLayer) {
32
33
  _inherits(Box, _ObjectLayer);
@@ -61,16 +62,18 @@ export var Box = /*#__PURE__*/function (_ObjectLayer) {
61
62
  _options$material = options.material,
62
63
  material = _options$material === void 0 ? {} : _options$material;
63
64
  var defaultMat = {
64
- color: 0xffffff,
65
+ color: 0xFFFFFF,
65
66
  opacity: 1,
66
67
  transparent: false,
67
68
  wireframe: false,
68
69
  visible: true
69
70
  };
70
71
  var geometry = new BoxGeometry(width, height, length, widthSegment, heightSegment, lengthSegment);
72
+ geometry.translate(0, height / 2, 0);
71
73
  var mat = new MeshBasicMaterial(_objectSpread(_objectSpread({}, defaultMat), material));
72
74
  return new Mesh(geometry, mat);
73
75
  }
76
+
74
77
  /** 更新Box参数 */
75
78
  }, {
76
79
  key: "updateBox",
@@ -83,6 +86,7 @@ export var Box = /*#__PURE__*/function (_ObjectLayer) {
83
86
  this.mesh = this.createBox(this.currentOptions);
84
87
  this.add(this.mesh);
85
88
  }
89
+
86
90
  /** 销毁释放资源 */
87
91
  }, {
88
92
  key: "destroy",
@@ -1 +1 @@
1
- {"version":3,"names":["ObjectLayer","BoxGeometry","MeshBasicMaterial","Mesh","_","defineProps","Box","_ObjectLayer","_inherits","_super","_createSuper","options","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","currentOptions","mesh","createBox","add","_createClass","key","value","_options$width","width","_options$height","height","_options$length","length","_options$widthSegment","widthSegment","_options$heightSegmen","heightSegment","_options$lengthSegmen","lengthSegment","_options$material","material","defaultMat","color","opacity","transparent","wireframe","visible","geometry","mat","_objectSpread","updateBox","mergeWith","remove","dispose","destroy"],"sources":["../../../src/business/Box/index.ts"],"sourcesContent":["/*\n * @Descripttion: Box 封装\n * @version: \n * @Author: 周志国\n * @Date: 2025-09-08\n * @LastEditors: 周志国\n * @LastEditTime: 2025-09-15 10:42:24\n * @changeLog: 实现立方体对象,支持默认参数、更新与销毁\n * @FilePath: /anov-3d-webgl/packages/anov-3d-ability/src/business/Box/index.ts\n */\nimport ObjectLayer from '../Base/ObjectLayer'\nimport type { options } from './types'\nimport { IBox } from './interface'\nimport {\n BoxGeometry,\n MeshBasicMaterial,\n MeshBasicMaterialParameters,\n Mesh,\n} from '@anov/3d-core'\nimport _ from 'lodash'\nimport { defineProps } from '../Utils/defineProps'\nexport class Box extends ObjectLayer implements IBox {\n private mesh!: Mesh\n private currentOptions!: options\n constructor(options: options) {\n super()\n this.currentOptions = options\n this.mesh = this.createBox(options)\n this.add(this.mesh)\n defineProps(\n this,\n ['width', 'height', 'length', 'widthSegment', 'heightSegment', 'lengthSegment'],\n ['wireframe', 'color'],\n 'updateBox'\n )\n }\n createBox(options: options): Mesh {\n const {\n width = 1,\n height = 1,\n length = 1,\n widthSegment = 1,\n heightSegment = 1,\n lengthSegment = 1,\n material = {},\n } = options\n\n const defaultMat: MeshBasicMaterialParameters = {\n color: 0xffffff,\n opacity: 1,\n transparent: false,\n wireframe: false,\n visible: true,\n }\n const geometry = new BoxGeometry(width, height, length, widthSegment, heightSegment, lengthSegment)\n const mat = new MeshBasicMaterial({ ...defaultMat, ...material })\n return new Mesh(geometry, mat)\n }\n /** 更新Box参数 */\n updateBox(options: options): void {\n if (!this.mesh) return\n _.mergeWith(this.currentOptions, options)\n this.remove(this.mesh)\n this.mesh.geometry.dispose()\n ;(this.mesh.material as any).dispose()\n this.mesh = this.createBox(this.currentOptions)\n this.add(this.mesh)\n } \n /** 销毁释放资源 */\n public destroy() {\n if (!this.mesh) return\n this.remove(this.mesh)\n this.mesh.geometry.dispose()\n ;(this.mesh.material as any).dispose()\n // @ts-ignore\n this.mesh = null\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["BoxGeometry","Mesh","MeshBasicMaterial","_","ObjectLayer","defineProps","Box","_ObjectLayer","_inherits","_super","_createSuper","options","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","currentOptions","mesh","createBox","add","_createClass","key","value","_options$width","width","_options$height","height","_options$length","length","_options$widthSegment","widthSegment","_options$heightSegmen","heightSegment","_options$lengthSegmen","lengthSegment","_options$material","material","defaultMat","color","opacity","transparent","wireframe","visible","geometry","translate","mat","_objectSpread","updateBox","mergeWith","remove","dispose","destroy"],"sources":["../../../src/business/Box/index.ts"],"sourcesContent":["/*\n * @Descripttion: Box 封装\n * @version:\n * @Author: 周志国\n * @Date: 2025-09-08\n * @LastEditors: 周志国\n * @LastEditTime: 2025-09-15 10:42:24\n * @changeLog: 实现立方体对象,支持默认参数、更新与销毁\n * @FilePath: /anov-3d-webgl/packages/anov-3d-ability/src/business/Box/index.ts\n */\nimport type { MeshBasicMaterialParameters } from '@anov/3d-core'\nimport {\n BoxGeometry,\n Mesh,\n MeshBasicMaterial,\n} from '@anov/3d-core'\nimport _ from 'lodash'\nimport ObjectLayer from '../Base/ObjectLayer'\nimport { defineProps } from '../Utils/defineProps'\nimport type { options } from './types'\nimport type { IBox } from './interface'\n\nexport class Box extends ObjectLayer implements IBox {\n private mesh!: Mesh\n private currentOptions!: options\n constructor(options: options) {\n super()\n this.currentOptions = options\n this.mesh = this.createBox(options)\n this.add(this.mesh)\n defineProps(\n this,\n ['width', 'height', 'length', 'widthSegment', 'heightSegment', 'lengthSegment'],\n ['wireframe', 'color'],\n 'updateBox',\n )\n }\n\n createBox(options: options): Mesh {\n const {\n width = 1,\n height = 1,\n length = 1,\n widthSegment = 1,\n heightSegment = 1,\n lengthSegment = 1,\n material = {},\n } = options\n\n const defaultMat: MeshBasicMaterialParameters = {\n color: 0xFFFFFF,\n opacity: 1,\n transparent: false,\n wireframe: false,\n visible: true,\n }\n const geometry = new BoxGeometry(width, height, length, widthSegment, heightSegment, lengthSegment)\n geometry.translate(0, height / 2, 0)\n const mat = new MeshBasicMaterial({ ...defaultMat, ...material })\n return new Mesh(geometry, mat)\n }\n\n /** 更新Box参数 */\n updateBox(options: options): void {\n if (!this.mesh)\n return\n _.mergeWith(this.currentOptions, options)\n this.remove(this.mesh)\n this.mesh.geometry.dispose()\n ;(this.mesh.material as any).dispose()\n this.mesh = this.createBox(this.currentOptions)\n this.add(this.mesh)\n }\n\n /** 销毁释放资源 */\n public destroy() {\n if (!this.mesh)\n return\n this.remove(this.mesh)\n this.mesh.geometry.dispose()\n ;(this.mesh.material as any).dispose()\n // @ts-ignore\n this.mesh = null\n }\n}\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
+ import { Mesh } from '@anov/3d-core';
1
2
  import ObjectLayer from '../Base/ObjectLayer';
2
3
  import type { options } from './types';
3
- import { ICylinder } from './interface';
4
- import { Mesh } from '@anov/3d-core';
4
+ import type { ICylinder } from './interface';
5
5
  export declare class Cylinder extends ObjectLayer implements ICylinder {
6
6
  private mesh;
7
7
  private currentOptions;
@@ -16,17 +16,17 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
16
16
  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); }
17
17
  /*
18
18
  * @Descripttion: Cylinder 封装
19
- * @version:
19
+ * @version:
20
20
  * @Author: 周志国
21
21
  * @Date: 2025-09-08
22
22
  * @LastEditors: 周志国
23
23
  * @LastEditTime: 2025-09-15 10:43:49
24
- * @changeLog:
24
+ * @changeLog:
25
25
  * @FilePath: /anov-3d-webgl/packages/anov-3d-ability/src/business/Cylinder/index.ts
26
26
  */
27
- import ObjectLayer from "../Base/ObjectLayer";
28
- import { CylinderGeometry, MeshBasicMaterial, Mesh } from '@anov/3d-core';
27
+ import { CylinderGeometry, Mesh, MeshBasicMaterial } from '@anov/3d-core';
29
28
  import _ from 'lodash';
29
+ import ObjectLayer from "../Base/ObjectLayer";
30
30
  import { defineProps } from "../Utils/defineProps";
31
31
  export var Cylinder = /*#__PURE__*/function (_ObjectLayer) {
32
32
  _inherits(Cylinder, _ObjectLayer);
@@ -59,8 +59,9 @@ export var Cylinder = /*#__PURE__*/function (_ObjectLayer) {
59
59
  _options$material = options.material,
60
60
  material = _options$material === void 0 ? {} : _options$material;
61
61
  var geometry = new CylinderGeometry(radius, radius, height, circleSegment, heightSegment, openEnded);
62
+ geometry.translate(0, height / 2, 0);
62
63
  var defaultMat = {
63
- color: 0xffffff,
64
+ color: 0xFFFFFF,
64
65
  opacity: 1,
65
66
  transparent: false,
66
67
  wireframe: false,
@@ -69,6 +70,7 @@ export var Cylinder = /*#__PURE__*/function (_ObjectLayer) {
69
70
  var mat = new MeshBasicMaterial(_objectSpread(_objectSpread({}, defaultMat), material));
70
71
  return new Mesh(geometry, mat);
71
72
  }
73
+
72
74
  /** 更新Cylinder参数 */
73
75
  }, {
74
76
  key: "updateCylinder",
@@ -81,6 +83,7 @@ export var Cylinder = /*#__PURE__*/function (_ObjectLayer) {
81
83
  this.mesh = this.createCylinder(this.currentOptions);
82
84
  this.add(this.mesh);
83
85
  }
86
+
84
87
  /** 销毁释放资源 */
85
88
  }, {
86
89
  key: "destroy",
@@ -1 +1 @@
1
- {"version":3,"names":["ObjectLayer","CylinderGeometry","MeshBasicMaterial","Mesh","_","defineProps","Cylinder","_ObjectLayer","_inherits","_super","_createSuper","options","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","currentOptions","mesh","createCylinder","add","_createClass","key","value","_options$radius","radius","_options$height","height","_options$circleSegmen","circleSegment","_options$heightSegmen","heightSegment","_options$openEnded","openEnded","_options$material","material","geometry","defaultMat","color","opacity","transparent","wireframe","visible","mat","_objectSpread","updateCylinder","mergeWith","remove","dispose","destroy"],"sources":["../../../src/business/Cylinder/index.ts"],"sourcesContent":["/*\n * @Descripttion: Cylinder 封装\n * @version: \n * @Author: 周志国\n * @Date: 2025-09-08\n * @LastEditors: 周志国\n * @LastEditTime: 2025-09-15 10:43:49\n * @changeLog: \n * @FilePath: /anov-3d-webgl/packages/anov-3d-ability/src/business/Cylinder/index.ts\n */\nimport ObjectLayer from '../Base/ObjectLayer'\nimport type { options } from './types'\nimport { ICylinder } from './interface'\nimport {\n CylinderGeometry,\n MeshBasicMaterial,\n Mesh,\n} from '@anov/3d-core'\nimport _ from 'lodash'\nimport { defineProps } from '../Utils/defineProps'\nexport class Cylinder extends ObjectLayer implements ICylinder {\n private mesh!: Mesh\n private currentOptions!: options\n constructor(options: options) {\n super()\n this.currentOptions = options\n this.mesh = this.createCylinder(this.currentOptions)\n this.add(this.mesh) // 添加到 ObjectLayer\n defineProps(\n this,\n ['radius', 'height', 'circleSegment', 'heightSegment', 'openEnded'],\n ['wireframe', 'color'],\n 'updateCylinder'\n )\n }\n\n createCylinder(options: options): Mesh {\n const {\n radius = 1,\n height = 1,\n circleSegment = 16,\n heightSegment = 1,\n openEnded = false,\n material = {},\n } = options\n const geometry = new CylinderGeometry(\n radius,\n radius,\n height,\n circleSegment,\n heightSegment,\n openEnded,\n )\n const defaultMat = {\n color: 0xffffff,\n opacity: 1,\n transparent: false,\n wireframe: false,\n visible: true,\n }\n const mat = new MeshBasicMaterial({ ...defaultMat, ...material })\n return new Mesh(geometry, mat)\n }\n /** 更新Cylinder参数 */\n updateCylinder(options: options): void {\n if (!this.mesh) return\n _.mergeWith(this.currentOptions, options)\n this.remove(this.mesh)\n this.mesh.geometry.dispose();\n (this.mesh.material as any).dispose()\n this.mesh = this.createCylinder(this.currentOptions)\n this.add(this.mesh)\n }\n /** 销毁释放资源 */\n public destroy() {\n if (!this.mesh) return\n this.remove(this.mesh)\n this.mesh.geometry.dispose();\n (this.mesh.material as any).dispose()\n // @ts-ignore\n this.mesh = null\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["CylinderGeometry","Mesh","MeshBasicMaterial","_","ObjectLayer","defineProps","Cylinder","_ObjectLayer","_inherits","_super","_createSuper","options","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","currentOptions","mesh","createCylinder","add","_createClass","key","value","_options$radius","radius","_options$height","height","_options$circleSegmen","circleSegment","_options$heightSegmen","heightSegment","_options$openEnded","openEnded","_options$material","material","geometry","translate","defaultMat","color","opacity","transparent","wireframe","visible","mat","_objectSpread","updateCylinder","mergeWith","remove","dispose","destroy"],"sources":["../../../src/business/Cylinder/index.ts"],"sourcesContent":["/*\n * @Descripttion: Cylinder 封装\n * @version:\n * @Author: 周志国\n * @Date: 2025-09-08\n * @LastEditors: 周志国\n * @LastEditTime: 2025-09-15 10:43:49\n * @changeLog:\n * @FilePath: /anov-3d-webgl/packages/anov-3d-ability/src/business/Cylinder/index.ts\n */\nimport {\n CylinderGeometry,\n Mesh,\n MeshBasicMaterial,\n} from '@anov/3d-core'\nimport _ from 'lodash'\nimport ObjectLayer from '../Base/ObjectLayer'\nimport { defineProps } from '../Utils/defineProps'\nimport type { options } from './types'\nimport type { ICylinder } from './interface'\n\nexport class Cylinder extends ObjectLayer implements ICylinder {\n private mesh!: Mesh\n private currentOptions!: options\n constructor(options: options) {\n super()\n this.currentOptions = options\n this.mesh = this.createCylinder(this.currentOptions)\n this.add(this.mesh) // 添加到 ObjectLayer\n defineProps(\n this,\n ['radius', 'height', 'circleSegment', 'heightSegment', 'openEnded'],\n ['wireframe', 'color'],\n 'updateCylinder',\n )\n }\n\n createCylinder(options: options): Mesh {\n const {\n radius = 1,\n height = 1,\n circleSegment = 16,\n heightSegment = 1,\n openEnded = false,\n material = {},\n } = options\n const geometry = new CylinderGeometry(\n radius,\n radius,\n height,\n circleSegment,\n heightSegment,\n openEnded,\n )\n geometry.translate(0, height / 2, 0)\n const defaultMat = {\n color: 0xFFFFFF,\n opacity: 1,\n transparent: false,\n wireframe: false,\n visible: true,\n }\n const mat = new MeshBasicMaterial({ ...defaultMat, ...material })\n return new Mesh(geometry, mat)\n }\n\n /** 更新Cylinder参数 */\n updateCylinder(options: options): void {\n if (!this.mesh)\n return\n _.mergeWith(this.currentOptions, options)\n this.remove(this.mesh)\n this.mesh.geometry.dispose();\n (this.mesh.material as any).dispose()\n this.mesh = this.createCylinder(this.currentOptions)\n this.add(this.mesh)\n }\n\n /** 销毁释放资源 */\n public destroy() {\n if (!this.mesh)\n return\n this.remove(this.mesh)\n this.mesh.geometry.dispose();\n (this.mesh.material as any).dispose()\n // @ts-ignore\n this.mesh = null\n }\n}\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
+ import { Mesh } from '@anov/3d-core';
1
2
  import ObjectLayer from '../Base/ObjectLayer';
2
3
  import type { options } from './types';
3
- import { IPlane } from './interface';
4
- import { Mesh } from '@anov/3d-core';
4
+ import type { IPlane } from './interface';
5
5
  export declare class Plane extends ObjectLayer implements IPlane {
6
6
  private mesh;
7
7
  private currentOptions;
@@ -15,18 +15,19 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
15
15
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
16
16
  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); }
17
17
  /*
18
- * @Descripttion:
19
- * @version:
18
+ * @Descripttion:
19
+ * @version:
20
20
  * @Author: 周志国
21
21
  * @Date: 2025-09-09 14:27:25
22
22
  * @LastEditors: 周志国
23
23
  * @LastEditTime: 2025-09-15 10:47:49
24
- * @changeLog:
24
+ * @changeLog:
25
25
  * @FilePath: /anov-3d-webgl/packages/anov-3d-ability/src/business/Plane/index.ts
26
26
  */
27
- import ObjectLayer from "../Base/ObjectLayer";
28
- import { PlaneGeometry, MeshBasicMaterial, Mesh } from '@anov/3d-core';
27
+
28
+ import { Mesh, MeshBasicMaterial, PlaneGeometry } from '@anov/3d-core';
29
29
  import _ from 'lodash';
30
+ import ObjectLayer from "../Base/ObjectLayer";
30
31
  import { defineProps } from "../Utils/defineProps";
31
32
  export var Plane = /*#__PURE__*/function (_ObjectLayer) {
32
33
  _inherits(Plane, _ObjectLayer);
@@ -59,7 +60,7 @@ export var Plane = /*#__PURE__*/function (_ObjectLayer) {
59
60
 
60
61
  // 默认材质参数
61
62
  var defaultMat = {
62
- color: 0xffffff,
63
+ color: 0xFFFFFF,
63
64
  opacity: 1,
64
65
  transparent: false,
65
66
  wireframe: false,
@@ -81,6 +82,7 @@ export var Plane = /*#__PURE__*/function (_ObjectLayer) {
81
82
  this.mesh = this.createPlane(this.currentOptions);
82
83
  this.add(this.mesh);
83
84
  }
85
+
84
86
  /** 销毁释放资源 */
85
87
  }, {
86
88
  key: "destroy",
@@ -1 +1 @@
1
- {"version":3,"names":["ObjectLayer","PlaneGeometry","MeshBasicMaterial","Mesh","_","defineProps","Plane","_ObjectLayer","_inherits","_super","_createSuper","options","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","currentOptions","mesh","createPlane","add","_createClass","key","value","_options$length","length","_options$width","width","_options$lengthSegmen","lengthSegment","_options$widthSegment","widthSegment","_options$material","material","defaultMat","color","opacity","transparent","wireframe","visible","side","geometry","mat","_objectSpread","updatePlane","mergeWith","remove","dispose","destroy"],"sources":["../../../src/business/Plane/index.ts"],"sourcesContent":["/*\n * @Descripttion: \n * @version: \n * @Author: 周志国\n * @Date: 2025-09-09 14:27:25\n * @LastEditors: 周志国\n * @LastEditTime: 2025-09-15 10:47:49\n * @changeLog: \n * @FilePath: /anov-3d-webgl/packages/anov-3d-ability/src/business/Plane/index.ts\n */\nimport ObjectLayer from '../Base/ObjectLayer'\nimport type { options } from './types'\nimport { IPlane } from './interface'\nimport {\n PlaneGeometry,\n MeshBasicMaterial,\n MeshBasicMaterialParameters,\n Mesh,\n} from '@anov/3d-core'\nimport _ from 'lodash'\nimport { defineProps } from '../Utils/defineProps'\nexport class Plane extends ObjectLayer implements IPlane {\n private mesh!: Mesh\n private currentOptions!: options\n constructor(options: options) {\n super()\n this.currentOptions = options\n this.mesh = this.createPlane(options)\n this.add(this.mesh)\n defineProps(\n this,\n ['width', 'length', 'widthSegment', 'lengthSegment'],\n ['wireframe', 'color'],\n 'updatePlane'\n )\n }\n public createPlane(options: options): Mesh {\n const {\n length = 1,\n width = 1,\n lengthSegment = 1,\n widthSegment = 1,\n material = {},\n } = options\n\n // 默认材质参数\n const defaultMat: MeshBasicMaterialParameters = {\n color: 0xffffff,\n opacity: 1,\n transparent: false,\n wireframe: false,\n visible: true,\n side: 2,\n }\n const geometry = new PlaneGeometry(width, length, widthSegment, lengthSegment)\n const mat = new MeshBasicMaterial({ ...defaultMat, ...material })\n return new Mesh(geometry, mat)\n }\n updatePlane(options: options): void {\n if (!this.mesh) return\n _.mergeWith(this.currentOptions, options)\n this.remove(this.mesh)\n this.mesh.geometry.dispose();\n (this.mesh.material as any).dispose()\n this.mesh = this.createPlane(this.currentOptions)\n this.add(this.mesh)\n }\n /** 销毁释放资源 */\n public destroy() {\n if (!this.mesh) return\n this.remove(this.mesh)\n this.mesh.geometry.dispose()\n ; (this.mesh.material as any).dispose()\n // @ts-ignore\n this.mesh = null\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["Mesh","MeshBasicMaterial","PlaneGeometry","_","ObjectLayer","defineProps","Plane","_ObjectLayer","_inherits","_super","_createSuper","options","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","currentOptions","mesh","createPlane","add","_createClass","key","value","_options$length","length","_options$width","width","_options$lengthSegmen","lengthSegment","_options$widthSegment","widthSegment","_options$material","material","defaultMat","color","opacity","transparent","wireframe","visible","side","geometry","mat","_objectSpread","updatePlane","mergeWith","remove","dispose","destroy"],"sources":["../../../src/business/Plane/index.ts"],"sourcesContent":["/*\n * @Descripttion:\n * @version:\n * @Author: 周志国\n * @Date: 2025-09-09 14:27:25\n * @LastEditors: 周志国\n * @LastEditTime: 2025-09-15 10:47:49\n * @changeLog:\n * @FilePath: /anov-3d-webgl/packages/anov-3d-ability/src/business/Plane/index.ts\n */\nimport type { MeshBasicMaterialParameters } from '@anov/3d-core'\nimport {\n Mesh,\n MeshBasicMaterial,\n PlaneGeometry,\n} from '@anov/3d-core'\nimport _ from 'lodash'\nimport ObjectLayer from '../Base/ObjectLayer'\nimport { defineProps } from '../Utils/defineProps'\nimport type { options } from './types'\nimport type { IPlane } from './interface'\n\nexport class Plane extends ObjectLayer implements IPlane {\n private mesh!: Mesh\n private currentOptions!: options\n constructor(options: options) {\n super()\n this.currentOptions = options\n this.mesh = this.createPlane(options)\n this.add(this.mesh)\n defineProps(\n this,\n ['width', 'length', 'widthSegment', 'lengthSegment'],\n ['wireframe', 'color'],\n 'updatePlane',\n )\n }\n\n public createPlane(options: options): Mesh {\n const {\n length = 1,\n width = 1,\n lengthSegment = 1,\n widthSegment = 1,\n material = {},\n } = options\n\n // 默认材质参数\n const defaultMat: MeshBasicMaterialParameters = {\n color: 0xFFFFFF,\n opacity: 1,\n transparent: false,\n wireframe: false,\n visible: true,\n side: 2,\n }\n const geometry = new PlaneGeometry(width, length, widthSegment, lengthSegment)\n const mat = new MeshBasicMaterial({ ...defaultMat, ...material })\n return new Mesh(geometry, mat)\n }\n\n updatePlane(options: options): void {\n if (!this.mesh)\n return\n _.mergeWith(this.currentOptions, options)\n this.remove(this.mesh)\n this.mesh.geometry.dispose();\n (this.mesh.material as any).dispose()\n this.mesh = this.createPlane(this.currentOptions)\n this.add(this.mesh)\n }\n\n /** 销毁释放资源 */\n public destroy() {\n if (!this.mesh)\n return\n this.remove(this.mesh)\n this.mesh.geometry.dispose()\n ; (this.mesh.material as any).dispose()\n // @ts-ignore\n this.mesh = null\n }\n}\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
+ import { Mesh } from '@anov/3d-core';
1
2
  import ObjectLayer from '../Base/ObjectLayer';
2
3
  import type { options } from './types';
3
- import { Mesh } from '@anov/3d-core';
4
- import { ISphere } from './interface';
4
+ import type { ISphere } from './interface';
5
5
  export declare class Sphere extends ObjectLayer implements ISphere {
6
6
  private mesh;
7
7
  private currentOptions;
@@ -16,7 +16,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
16
16
  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); }
17
17
  /*
18
18
  * @Descripttion: Box 封装
19
- * @version:
19
+ * @version:
20
20
  * @Author: 周志国
21
21
  * @Date: 2025-09-08
22
22
  * @LastEditors: 周志国
@@ -24,9 +24,10 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
24
24
  * @changeLog: 实现立方体对象,支持默认参数、更新与销毁
25
25
  * @FilePath: /anov-3d-webgl/packages/anov-3d-ability/src/business/Sphere/index.ts
26
26
  */
27
- import ObjectLayer from "../Base/ObjectLayer";
28
- import { SphereGeometry, MeshBasicMaterial, Mesh } from '@anov/3d-core';
27
+
28
+ import { Mesh, MeshBasicMaterial, SphereGeometry } from '@anov/3d-core';
29
29
  import _ from 'lodash';
30
+ import ObjectLayer from "../Base/ObjectLayer";
30
31
  import { defineProps } from "../Utils/defineProps";
31
32
  export var Sphere = /*#__PURE__*/function (_ObjectLayer) {
32
33
  _inherits(Sphere, _ObjectLayer);
@@ -53,13 +54,14 @@ export var Sphere = /*#__PURE__*/function (_ObjectLayer) {
53
54
  _options$material = options.material,
54
55
  material = _options$material === void 0 ? {} : _options$material;
55
56
  var defaultMat = {
56
- color: 0xffffff,
57
+ color: 0xFFFFFF,
57
58
  opacity: 1,
58
59
  transparent: false,
59
60
  wireframe: false,
60
61
  visible: true
61
62
  };
62
63
  var geometry = new SphereGeometry(radius, sphereSegments, sphereSegments);
64
+ geometry.translate(0, radius, 0);
63
65
  var mat = new MeshBasicMaterial(_objectSpread(_objectSpread({}, defaultMat), material));
64
66
  return new Mesh(geometry, mat);
65
67
  }
@@ -74,6 +76,7 @@ export var Sphere = /*#__PURE__*/function (_ObjectLayer) {
74
76
  this.mesh = this.createSphere(this.currentOptions);
75
77
  this.add(this.mesh);
76
78
  }
79
+
77
80
  /** 销毁释放资源 */
78
81
  }, {
79
82
  key: "destroy",
@@ -1 +1 @@
1
- {"version":3,"names":["ObjectLayer","SphereGeometry","MeshBasicMaterial","Mesh","_","defineProps","Sphere","_ObjectLayer","_inherits","_super","_createSuper","options","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","currentOptions","mesh","createSphere","add","_createClass","key","value","_options$radius","radius","_options$sphereSegmen","sphereSegments","_options$material","material","defaultMat","color","opacity","transparent","wireframe","visible","geometry","mat","_objectSpread","updateSphere","mergeWith","remove","dispose","destroy"],"sources":["../../../src/business/Sphere/index.ts"],"sourcesContent":["\n/*\n * @Descripttion: Box 封装\n * @version: \n * @Author: 周志国\n * @Date: 2025-09-08\n * @LastEditors: 周志国\n * @LastEditTime: 2025-09-15 10:48:13\n * @changeLog: 实现立方体对象,支持默认参数、更新与销毁\n * @FilePath: /anov-3d-webgl/packages/anov-3d-ability/src/business/Sphere/index.ts\n */\nimport ObjectLayer from '../Base/ObjectLayer'\nimport type { options } from './types'\nimport {\n SphereGeometry,\n MeshBasicMaterial,\n MeshBasicMaterialParameters,\n Mesh,\n} from '@anov/3d-core'\nimport { ISphere } from './interface'\nimport _ from 'lodash'\nimport { defineProps } from '../Utils/defineProps'\nexport class Sphere extends ObjectLayer implements ISphere {\n private mesh!: Mesh\n private currentOptions!: options\n constructor(options: options) {\n super()\n this.currentOptions = options\n this.mesh = this.createSphere(options)\n this.add(this.mesh)\n defineProps(\n this,\n ['radius', 'sphereSegments'],\n ['wireframe', 'color'],\n 'updateSphere'\n )\n }\n createSphere(options: options): Mesh {\n const {\n radius = 1,\n sphereSegments = 16,\n material = {},\n } = options\n\n const defaultMat: MeshBasicMaterialParameters = {\n color: 0xffffff,\n opacity: 1,\n transparent: false,\n wireframe: false,\n visible: true,\n }\n const geometry = new SphereGeometry(radius, sphereSegments, sphereSegments)\n const mat = new MeshBasicMaterial({ ...defaultMat, ...material })\n return new Mesh(geometry, mat)\n }\n updateSphere(options: options): void {\n if (!this.mesh) return\n _.mergeWith(this.currentOptions, options)\n this.remove(this.mesh)\n this.mesh.geometry.dispose();\n (this.mesh.material as any).dispose()\n this.mesh = this.createSphere(this.currentOptions)\n this.add(this.mesh)\n }\n /** 销毁释放资源 */\n public destroy() {\n if (!this.mesh) return\n this.remove(this.mesh)\n this.mesh.geometry.dispose()\n ; (this.mesh.material as any).dispose()\n // @ts-ignore\n this.mesh = null\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["Mesh","MeshBasicMaterial","SphereGeometry","_","ObjectLayer","defineProps","Sphere","_ObjectLayer","_inherits","_super","_createSuper","options","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","currentOptions","mesh","createSphere","add","_createClass","key","value","_options$radius","radius","_options$sphereSegmen","sphereSegments","_options$material","material","defaultMat","color","opacity","transparent","wireframe","visible","geometry","translate","mat","_objectSpread","updateSphere","mergeWith","remove","dispose","destroy"],"sources":["../../../src/business/Sphere/index.ts"],"sourcesContent":["/*\n * @Descripttion: Box 封装\n * @version:\n * @Author: 周志国\n * @Date: 2025-09-08\n * @LastEditors: 周志国\n * @LastEditTime: 2025-09-15 10:48:13\n * @changeLog: 实现立方体对象,支持默认参数、更新与销毁\n * @FilePath: /anov-3d-webgl/packages/anov-3d-ability/src/business/Sphere/index.ts\n */\nimport type { MeshBasicMaterialParameters } from '@anov/3d-core'\nimport {\n Mesh,\n MeshBasicMaterial,\n SphereGeometry,\n} from '@anov/3d-core'\nimport _ from 'lodash'\nimport ObjectLayer from '../Base/ObjectLayer'\nimport { defineProps } from '../Utils/defineProps'\nimport type { options } from './types'\nimport type { ISphere } from './interface'\n\nexport class Sphere extends ObjectLayer implements ISphere {\n private mesh!: Mesh\n private currentOptions!: options\n constructor(options: options) {\n super()\n this.currentOptions = options\n this.mesh = this.createSphere(options)\n this.add(this.mesh)\n defineProps(\n this,\n ['radius', 'sphereSegments'],\n ['wireframe', 'color'],\n 'updateSphere',\n )\n }\n\n createSphere(options: options): Mesh {\n const {\n radius = 1,\n sphereSegments = 16,\n material = {},\n } = options\n\n const defaultMat: MeshBasicMaterialParameters = {\n color: 0xFFFFFF,\n opacity: 1,\n transparent: false,\n wireframe: false,\n visible: true,\n }\n const geometry = new SphereGeometry(radius, sphereSegments, sphereSegments)\n geometry.translate(0, radius, 0)\n const mat = new MeshBasicMaterial({ ...defaultMat, ...material })\n return new Mesh(geometry, mat)\n }\n\n updateSphere(options: options): void {\n if (!this.mesh)\n return\n _.mergeWith(this.currentOptions, options)\n this.remove(this.mesh)\n this.mesh.geometry.dispose();\n (this.mesh.material as any).dispose()\n this.mesh = this.createSphere(this.currentOptions)\n this.add(this.mesh)\n }\n\n /** 销毁释放资源 */\n public destroy() {\n if (!this.mesh)\n return\n this.remove(this.mesh)\n this.mesh.geometry.dispose()\n ; (this.mesh.material as any).dispose()\n // @ts-ignore\n this.mesh = null\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.153",
3
+ "version": "0.0.155",
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.93"
19
+ "@anov/3d-core": "^0.0.94"
20
20
  },
21
21
  "dependencies": {
22
22
  "@rengr/heatmap.js": "^2.0.10",
@@ -36,7 +36,7 @@
36
36
  "@types/lodash": "^4.14.196",
37
37
  "@types/suncalc": "^1.9.2",
38
38
  "@types/supercluster": "^7.1.3",
39
- "@anov/3d-core": "^0.0.93"
39
+ "@anov/3d-core": "^0.0.94"
40
40
  },
41
41
  "scripts": {
42
42
  "build": "father build",