@soonspacejs/plugin-soonbuilder-loader 2.13.6 → 2.13.7

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/README.md CHANGED
@@ -1,5 +1,5 @@
1
- # @soonspacejs/plugin-soonbuilder-loader
2
-
3
- > Soonbuilder-loader plugin for SoonSpace.js
4
-
5
- Document: [http://www.xwbuilders.com:8800/plugin/soonbuilder-loader.html](http://www.xwbuilders.com:8800/plugin/soonbuilder-loader.html)
1
+ # @soonspacejs/plugin-soonbuilder-loader
2
+
3
+ > Soonbuilder-loader plugin for SoonSpace.js
4
+
5
+ Document: [http://www.xwbuilders.com:8800/plugin/soonbuilder-loader.html](http://www.xwbuilders.com:8800/plugin/soonbuilder-loader.html)
package/dist/index.esm.js CHANGED
@@ -1 +1,137 @@
1
- class t{constructor(t){this.ssp=t,this.treeData=[],this.modelData=[]}async load(t,e=!1){const{xmlToJson:i,isArray:s,isObject:o}=this.ssp.utils,l=e?`${t}/FileInfo.xml`:t;this.fileInfo=await i(l);const r=this._getFileExtensionFc(this.fileInfo),n=l.split("FileInfo.xml")[0],a=this.fileInfo.folder._attributes.name;this.sceneInfo=await i(`${n}${a}.xml`);const{Project:{Building:{Floors:u,ObjectHierarchy:d}}}=this.sceneInfo,c=async t=>{var e,i,l;const{_attributes:a,FileSource:u}=t,{id:c,name:h}=a,{name:p}=u._attributes,f={id:c,name:h,url:this._pathModeChange(n,p),children:[],userData:t};this._pushModelData(f);const _=await this.ssp.loadModelToGroup({id:`${f.id}_group`},[f]);if(!_)return;let b=null;if(s(d.Entity))b=d.Entity.find((({_attributes:{id:t,type:e}})=>"Floor"===e&&t===c));else if(o(d.Entity)){const{id:t,type:e}=d.Entity._attributes;t===c&&"Floor"===e&&(b=d.Entity)}if(!b)return;let y=null;if(s(b.Entity)?y=b.Entity.filter((({_attributes:{type:t}})=>"FACILITY"===t)):o(b.Entity)&&"FACILITY"===b.Entity._attributes.type&&(y=b.Entity),y){for(let t=0;t<y.length;t++){const{id:s,longname:o,visible:a,position:u,eular:d,scale:c}=Object.assign(Object.assign({},y[t]._attributes),null!==(i=null===(e=y[t].Properties)||void 0===e?void 0:e._attributes)&&void 0!==i?i:{}),h={id:s,name:o,url:this._pathModeChange(n,`/${r(o)}`),visible:this._text2Bool(a),position:this._text2IVector3(u),rotation:this._text2IVector3(d),scale:this._text2IVector3(c),userData:y[t]},p=await this.ssp.loadModel(h);p&&(this.ssp.addObject(p,_),this._pushModelData(h),null===(l=f.children)||void 0===l||l.push(h))}this.treeData.push(f)}};if(s(u.Floor))for(let t=0;t<u.Floor.length;t++)await c(u.Floor[t]);else o(u.Floor)&&await c(u.Floor)}_pushModelData(t){this.modelData.find((({url:e})=>e===t.url))||this.modelData.push(t)}_text2IVector3(t){const e=t.split(", ");return{x:Number(e[0]),y:Number(e[1]),z:Number(e[2])}}_text2Bool(t){return"True"===t}_pathModeChange(t,e){const i=t+e;if(i.includes("://")){const t=i.split("://");return t[0]+"://"+t[1].replace("\\","/").replace("./","/").replace("//","/")}return i.replace("\\","/").replace("./","/").replace("//","/")}_getFileExtensionFc(t){var e;const i=null===(e=null==t?void 0:t.folder)||void 0===e?void 0:e.file;let s=[];return i&&Array.isArray(i)&&(s=i.filter((t=>{const{Extension:e}=t._attributes;return".sbm"===e||".sbmx"===e}))),t=>{var e;const i=null===(e=s.find((e=>{var i;return null===(i=null==e?void 0:e._attributes)||void 0===i?void 0:i.name.startsWith(t)})))||void 0===e?void 0:e._attributes;return`${t}${(null==i?void 0:i.Extension)||".sbm"}`}}}export{t as default};
1
+ class SoonbuilderLoaderPlugin {
2
+ constructor(ssp) {
3
+ this.ssp = ssp;
4
+ this.treeData = [];
5
+ this.modelData = [];
6
+ }
7
+ async load(path, needJoinSuffix = false) {
8
+ const { xmlToJson, isArray, isObject, } = this.ssp.utils;
9
+ const FileInfoFullPath = needJoinSuffix ? `${path}/FileInfo.xml` : path;
10
+ this.fileInfo = await xmlToJson(FileInfoFullPath);
11
+ const getFileExtensionFc = this._getFileExtensionFc(this.fileInfo);
12
+ const basePath = FileInfoFullPath.split('FileInfo.xml')[0];
13
+ const folderName = this.fileInfo.folder._attributes.name;
14
+ this.sceneInfo = await xmlToJson(`${basePath}${folderName}.xml`);
15
+ const { Project: { Building: { Floors, ObjectHierarchy, }, }, } = this.sceneInfo;
16
+ const parseFloor = async (FloorData) => {
17
+ var _a, _b, _c;
18
+ const { _attributes, FileSource, } = FloorData;
19
+ const { id: floorId, name, } = _attributes;
20
+ const { name: floorFilePath, } = FileSource._attributes;
21
+ const floorModelInfo = {
22
+ id: floorId,
23
+ name,
24
+ url: this._pathModeChange(basePath, floorFilePath),
25
+ children: [],
26
+ userData: FloorData,
27
+ };
28
+ this._pushModelData(floorModelInfo);
29
+ const floorGroup = await this.ssp.loadModelToGroup({
30
+ id: `${floorModelInfo.id}_group`,
31
+ }, [floorModelInfo]);
32
+ if (!floorGroup)
33
+ return;
34
+ let floorEntity = null;
35
+ if (isArray(ObjectHierarchy.Entity)) {
36
+ floorEntity = ObjectHierarchy.Entity.find(({ _attributes: { id, type, }, }) => type === 'Floor' && id === floorId);
37
+ }
38
+ else if (isObject(ObjectHierarchy.Entity)) {
39
+ const { id, type, } = ObjectHierarchy.Entity._attributes;
40
+ if (id === floorId && type === 'Floor') {
41
+ floorEntity = ObjectHierarchy.Entity;
42
+ }
43
+ }
44
+ if (!floorEntity)
45
+ return;
46
+ let facilityEntity = null;
47
+ if (isArray(floorEntity.Entity)) {
48
+ facilityEntity = floorEntity.Entity.filter(({ _attributes: { type, }, }) => type === 'FACILITY');
49
+ }
50
+ else if (isObject(floorEntity.Entity)) {
51
+ if (floorEntity.Entity._attributes.type === 'FACILITY') {
52
+ facilityEntity = floorEntity.Entity;
53
+ }
54
+ }
55
+ if (!facilityEntity)
56
+ return;
57
+ // const facilityEntity = floorEntity.Entity.filter(
58
+ // ( { _attributes: { type, }, }: any ) => type === 'FACILITY'
59
+ // )
60
+ for (let i = 0; i < facilityEntity.length; i++) {
61
+ const { id, longname, visible, position, eular, scale, } = Object.assign(Object.assign({}, facilityEntity[i]._attributes), (_b = (_a = facilityEntity[i].Properties) === null || _a === void 0 ? void 0 : _a._attributes) !== null && _b !== void 0 ? _b : {});
62
+ const facilityEntityModelInfo = {
63
+ id,
64
+ name: longname,
65
+ url: this._pathModeChange(basePath, `/${getFileExtensionFc(longname)}`),
66
+ visible: this._text2Bool(visible),
67
+ position: this._text2IVector3(position),
68
+ rotation: this._text2IVector3(eular),
69
+ scale: this._text2IVector3(scale),
70
+ userData: facilityEntity[i],
71
+ };
72
+ const facilityModel = await this.ssp.loadModel(facilityEntityModelInfo);
73
+ if (!facilityModel)
74
+ continue;
75
+ this.ssp.addObject(facilityModel, floorGroup);
76
+ this._pushModelData(facilityEntityModelInfo);
77
+ (_c = floorModelInfo.children) === null || _c === void 0 ? void 0 : _c.push(facilityEntityModelInfo);
78
+ }
79
+ this.treeData.push(floorModelInfo);
80
+ };
81
+ if (isArray(Floors.Floor)) {
82
+ for (let f = 0; f < Floors.Floor.length; f++) {
83
+ await parseFloor(Floors.Floor[f]);
84
+ }
85
+ }
86
+ else if (isObject(Floors.Floor)) {
87
+ await parseFloor(Floors.Floor);
88
+ }
89
+ }
90
+ _pushModelData(info) {
91
+ const data = this.modelData.find(({ url, }) => url === info.url);
92
+ if (data)
93
+ return;
94
+ this.modelData.push(info);
95
+ }
96
+ _text2IVector3(text) {
97
+ const arr = text.split(', ');
98
+ return {
99
+ x: Number(arr[0]),
100
+ y: Number(arr[1]),
101
+ z: Number(arr[2]),
102
+ };
103
+ }
104
+ _text2Bool(text) {
105
+ return text === 'True';
106
+ }
107
+ _pathModeChange(basePath, currentPath) {
108
+ const fullPath = basePath + currentPath;
109
+ if (fullPath.includes('://')) {
110
+ const fullPathArr = fullPath.split('://');
111
+ return (fullPathArr[0] + '://' +
112
+ fullPathArr[1].replace('\\', '/').replace('./', '/').replace('//', '/'));
113
+ }
114
+ else {
115
+ return fullPath.replace('\\', '/').replace('./', '/').replace('//', '/');
116
+ }
117
+ }
118
+ _getFileExtensionFc(fileInfo) {
119
+ var _a;
120
+ const fileList = (_a = fileInfo === null || fileInfo === void 0 ? void 0 : fileInfo.folder) === null || _a === void 0 ? void 0 : _a.file;
121
+ let fileExtensionList = [];
122
+ if (fileList && Array.isArray(fileList)) {
123
+ fileExtensionList = fileList.filter((item => {
124
+ const { Extension, } = item._attributes;
125
+ return Extension === '.sbm' || Extension === '.sbmx';
126
+ }));
127
+ }
128
+ return (longName) => {
129
+ var _a;
130
+ const current = (_a = fileExtensionList.find(file => { var _a; return (_a = file === null || file === void 0 ? void 0 : file._attributes) === null || _a === void 0 ? void 0 : _a.name.startsWith(longName); })) === null || _a === void 0 ? void 0 : _a._attributes;
131
+ return `${longName}${(current === null || current === void 0 ? void 0 : current.Extension) || '.sbm'}`;
132
+ };
133
+ }
134
+ }
135
+
136
+ export { SoonbuilderLoaderPlugin as default };
137
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../src/index.ts"],"sourcesContent":["import SoonSpace, { IVector3, } from 'soonspacejs'\r\nimport { ModelInfo, } from 'soonspacejs'\r\n\r\nexport interface TModelInfo extends ModelInfo {\r\n children?: TModelInfo[];\r\n}\r\n\r\nexport default class SoonbuilderLoaderPlugin {\r\n\r\n fileInfo: any\r\n sceneInfo: any\r\n\r\n treeData: TModelInfo[]\r\n modelData: ModelInfo[]\r\n\r\n constructor ( readonly ssp: SoonSpace ) {\r\n\r\n this.treeData = []\r\n this.modelData = []\r\n \r\n }\r\n\r\n async load ( path: string, needJoinSuffix = false ) {\r\n\r\n const { xmlToJson, isArray, isObject, } = this.ssp.utils\r\n const FileInfoFullPath = needJoinSuffix ? `${path}/FileInfo.xml` : path\r\n\r\n this.fileInfo = await xmlToJson( FileInfoFullPath )\r\n\r\n const getFileExtensionFc = this._getFileExtensionFc( this.fileInfo )\r\n\r\n const basePath = FileInfoFullPath.split( 'FileInfo.xml' )[ 0 ]\r\n const folderName = this.fileInfo.folder._attributes.name\r\n\r\n this.sceneInfo = await xmlToJson( `${basePath}${folderName}.xml` )\r\n\r\n const {\r\n Project: {\r\n Building: { Floors, ObjectHierarchy, },\r\n },\r\n } = this.sceneInfo\r\n\r\n const parseFloor = async ( FloorData: any ) => {\r\n\r\n const { _attributes, FileSource, } = FloorData\r\n const { id: floorId, name, } = _attributes\r\n const { name: floorFilePath, } = FileSource._attributes\r\n\r\n const floorModelInfo: TModelInfo = {\r\n id: floorId,\r\n name,\r\n url: this._pathModeChange( basePath, floorFilePath ),\r\n children: [],\r\n userData: FloorData,\r\n }\r\n\r\n this._pushModelData( floorModelInfo )\r\n\r\n const floorGroup = await this.ssp.loadModelToGroup(\r\n {\r\n id: `${floorModelInfo.id}_group`,\r\n },\r\n [ floorModelInfo ]\r\n )\r\n\r\n if ( !floorGroup ) return\r\n\r\n let floorEntity = null\r\n\r\n if ( isArray( ObjectHierarchy.Entity ) ) {\r\n\r\n floorEntity = ObjectHierarchy.Entity.find(\r\n ( { _attributes: { id, type, }, }: any ) =>\r\n type === 'Floor' && id === floorId\r\n )\r\n \r\n } else if ( isObject( ObjectHierarchy.Entity ) ) {\r\n\r\n const { id, type, } = ObjectHierarchy.Entity._attributes\r\n\r\n if ( id === floorId && type === 'Floor' ) {\r\n\r\n floorEntity = ObjectHierarchy.Entity\r\n \r\n }\r\n \r\n }\r\n\r\n if ( !floorEntity ) return\r\n\r\n let facilityEntity = null\r\n\r\n if ( isArray( floorEntity.Entity ) ) {\r\n\r\n facilityEntity = floorEntity.Entity.filter(\r\n ( { _attributes: { type, }, }: any ) => type === 'FACILITY'\r\n )\r\n \r\n } else if ( isObject( floorEntity.Entity ) ) {\r\n\r\n if ( floorEntity.Entity._attributes.type === 'FACILITY' ) {\r\n\r\n facilityEntity = floorEntity.Entity\r\n\r\n }\r\n \r\n }\r\n\r\n if ( !facilityEntity ) return\r\n\r\n // const facilityEntity = floorEntity.Entity.filter(\r\n // ( { _attributes: { type, }, }: any ) => type === 'FACILITY'\r\n // )\r\n\r\n for ( let i = 0; i < facilityEntity.length; i++ ) {\r\n\r\n const { id, longname, visible, position, eular, scale, } =\r\n {\r\n ...facilityEntity[ i ]._attributes,\r\n ...facilityEntity[ i ].Properties?._attributes ?? {},\r\n } as any\r\n\r\n const facilityEntityModelInfo: TModelInfo = {\r\n id,\r\n name: longname,\r\n url: this._pathModeChange( basePath, `/${getFileExtensionFc( longname )}` ),\r\n visible: this._text2Bool( visible ),\r\n position: this._text2IVector3( position ),\r\n rotation: this._text2IVector3( eular ),\r\n scale: this._text2IVector3( scale ),\r\n userData: facilityEntity[ i ],\r\n }\r\n\r\n const facilityModel = await this.ssp.loadModel( facilityEntityModelInfo )\r\n\r\n if ( !facilityModel ) continue\r\n this.ssp.addObject( facilityModel, floorGroup )\r\n\r\n this._pushModelData( facilityEntityModelInfo )\r\n floorModelInfo.children?.push( facilityEntityModelInfo )\r\n \r\n }\r\n\r\n this.treeData.push( floorModelInfo )\r\n \r\n }\r\n\r\n if ( isArray( Floors.Floor ) ) {\r\n\r\n for ( let f = 0; f < Floors.Floor.length; f++ ) {\r\n\r\n await parseFloor( Floors.Floor[ f ] )\r\n \r\n }\r\n \r\n } else if ( isObject( Floors.Floor ) ) {\r\n\r\n await parseFloor( Floors.Floor )\r\n \r\n }\r\n \r\n }\r\n\r\n private _pushModelData ( info: ModelInfo ) {\r\n\r\n const data = this.modelData.find( ( { url, } ) => url === info.url )\r\n\r\n if ( data ) return\r\n\r\n this.modelData.push( info )\r\n \r\n }\r\n\r\n private _text2IVector3 ( text: string ): IVector3 {\r\n\r\n const arr = text.split( ', ' )\r\n\r\n return {\r\n x: Number( arr[ 0 ] ),\r\n y: Number( arr[ 1 ] ),\r\n z: Number( arr[ 2 ] ),\r\n }\r\n \r\n }\r\n\r\n private _text2Bool ( text: string ): boolean {\r\n\r\n return text === 'True'\r\n \r\n }\r\n\r\n private _pathModeChange ( basePath: string, currentPath: string ) {\r\n\r\n const fullPath = basePath + currentPath\r\n\r\n if ( fullPath.includes( '://' ) ) {\r\n\r\n const fullPathArr = fullPath.split( '://' )\r\n\r\n return (\r\n fullPathArr[ 0 ] + '://' +\r\n fullPathArr[ 1 ].replace( '\\\\', '/' ).replace( './', '/' ).replace( '//', '/' )\r\n )\r\n \r\n } else {\r\n\r\n return fullPath.replace( '\\\\', '/' ).replace( './', '/' ).replace( '//', '/' )\r\n \r\n }\r\n \r\n }\r\n\r\n private _getFileExtensionFc ( fileInfo: any ) {\r\n\r\n const fileList = fileInfo?.folder?.file\r\n\r\n let fileExtensionList: any[] = []\r\n\r\n if ( fileList && Array.isArray( fileList ) ) {\r\n\r\n fileExtensionList = fileList.filter( ( item => {\r\n\r\n const { Extension, } = item._attributes\r\n\r\n return Extension === '.sbm' || Extension === '.sbmx'\r\n\r\n } ) )\r\n \r\n }\r\n\r\n return ( longName: string ) => {\r\n\r\n const current = fileExtensionList.find( file => file?._attributes?.name.startsWith( longName ) )?._attributes\r\n\r\n return `${longName}${current?.Extension || '.sbm'}`\r\n \r\n }\r\n \r\n }\r\n\r\n}\r\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@soonspacejs/plugin-soonbuilder-loader",
3
3
  "pluginName": "SoonbuilderLoaderPlugin",
4
- "version": "2.13.6",
4
+ "version": "2.13.7",
5
5
  "description": "soonbuilder-loader plugin for SoonSpace.js",
6
6
  "main": "dist/index.esm.js",
7
7
  "module": "dist/index.esm.js",
@@ -13,8 +13,8 @@
13
13
  ],
14
14
  "author": "xunwei",
15
15
  "license": "UNLICENSED",
16
- "gitHead": "6c1113b3e61e448be7ce9463ed22a75f507d9f67",
16
+ "gitHead": "550040550bf20ec0015982ff1159d0cfe9b35ed3",
17
17
  "peerDependencies": {
18
- "soonspacejs": "2.13.6"
18
+ "soonspacejs": "2.13.7"
19
19
  }
20
20
  }
package/dist/index.d.ts DELETED
@@ -1,19 +0,0 @@
1
- import SoonSpace from 'soonspacejs';
2
- import { ModelInfo } from 'soonspacejs';
3
- export interface TModelInfo extends ModelInfo {
4
- children?: TModelInfo[];
5
- }
6
- export default class SoonbuilderLoaderPlugin {
7
- readonly ssp: SoonSpace;
8
- fileInfo: any;
9
- sceneInfo: any;
10
- treeData: TModelInfo[];
11
- modelData: ModelInfo[];
12
- constructor(ssp: SoonSpace);
13
- load(path: string, needJoinSuffix?: boolean): Promise<void>;
14
- private _pushModelData;
15
- private _text2IVector3;
16
- private _text2Bool;
17
- private _pathModeChange;
18
- private _getFileExtensionFc;
19
- }