Skip to content

Commit bec0f5a

Browse files
committed
Add Extra Functionality for Integration in Web-ifc-three
1 parent fc094ec commit bec0f5a

File tree

4 files changed

+22
-2
lines changed

4 files changed

+22
-2
lines changed

.github/workflows/publish.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
build:
99
runs-on: ubuntu-latest
1010
permissions:
11-
contents: read
11+
contents: write
1212
packages: write
1313
steps:
1414
- uses: actions/checkout@v3
@@ -20,6 +20,7 @@ jobs:
2020
version: 3.1.31
2121
- run: npm install -g npm@latest
2222
- run: npm ci
23+
- run: npm unpublish ${{ github.event.release.tag_name }}
2324
- run: npm version ${{ github.event.release.tag_name }} --git-tag-version false
2425
- run: npm run build-publish-repo
2526
- uses: stefanzweifel/git-auto-commit-action@v4

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
"web-ifc-api.js",
6767
"web-ifc-api-browser.js",
6868
"web-ifc-api.d.ts",
69-
"ifc_schema.d.ts",
69+
"ifc-schema.d.ts",
7070
"helpers/properties.d.ts",
7171
"web-ifc-mt-worker.js"
7272
],

src/wasm/web-ifc-api.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -533,6 +533,13 @@ std::string GetNameFromTypeCode(uint32_t type)
533533
return GetReadableNameFromTypeCode(type);
534534
}
535535

536+
uint32_t GetTypeCodeFromName(uint32_t modelID,std::string typeName)
537+
{
538+
auto& loader = loaders[modelID];
539+
if (!loader) return 0;
540+
return loader->IfcTypeToTypeCode(typeName);
541+
}
542+
536543
bool IsIfcElement(uint32_t type)
537544
{
538545
return ifc::IfcElements.find(type) != ifc::IfcElements.end();
@@ -936,5 +943,6 @@ EMSCRIPTEN_BINDINGS(my_module) {
936943
emscripten::function("SetGeometryTransformation", &SetGeometryTransformation);
937944
emscripten::function("SetLogLevel", &SetLogLevel);
938945
emscripten::function("GetNameFromTypeCode", &GetNameFromTypeCode);
946+
emscripten::function("GetTypeCodeFromName", &GetTypeCodeFromName);
939947
emscripten::function("IsIfcElement", &IsIfcElement);
940948
}

src/web-ifc-api.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -459,6 +459,17 @@ export class IfcAPI {
459459
return this.wasmModule.GetNameFromTypeCode(type);
460460
}
461461

462+
/**
463+
* Gets the type code from a name code
464+
* @param modelID Model handle retrieved by OpenModel
465+
* @param name
466+
* @returns type code
467+
*/
468+
GetTypeCodeFromName(modelID: number,typeName:string): number
469+
{
470+
return this.wasmModule.GetTypeCodeFromName(modelID,typeName);
471+
}
472+
462473
/**
463474
* Evaluates if a type is subtype of IfcElement
464475
* @param type Type code

0 commit comments

Comments
 (0)