soonspacejs 2.5.22 → 2.5.23

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "soonspacejs",
3
- "version": "2.5.22",
3
+ "version": "2.5.23",
4
4
  "homepage": "http://www.xwbuilders.com:8800/",
5
5
  "description": "soonspacejs 2.x",
6
6
  "module": "./dist/index.esm.js",
@@ -26,5 +26,5 @@
26
26
  "@tweenjs/tween.js": "^18.6.4",
27
27
  "@types/three": "0.141.0"
28
28
  },
29
- "gitHead": "1b53294e499b7b60c3a9145dcade0227d05e2b20"
29
+ "gitHead": "effb9048a8b6d02f73e50bf32a513d7058823648"
30
30
  }
@@ -1,6 +1,5 @@
1
1
  export * from './BaseObject3D';
2
2
  export * from './BaseMesh';
3
- export * from './SceneManage';
4
3
  export * from './Group';
5
4
  export * from './PluginObject';
6
5
  export * from './PoiNode';
@@ -1,8 +1,9 @@
1
+ import { Scene } from 'three';
1
2
  import DefaultManage from './DefaultManage';
2
3
  import Viewport from '../Viewport';
3
- import { Group, GroupInfo, Canvas3D, Canvas3DInfo, SceneManage } from '../Library';
4
+ import { Group, GroupInfo, Canvas3D, Canvas3DInfo } from '../Library';
4
5
  declare class Canvas3DManage extends DefaultManage {
5
- constructor(viewport: Viewport, scene: SceneManage);
6
+ constructor(viewport: Viewport, scene: Scene);
6
7
  create(info: Canvas3DInfo): Canvas3D;
7
8
  createToGroup(groupInfo: GroupInfo, poiInfo: Canvas3DInfo[]): Group;
8
9
  addForGroup(group: Group | null, poiInfo: Canvas3DInfo[]): Group | null;
@@ -1,11 +1,11 @@
1
- import { Object3D } from 'three';
1
+ import { Object3D, Scene } from 'three';
2
2
  import Viewport from '../Viewport';
3
- import { Group, GroupInfo, SceneManage, BaseObject3D } from '../Library';
3
+ import { Group, GroupInfo, BaseObject3D } from '../Library';
4
4
  declare class DefaultManage {
5
5
  readonly type: string;
6
- readonly scene: SceneManage;
6
+ readonly scene: Scene;
7
7
  readonly viewport: Viewport;
8
- constructor(type: string, viewport: Viewport, scene: SceneManage);
8
+ constructor(type: string, viewport: Viewport, scene: Scene);
9
9
  /***
10
10
  * group
11
11
  */
@@ -1,7 +1,7 @@
1
- import { SceneManage } from '../Library';
1
+ import { Scene } from 'three';
2
2
  import Viewport from '../Viewport';
3
3
  import DefaultManage from './DefaultManage';
4
4
  declare class GroupManage extends DefaultManage {
5
- constructor(viewport: Viewport, scene: SceneManage);
5
+ constructor(viewport: Viewport, scene: Scene);
6
6
  }
7
7
  export default GroupManage;
@@ -1,11 +1,11 @@
1
1
  import Viewport from '../Viewport';
2
2
  import DefaultManage from './DefaultManage';
3
- import { GridHelper, AxesHelper, Box3Helper, DirectionalLightHelper, HemisphereLightHelper, SpotLightHelper, PointLightHelper } from 'three';
3
+ import { GridHelper, AxesHelper, Box3Helper, DirectionalLightHelper, HemisphereLightHelper, SpotLightHelper, PointLightHelper, Scene } from 'three';
4
4
  import { RectAreaLightHelper } from 'three/examples/jsm/helpers/RectAreaLightHelper.js';
5
5
  import { GridHelperOptions, AxesHelperOptions, BoxHelperOptions, PlaneHelperOptions, GroundHelperOptions, DirectionalLightHelperOptions, HemisphereLightHelperOptions, SpotLightHelperOptions, PointLightHelperOptions, RectAreaLightHelperOptions } from '../Interface';
6
- import { BaseMesh, Ground, SceneManage } from '../Library';
6
+ import { BaseMesh, Ground } from '../Library';
7
7
  declare class HelperManage extends DefaultManage {
8
- constructor(viewport: Viewport, scene: SceneManage);
8
+ constructor(viewport: Viewport, scene: Scene);
9
9
  addGridHelper(options: GridHelperOptions): GridHelper;
10
10
  addAxesHelper(options: AxesHelperOptions): AxesHelper;
11
11
  addBoxHelper(options: BoxHelperOptions): Box3Helper;
@@ -1,10 +1,9 @@
1
- import { AmbientLight, DirectionalLight, HemisphereLight, SpotLight, PointLight, RectAreaLight } from 'three';
1
+ import { Scene, AmbientLight, DirectionalLight, HemisphereLight, SpotLight, PointLight, RectAreaLight } from 'three';
2
2
  import DefaultManage from './DefaultManage';
3
3
  import Viewport from '../Viewport';
4
4
  import { AmbientLightOptions, DirectionalLightOptions, HemisphereLightOptions, SpotLightOptions, PointLightOptions, RectAreaLightOptions } from '../Interface';
5
- import { SceneManage } from '../Library';
6
5
  declare class LightManage extends DefaultManage {
7
- constructor(viewport: Viewport, scene: SceneManage);
6
+ constructor(viewport: Viewport, scene: Scene);
8
7
  createAmbientLight(options: AmbientLightOptions): AmbientLight;
9
8
  setAmbientLight(light: AmbientLight | null, options: AmbientLightOptions): boolean;
10
9
  createDirectionalLight(options: DirectionalLightOptions): DirectionalLight;
@@ -1,10 +1,10 @@
1
- import { LoadingManager } from 'three';
1
+ import { Scene, LoadingManager } from 'three';
2
2
  import { FBXLoader } from 'three/examples/jsm/loaders/FBXLoader.js';
3
3
  import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
4
4
  import localforage from 'localforage';
5
5
  import { DatLoader } from '../Loader/DatLoader';
6
6
  import Viewport from '../Viewport';
7
- import { BaseObject3D, Group, GroupInfo, Model, ModelInfo, SceneManage } from '../Library';
7
+ import { BaseObject3D, Group, GroupInfo, Model, ModelInfo } from '../Library';
8
8
  import { CloneModelInfo } from '../Interface';
9
9
  import DefaultManage from './DefaultManage';
10
10
  declare class ModelManage extends DefaultManage {
@@ -25,7 +25,7 @@ declare class ModelManage extends DefaultManage {
25
25
  gltfLoader: GLTFLoader;
26
26
  fbxLoader: FBXLoader;
27
27
  dracoDecoderPath: string | null;
28
- constructor(viewport: Viewport, scene: SceneManage);
28
+ constructor(viewport: Viewport, scene: Scene);
29
29
  /**
30
30
  * 设置 draco path
31
31
  * @param path
@@ -36,7 +36,7 @@ declare class ModelManage extends DefaultManage {
36
36
  * @param modelInfo
37
37
  * @returns
38
38
  */
39
- load(modelInfo: ModelInfo, parent?: BaseObject3D | null): Promise<Model | null>;
39
+ load(modelInfo: ModelInfo, parent?: BaseObject3D | Scene | null): Promise<Model | null>;
40
40
  /**
41
41
  * 模型解析
42
42
  * @param format
@@ -45,7 +45,7 @@ declare class ModelManage extends DefaultManage {
45
45
  * @returns
46
46
  */
47
47
  parse(modelInfo: ModelInfo): Promise<Model | null>;
48
- clone(model: Model, info: CloneModelInfo, parent?: BaseObject3D | null): Promise<Model>;
48
+ clone(model: Model, info: CloneModelInfo, parent?: BaseObject3D | Scene | null): Promise<Model>;
49
49
  loadToGroup(groupInfo: GroupInfo, modelInfo: ModelInfo[]): Promise<Group>;
50
50
  addForGroup(group: Group | null, modelInfo: ModelInfo[]): Promise<Group | null>;
51
51
  /**
@@ -1,9 +1,9 @@
1
- import { Object3D } from 'three';
1
+ import { Object3D, Scene } from 'three';
2
2
  import DefaultManage from './DefaultManage';
3
- import { PluginObject, PluginObjectInfo, SceneManage } from '../Library';
3
+ import { PluginObject, PluginObjectInfo } from '../Library';
4
4
  import Viewport from '../Viewport';
5
5
  declare class PluginManage extends DefaultManage {
6
- constructor(viewport: Viewport, scene: SceneManage);
6
+ constructor(viewport: Viewport, scene: Scene);
7
7
  createObject(info: PluginObjectInfo, object?: Object3D): PluginObject;
8
8
  addToObject(pluginObject: PluginObject | null, object: Object3D): PluginObject | null;
9
9
  }
@@ -1,11 +1,11 @@
1
1
  import DefaultManage from './DefaultManage';
2
- import { SpriteMaterial } from 'three';
3
- import { Poi, PoiInfo, Group, GroupInfo, BaseObject3D, SceneManage } from '../Library';
2
+ import { SpriteMaterial, Scene } from 'three';
3
+ import { Poi, PoiInfo, Group, GroupInfo, BaseObject3D } from '../Library';
4
4
  import { ClonePoiInfo } from '../Interface';
5
5
  import Viewport from '../Viewport';
6
6
  declare class PoiManage extends DefaultManage {
7
7
  materials: Map<string, SpriteMaterial>;
8
- constructor(viewport: Viewport, scene: SceneManage);
8
+ constructor(viewport: Viewport, scene: Scene);
9
9
  create(info: PoiInfo): Poi;
10
10
  clone(poi: Poi, poiInfo: ClonePoiInfo, parent?: BaseObject3D | null): Poi | void;
11
11
  createToGroup(groupInfo: GroupInfo, poiInfo: PoiInfo[]): Group;
@@ -1,8 +1,9 @@
1
+ import { Scene } from 'three';
1
2
  import DefaultManage from './DefaultManage';
2
3
  import Viewport from '../Viewport';
3
- import { PoiNode, PoiNodeInfo, Group, GroupInfo, SceneManage } from '../Library';
4
+ import { PoiNode, PoiNodeInfo, Group, GroupInfo } from '../Library';
4
5
  declare class PoiNodeManage extends DefaultManage {
5
- constructor(viewport: Viewport, scene: SceneManage);
6
+ constructor(viewport: Viewport, scene: Scene);
6
7
  create(info: PoiNodeInfo): PoiNode;
7
8
  createToGroup(groupInfo: GroupInfo, poiNodeInfo: PoiNodeInfo[]): Group;
8
9
  addForGroup(group: Group | null, poiNodeInfo: PoiNodeInfo[]): Group | null;
@@ -1,11 +1,12 @@
1
1
  import DefaultManage from './DefaultManage';
2
- import { Group, GroupInfo, SceneManage, Topology, TopologyInfo } from '../Library';
2
+ import { Group, GroupInfo, Topology, TopologyInfo } from '../Library';
3
3
  import { TopologyInfoForGml, ShortestPathInfo, ShortestPathByMultipleStartPoints, ShortestPathByMultipleEndPoints, TopologyNodeInfo } from '../Interface';
4
4
  import Viewport from '../Viewport';
5
5
  import { Dijkstras } from '../Math/dijkstra';
6
+ import { Scene } from 'three';
6
7
  declare class TopologyManage extends DefaultManage {
7
8
  dijkstra: Dijkstras;
8
- constructor(viewport: Viewport, scene: SceneManage);
9
+ constructor(viewport: Viewport, scene: Scene);
9
10
  createFromGml(topologyInfoForGml: TopologyInfoForGml): Promise<Topology>;
10
11
  create(topologyInfo: TopologyInfo): Topology;
11
12
  resetNodes(topology: Topology, nodes: TopologyNodeInfo[]): Topology;
@@ -1,6 +1,6 @@
1
- import { Object3D } from 'three';
1
+ import { Object3D, Scene } from 'three';
2
2
  import Viewport from '../Viewport';
3
- import { BaseObject3D, SceneManage } from '../Library';
3
+ import { BaseObject3D } from '../Library';
4
4
  import LightManage from './LightManage';
5
5
  import ModelManage from './ModelManage';
6
6
  import PoiManage from './PoiManage';
@@ -29,7 +29,7 @@ declare class Manager {
29
29
  readonly viewport: Viewport;
30
30
  readonly store: ManagerStore;
31
31
  readonly cache: ManageCache;
32
- readonly scene: SceneManage;
32
+ scene: Scene;
33
33
  constructor(viewport: Viewport);
34
34
  /**
35
35
  * level update
package/types/index.d.ts CHANGED
@@ -25,6 +25,7 @@ export interface SoonSpaceConstructor {
25
25
  import * as THREE from 'three';
26
26
  export * from 'three';
27
27
  export * from './Interface';
28
+ import { BoxSpace, FindObjectsNearPosition } from './tools/index';
28
29
  declare global {
29
30
  interface Window {
30
31
  THREE: typeof THREE;
@@ -1221,5 +1222,20 @@ export declare class SoonSpace {
1221
1222
  * 隐藏所有辅助器
1222
1223
  */
1223
1224
  hideAllHelper(): void;
1225
+ /**
1226
+ * 创建 查找位置附近的 box 空间范围内的物体
1227
+ * @param boxSpace - 描述查找空间的信息对象
1228
+ * @param objects - 所有需要被查找的对象
1229
+ * @returns 用于查找的函数
1230
+ */
1231
+ createFindObjectsInBoxNearPosition(boxSpace: BoxSpace, objects: Object3D[]): FindObjectsNearPosition;
1232
+ /**
1233
+ * 创建 查找位置附近的球形空间范围内的物体
1234
+ *
1235
+ * @param radius - 描述查找半径
1236
+ * @param objects - 所有需要被查找的对象
1237
+ * @returns 用于查找的函数
1238
+ */
1239
+ createFindObjectsInSphereNearPosition(radius: number, objects: Object3D[]): FindObjectsNearPosition;
1224
1240
  }
1225
1241
  export default SoonSpace;
@@ -0,0 +1,34 @@
1
+ import type { Object3D } from 'three';
2
+ import { Vector3 } from 'three';
3
+ /**
4
+ * 盒子空间
5
+ */
6
+ export interface BoxSpace {
7
+ top: number;
8
+ bottom: number;
9
+ left: number;
10
+ right: number;
11
+ front: number;
12
+ back: number;
13
+ }
14
+ /**
15
+ * 位置附近的对象查找器
16
+ * @param position - 指定查找的位置
17
+ * @returns 所有包含在指定空间的对象
18
+ */
19
+ export declare type FindObjectsNearPosition = (position: Vector3) => Object3D[];
20
+ /**
21
+ * 创建 查找位置附近的 box 空间范围内的物体
22
+ * @param boxSpace - 描述查找空间的信息对象
23
+ * @param objects - 所有需要被查找的对象
24
+ * @returns 用于查找的函数
25
+ */
26
+ export declare function createFindObjectsInBoxNearPosition(boxSpace: BoxSpace, objects: Object3D[]): FindObjectsNearPosition;
27
+ /**
28
+ * 创建 查找位置附近的球形空间范围内的物体
29
+ *
30
+ * @param radius - 描述查找半径
31
+ * @param objects - 所有需要被查找的对象
32
+ * @returns 用于查找的函数
33
+ */
34
+ export declare function createFindObjectsInSphereNearPosition(radius: number, objects: Object3D[]): FindObjectsNearPosition;
@@ -1,7 +0,0 @@
1
- import { BaseObject3D, BaseObject3DInfo } from './BaseObject3D';
2
- declare type SceneManageInfo = BaseObject3DInfo;
3
- declare class SceneManage extends BaseObject3D {
4
- readonly isSceneManage: boolean;
5
- constructor(param: SceneManageInfo);
6
- }
7
- export { SceneManage, SceneManageInfo, };