@soonspacejs/plugin-soonbuilder-loader 2.13.12 → 2.13.14

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/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'\nimport { ModelInfo, } from 'soonspacejs'\n\nexport interface TModelInfo extends ModelInfo {\n children?: TModelInfo[];\n}\n\nexport default class SoonbuilderLoaderPlugin {\n\n fileInfo: any\n sceneInfo: any\n\n treeData: TModelInfo[]\n modelData: ModelInfo[]\n\n constructor ( readonly ssp: SoonSpace ) {\n\n this.treeData = []\n this.modelData = []\n \n }\n\n async load ( path: string, needJoinSuffix = false ) {\n\n const { xmlToJson, isArray, isObject, } = this.ssp.utils\n const FileInfoFullPath = needJoinSuffix ? `${path}/FileInfo.xml` : path\n\n this.fileInfo = await xmlToJson( FileInfoFullPath )\n\n const getFileExtensionFc = this._getFileExtensionFc( this.fileInfo )\n\n const basePath = FileInfoFullPath.split( 'FileInfo.xml' )[ 0 ]\n const folderName = this.fileInfo.folder._attributes.name\n\n this.sceneInfo = await xmlToJson( `${basePath}${folderName}.xml` )\n\n const {\n Project: {\n Building: { Floors, ObjectHierarchy, },\n },\n } = this.sceneInfo\n\n const parseFloor = async ( FloorData: any ) => {\n\n const { _attributes, FileSource, } = FloorData\n const { id: floorId, name, } = _attributes\n const { name: floorFilePath, } = FileSource._attributes\n\n const floorModelInfo: TModelInfo = {\n id: floorId,\n name,\n url: this._pathModeChange( basePath, floorFilePath ),\n children: [],\n userData: FloorData,\n }\n\n this._pushModelData( floorModelInfo )\n\n const floorGroup = await this.ssp.loadModelToGroup(\n {\n id: `${floorModelInfo.id}_group`,\n },\n [ floorModelInfo ]\n )\n\n if ( !floorGroup ) return\n\n let floorEntity = null\n\n if ( isArray( ObjectHierarchy.Entity ) ) {\n\n floorEntity = ObjectHierarchy.Entity.find(\n ( { _attributes: { id, type, }, }: any ) =>\n type === 'Floor' && id === floorId\n )\n \n } else if ( isObject( ObjectHierarchy.Entity ) ) {\n\n const { id, type, } = ObjectHierarchy.Entity._attributes\n\n if ( id === floorId && type === 'Floor' ) {\n\n floorEntity = ObjectHierarchy.Entity\n \n }\n \n }\n\n if ( !floorEntity ) return\n\n let facilityEntity = null\n\n if ( isArray( floorEntity.Entity ) ) {\n\n facilityEntity = floorEntity.Entity.filter(\n ( { _attributes: { type, }, }: any ) => type === 'FACILITY'\n )\n \n } else if ( isObject( floorEntity.Entity ) ) {\n\n if ( floorEntity.Entity._attributes.type === 'FACILITY' ) {\n\n facilityEntity = floorEntity.Entity\n\n }\n \n }\n\n if ( !facilityEntity ) return\n\n // const facilityEntity = floorEntity.Entity.filter(\n // ( { _attributes: { type, }, }: any ) => type === 'FACILITY'\n // )\n\n for ( let i = 0; i < facilityEntity.length; i++ ) {\n\n const { id, longname, visible, position, eular, scale, } =\n {\n ...facilityEntity[ i ]._attributes,\n ...facilityEntity[ i ].Properties?._attributes ?? {},\n } as any\n\n const facilityEntityModelInfo: TModelInfo = {\n id,\n name: longname,\n url: this._pathModeChange( basePath, `/${getFileExtensionFc( longname )}` ),\n visible: this._text2Bool( visible ),\n position: this._text2IVector3( position ),\n rotation: this._text2IVector3( eular ),\n scale: this._text2IVector3( scale ),\n userData: facilityEntity[ i ],\n }\n\n const facilityModel = await this.ssp.loadModel( facilityEntityModelInfo )\n\n if ( !facilityModel ) continue\n this.ssp.addObject( facilityModel, floorGroup )\n\n this._pushModelData( facilityEntityModelInfo )\n floorModelInfo.children?.push( facilityEntityModelInfo )\n \n }\n\n this.treeData.push( floorModelInfo )\n \n }\n\n if ( isArray( Floors.Floor ) ) {\n\n for ( let f = 0; f < Floors.Floor.length; f++ ) {\n\n await parseFloor( Floors.Floor[ f ] )\n \n }\n \n } else if ( isObject( Floors.Floor ) ) {\n\n await parseFloor( Floors.Floor )\n \n }\n \n }\n\n private _pushModelData ( info: ModelInfo ) {\n\n const data = this.modelData.find( ( { url, } ) => url === info.url )\n\n if ( data ) return\n\n this.modelData.push( info )\n \n }\n\n private _text2IVector3 ( text: string ): IVector3 {\n\n const arr = text.split( ', ' )\n\n return {\n x: Number( arr[ 0 ] ),\n y: Number( arr[ 1 ] ),\n z: Number( arr[ 2 ] ),\n }\n \n }\n\n private _text2Bool ( text: string ): boolean {\n\n return text === 'True'\n \n }\n\n private _pathModeChange ( basePath: string, currentPath: string ) {\n\n const fullPath = basePath + currentPath\n\n if ( fullPath.includes( '://' ) ) {\n\n const fullPathArr = fullPath.split( '://' )\n\n return (\n fullPathArr[ 0 ] + '://' +\n fullPathArr[ 1 ].replace( '\\\\', '/' ).replace( './', '/' ).replace( '//', '/' )\n )\n \n } else {\n\n return fullPath.replace( '\\\\', '/' ).replace( './', '/' ).replace( '//', '/' )\n \n }\n \n }\n\n private _getFileExtensionFc ( fileInfo: any ) {\n\n const fileList = fileInfo?.folder?.file\n\n let fileExtensionList: any[] = []\n\n if ( fileList && Array.isArray( fileList ) ) {\n\n fileExtensionList = fileList.filter( ( item => {\n\n const { Extension, } = item._attributes\n\n return Extension === '.sbm' || Extension === '.sbmx'\n\n } ) )\n \n }\n\n return ( longName: string ) => {\n\n const current = fileExtensionList.find( file => file?._attributes?.name.startsWith( longName ) )?._attributes\n\n return `${longName}${current?.Extension || '.sbm'}`\n \n }\n \n }\n\n}\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.12",
4
+ "version": "2.13.14",
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": "aa34f472ae1520b537b0a5a1d67f4a746f41236a",
16
+ "gitHead": "71d91773a54276b7cbb0a0525ba5f921345f121f",
17
17
  "peerDependencies": {
18
- "soonspacejs": "2.13.12"
18
+ "soonspacejs": "2.13.14"
19
19
  }
20
20
  }