Skip to content

Commit

Permalink
Make flatbuffer coord matrix more explicit
Browse files Browse the repository at this point in the history
  • Loading branch information
agviegas committed Jul 28, 2023
1 parent dfc7309 commit ff1717f
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 29 deletions.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "bim-fragment",
"version": "1.0.12",
"version": "1.0.13",
"description": "3D BIM Geometry API",
"main": "index.js",
"scripts": {
Expand All @@ -9,7 +9,7 @@
"build-examples": "rollup -c resources/rollup.config.mjs",
"publish-repo": "cpy package.json dist && cd dist && npm publish",
"create-flatbuffers": "cd src/flatbuffers && flatc.exe --ts fragment.fbs",
"regen-json": "cd src/flatbuffers && flatc.exe --json --raw-binary fragment.fbs -- example.bin"
"regen-json": "cd src/flatbuffers && flatc.exe --json --raw-binary fragment.fbs -- model.frag"
},
"repository": {
"type": "git",
Expand Down
24 changes: 12 additions & 12 deletions resources/openbim-components.js
Original file line number Diff line number Diff line change
Expand Up @@ -11541,15 +11541,15 @@ let FragmentsGroup$1 = class FragmentsGroup {
const offset = this.bb.__offset(this.bb_pos, 4);
return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
}
matrix(index) {
coordinationMatrix(index) {
const offset = this.bb.__offset(this.bb_pos, 6);
return offset ? this.bb.readFloat32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0;
}
matrixLength() {
coordinationMatrixLength() {
const offset = this.bb.__offset(this.bb_pos, 6);
return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
}
matrixArray() {
coordinationMatrixArray() {
const offset = this.bb.__offset(this.bb_pos, 6);
return offset ? new Float32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
}
Expand Down Expand Up @@ -11653,17 +11653,17 @@ let FragmentsGroup$1 = class FragmentsGroup {
static startItemsVector(builder, numElems) {
builder.startVector(4, numElems, 4);
}
static addMatrix(builder, matrixOffset) {
builder.addFieldOffset(1, matrixOffset, 0);
static addCoordinationMatrix(builder, coordinationMatrixOffset) {
builder.addFieldOffset(1, coordinationMatrixOffset, 0);
}
static createMatrixVector(builder, data) {
static createCoordinationMatrixVector(builder, data) {
builder.startVector(4, data.length, 4);
for (let i = data.length - 1; i >= 0; i--) {
builder.addFloat32(data[i]);
}
return builder.endVector();
}
static startMatrixVector(builder, numElems) {
static startCoordinationMatrixVector(builder, numElems) {
builder.startVector(4, numElems, 4);
}
static addIds(builder, idsOffset) {
Expand Down Expand Up @@ -11759,10 +11759,10 @@ let FragmentsGroup$1 = class FragmentsGroup {
static finishSizePrefixedFragmentsGroupBuffer(builder, offset) {
builder.finish(offset, undefined, true);
}
static createFragmentsGroup(builder, itemsOffset, matrixOffset, idsOffset, itemsKeysOffset, itemsKeysIndicesOffset, itemsRelsOffset, itemsRelsIndicesOffset, fragmentKeysOffset, idOffset, ifcNameOffset, ifcDescriptionOffset, ifcSchemaOffset, maxExpressId) {
static createFragmentsGroup(builder, itemsOffset, coordinationMatrixOffset, idsOffset, itemsKeysOffset, itemsKeysIndicesOffset, itemsRelsOffset, itemsRelsIndicesOffset, fragmentKeysOffset, idOffset, ifcNameOffset, ifcDescriptionOffset, ifcSchemaOffset, maxExpressId) {
FragmentsGroup.startFragmentsGroup(builder);
FragmentsGroup.addItems(builder, itemsOffset);
FragmentsGroup.addMatrix(builder, matrixOffset);
FragmentsGroup.addCoordinationMatrix(builder, coordinationMatrixOffset);
FragmentsGroup.addIds(builder, idsOffset);
FragmentsGroup.addItemsKeys(builder, itemsKeysOffset);
FragmentsGroup.addItemsKeysIndices(builder, itemsKeysIndicesOffset);
Expand Down Expand Up @@ -11868,7 +11868,7 @@ class Serializer {
items.push(exported);
}
const itemsVector = G.createItemsVector(builder, items);
const matrixVector = G.createMatrixVector(builder, group.coordinationMatrix.elements);
const matrixVector = G.createCoordinationMatrixVector(builder, group.coordinationMatrix.elements);
let fragmentKeys = "";
for (const key in group.keyFragments) {
const fragmentID = group.keyFragments[key];
Expand Down Expand Up @@ -11921,7 +11921,7 @@ class Serializer {
G.addItemsKeys(builder, keysVector);
G.addItemsRelsIndices(builder, relsIVector);
G.addItemsRels(builder, relsVector);
G.addMatrix(builder, matrixVector);
G.addCoordinationMatrix(builder, matrixVector);
const result = FragmentsGroup$1.endFragmentsGroup(builder);
builder.finish(result);
return builder.asUint8Array();
Expand Down Expand Up @@ -12010,7 +12010,7 @@ class Serializer {
schema: group.ifcSchema() || "",
maxExpressId: group.maxExpressId() || 0,
};
const matrixArray = group.matrixArray() || new Float32Array();
const matrixArray = group.coordinationMatrixArray() || new Float32Array();
const ids = group.idsArray() || new Uint32Array();
const keysIndices = group.itemsKeysIndicesArray() || new Uint32Array();
const keysArray = group.itemsKeysArray() || new Uint32Array();
Expand Down
2 changes: 1 addition & 1 deletion src/flatbuffers/fragment.fbs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ namespace Fragments.index;

table FragmentsGroup {
items: [Fragment];
matrix: [float];
coordination_matrix: [float];
ids: [uint];
items_keys: [uint];
items_keys_indices: [uint];
Expand Down
22 changes: 11 additions & 11 deletions src/flatbuffers/fragments/index/fragments-group.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,17 +33,17 @@ itemsLength():number {
return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;
}

matrix(index: number):number|null {
coordinationMatrix(index: number):number|null {
const offset = this.bb!.__offset(this.bb_pos, 6);
return offset ? this.bb!.readFloat32(this.bb!.__vector(this.bb_pos + offset) + index * 4) : 0;
}

matrixLength():number {
coordinationMatrixLength():number {
const offset = this.bb!.__offset(this.bb_pos, 6);
return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;
}

matrixArray():Float32Array|null {
coordinationMatrixArray():Float32Array|null {
const offset = this.bb!.__offset(this.bb_pos, 6);
return offset ? new Float32Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null;
}
Expand Down Expand Up @@ -183,24 +183,24 @@ static startItemsVector(builder:flatbuffers.Builder, numElems:number) {
builder.startVector(4, numElems, 4);
}

static addMatrix(builder:flatbuffers.Builder, matrixOffset:flatbuffers.Offset) {
builder.addFieldOffset(1, matrixOffset, 0);
static addCoordinationMatrix(builder:flatbuffers.Builder, coordinationMatrixOffset:flatbuffers.Offset) {
builder.addFieldOffset(1, coordinationMatrixOffset, 0);
}

static createMatrixVector(builder:flatbuffers.Builder, data:number[]|Float32Array):flatbuffers.Offset;
static createCoordinationMatrixVector(builder:flatbuffers.Builder, data:number[]|Float32Array):flatbuffers.Offset;
/**
* @deprecated This Uint8Array overload will be removed in the future.
*/
static createMatrixVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset;
static createMatrixVector(builder:flatbuffers.Builder, data:number[]|Float32Array|Uint8Array):flatbuffers.Offset {
static createCoordinationMatrixVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset;
static createCoordinationMatrixVector(builder:flatbuffers.Builder, data:number[]|Float32Array|Uint8Array):flatbuffers.Offset {
builder.startVector(4, data.length, 4);
for (let i = data.length - 1; i >= 0; i--) {
builder.addFloat32(data[i]!);
}
return builder.endVector();
}

static startMatrixVector(builder:flatbuffers.Builder, numElems:number) {
static startCoordinationMatrixVector(builder:flatbuffers.Builder, numElems:number) {
builder.startVector(4, numElems, 4);
}

Expand Down Expand Up @@ -346,10 +346,10 @@ static finishSizePrefixedFragmentsGroupBuffer(builder:flatbuffers.Builder, offse
builder.finish(offset, undefined, true);
}

static createFragmentsGroup(builder:flatbuffers.Builder, itemsOffset:flatbuffers.Offset, matrixOffset:flatbuffers.Offset, idsOffset:flatbuffers.Offset, itemsKeysOffset:flatbuffers.Offset, itemsKeysIndicesOffset:flatbuffers.Offset, itemsRelsOffset:flatbuffers.Offset, itemsRelsIndicesOffset:flatbuffers.Offset, fragmentKeysOffset:flatbuffers.Offset, idOffset:flatbuffers.Offset, ifcNameOffset:flatbuffers.Offset, ifcDescriptionOffset:flatbuffers.Offset, ifcSchemaOffset:flatbuffers.Offset, maxExpressId:number):flatbuffers.Offset {
static createFragmentsGroup(builder:flatbuffers.Builder, itemsOffset:flatbuffers.Offset, coordinationMatrixOffset:flatbuffers.Offset, idsOffset:flatbuffers.Offset, itemsKeysOffset:flatbuffers.Offset, itemsKeysIndicesOffset:flatbuffers.Offset, itemsRelsOffset:flatbuffers.Offset, itemsRelsIndicesOffset:flatbuffers.Offset, fragmentKeysOffset:flatbuffers.Offset, idOffset:flatbuffers.Offset, ifcNameOffset:flatbuffers.Offset, ifcDescriptionOffset:flatbuffers.Offset, ifcSchemaOffset:flatbuffers.Offset, maxExpressId:number):flatbuffers.Offset {
FragmentsGroup.startFragmentsGroup(builder);
FragmentsGroup.addItems(builder, itemsOffset);
FragmentsGroup.addMatrix(builder, matrixOffset);
FragmentsGroup.addCoordinationMatrix(builder, coordinationMatrixOffset);
FragmentsGroup.addIds(builder, idsOffset);
FragmentsGroup.addItemsKeys(builder, itemsKeysOffset);
FragmentsGroup.addItemsKeysIndices(builder, itemsKeysIndicesOffset);
Expand Down
6 changes: 3 additions & 3 deletions src/serializer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ export class Serializer {

const itemsVector = G.createItemsVector(builder, items);

const matrixVector = G.createMatrixVector(
const matrixVector = G.createCoordinationMatrixVector(
builder,
group.coordinationMatrix.elements
);
Expand Down Expand Up @@ -145,7 +145,7 @@ export class Serializer {
G.addItemsKeys(builder, keysVector);
G.addItemsRelsIndices(builder, relsIVector);
G.addItemsRels(builder, relsVector);
G.addMatrix(builder, matrixVector);
G.addCoordinationMatrix(builder, matrixVector);
const result = FB.FragmentsGroup.endFragmentsGroup(builder);
builder.finish(result);

Expand Down Expand Up @@ -260,7 +260,7 @@ export class Serializer {
maxExpressId: group.maxExpressId() || 0,
};

const matrixArray = group.matrixArray() || new Float32Array();
const matrixArray = group.coordinationMatrixArray() || new Float32Array();
const ids = group.idsArray() || new Uint32Array();
const keysIndices = group.itemsKeysIndicesArray() || new Uint32Array();
const keysArray = group.itemsKeysArray() || new Uint32Array();
Expand Down

0 comments on commit ff1717f

Please sign in to comment.