{"version":3,"file":"vendor.bim-fragment-b575e463.246caa3ff83a7f46.bundle.js","mappings":"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","sources":["webpack://client-app/./node_modules/bim-fragment/src/alignment.js","webpack://client-app/./node_modules/bim-fragment/src/blocks.js","webpack://client-app/./node_modules/bim-fragment/src/bvh.js","webpack://client-app/./node_modules/bim-fragment/src/flatbuffers/fragments/index/alignment.js","webpack://client-app/./node_modules/bim-fragment/src/flatbuffers/fragments/index/civil.js"],"sourcesContent":["export class IfcAlignmentData {\r\n constructor() {\r\n this.coordinates = new Float32Array(0);\r\n this.alignmentIndex = [];\r\n this.curveIndex = [];\r\n }\r\n exportData() {\r\n const { coordinates, alignmentIndex, curveIndex } = this;\r\n return { coordinates, alignmentIndex, curveIndex };\r\n }\r\n}\r\n//# sourceMappingURL=alignment.js.map","/**\r\n * Contains the logic to get, create and delete geometric subsets of an IFC model. For example,\r\n * this can extract all the items in a specific IfcBuildingStorey and create a new Mesh.\r\n */\r\nexport class Blocks {\r\n get count() {\r\n return this.ids.size;\r\n }\r\n constructor(fragment) {\r\n this.fragment = fragment;\r\n this._visibilityInitialized = false;\r\n this._originalIndex = new Map();\r\n this._idIndexIndexMap = {};\r\n const rawIds = fragment.mesh.geometry.attributes.blockID.array;\r\n this.ids = new Set(rawIds);\r\n this.visibleIds = new Set(this.ids);\r\n }\r\n setVisibility(visible, itemIDs = new Set(this.fragment.items), isolate = false) {\r\n const geometry = this.fragment.mesh.geometry;\r\n const index = geometry.index;\r\n if (!this._visibilityInitialized) {\r\n this.initializeVisibility(index, geometry);\r\n }\r\n if (isolate) {\r\n index.array.fill(0);\r\n }\r\n for (const id of itemIDs) {\r\n const indices = this._idIndexIndexMap[id];\r\n if (!indices)\r\n continue;\r\n for (const i of indices) {\r\n const originalIndex = this._originalIndex.get(i);\r\n if (originalIndex === undefined)\r\n continue;\r\n const blockID = geometry.attributes.blockID.getX(originalIndex);\r\n const itemID = this.fragment.items[blockID];\r\n if (itemIDs.has(itemID)) {\r\n if (visible) {\r\n this.visibleIds.add(blockID);\r\n }\r\n else {\r\n this.visibleIds.delete(blockID);\r\n }\r\n const newIndex = visible ? originalIndex : 0;\r\n index.setX(i, newIndex);\r\n }\r\n }\r\n }\r\n index.needsUpdate = true;\r\n }\r\n initializeVisibility(index, geometry) {\r\n for (let i = 0; i < index.count; i++) {\r\n const foundIndex = index.getX(i);\r\n this._originalIndex.set(i, foundIndex);\r\n const blockID = geometry.attributes.blockID.getX(foundIndex);\r\n const itemID = this.fragment.getItemID(0, blockID);\r\n if (!this._idIndexIndexMap[itemID]) {\r\n this._idIndexIndexMap[itemID] = [];\r\n }\r\n this._idIndexIndexMap[itemID].push(i);\r\n }\r\n this._visibilityInitialized = true;\r\n }\r\n // Use this only for destroying the current Fragment instance\r\n dispose() {\r\n this._idIndexIndexMap = {};\r\n this.ids.clear();\r\n this.visibleIds.clear();\r\n this._originalIndex.clear();\r\n this.ids = null;\r\n this.visibleIds = null;\r\n this._originalIndex = null;\r\n }\r\n}\r\n//# sourceMappingURL=blocks.js.map","import { BufferGeometry, Mesh } from \"three\";\r\nimport { computeBoundsTree, disposeBoundsTree, acceleratedRaycast, } from \"three-mesh-bvh\";\r\n// Source: https://github.com/gkjohnson/three-mesh-bvh\r\nexport class BVH {\r\n static apply(geometry) {\r\n if (!BVH.initialized) {\r\n BufferGeometry.prototype.computeBoundsTree = computeBoundsTree;\r\n BufferGeometry.prototype.disposeBoundsTree = disposeBoundsTree;\r\n Mesh.prototype.raycast = acceleratedRaycast;\r\n BVH.initialized = true;\r\n }\r\n if (!geometry.boundsTree) {\r\n geometry.computeBoundsTree();\r\n }\r\n }\r\n static dispose(geometry) {\r\n geometry.disposeBoundsTree();\r\n }\r\n}\r\nBVH.initialized = false;\r\n//# sourceMappingURL=bvh.js.map","// automatically generated by the FlatBuffers compiler, do not modify\r\nimport * as flatbuffers from 'flatbuffers';\r\nexport class Alignment {\r\n constructor() {\r\n this.bb = null;\r\n this.bb_pos = 0;\r\n }\r\n __init(i, bb) {\r\n this.bb_pos = i;\r\n this.bb = bb;\r\n return this;\r\n }\r\n static getRootAsAlignment(bb, obj) {\r\n return (obj || new Alignment()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\r\n }\r\n static getSizePrefixedRootAsAlignment(bb, obj) {\r\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\r\n return (obj || new Alignment()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\r\n }\r\n position(index) {\r\n const offset = this.bb.__offset(this.bb_pos, 4);\r\n return offset ? this.bb.readFloat32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0;\r\n }\r\n positionLength() {\r\n const offset = this.bb.__offset(this.bb_pos, 4);\r\n return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;\r\n }\r\n positionArray() {\r\n const offset = this.bb.__offset(this.bb_pos, 4);\r\n 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;\r\n }\r\n curve(index) {\r\n const offset = this.bb.__offset(this.bb_pos, 6);\r\n return offset ? this.bb.readInt32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0;\r\n }\r\n curveLength() {\r\n const offset = this.bb.__offset(this.bb_pos, 6);\r\n return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;\r\n }\r\n curveArray() {\r\n const offset = this.bb.__offset(this.bb_pos, 6);\r\n return offset ? new Int32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;\r\n }\r\n segment(index) {\r\n const offset = this.bb.__offset(this.bb_pos, 8);\r\n return offset ? this.bb.readInt32(this.bb.__vector(this.bb_pos + offset) + index * 4) : 0;\r\n }\r\n segmentLength() {\r\n const offset = this.bb.__offset(this.bb_pos, 8);\r\n return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;\r\n }\r\n segmentArray() {\r\n const offset = this.bb.__offset(this.bb_pos, 8);\r\n return offset ? new Int32Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;\r\n }\r\n static startAlignment(builder) {\r\n builder.startObject(3);\r\n }\r\n static addPosition(builder, positionOffset) {\r\n builder.addFieldOffset(0, positionOffset, 0);\r\n }\r\n static createPositionVector(builder, data) {\r\n builder.startVector(4, data.length, 4);\r\n for (let i = data.length - 1; i >= 0; i--) {\r\n builder.addFloat32(data[i]);\r\n }\r\n return builder.endVector();\r\n }\r\n static startPositionVector(builder, numElems) {\r\n builder.startVector(4, numElems, 4);\r\n }\r\n static addCurve(builder, curveOffset) {\r\n builder.addFieldOffset(1, curveOffset, 0);\r\n }\r\n static createCurveVector(builder, data) {\r\n builder.startVector(4, data.length, 4);\r\n for (let i = data.length - 1; i >= 0; i--) {\r\n builder.addInt32(data[i]);\r\n }\r\n return builder.endVector();\r\n }\r\n static startCurveVector(builder, numElems) {\r\n builder.startVector(4, numElems, 4);\r\n }\r\n static addSegment(builder, segmentOffset) {\r\n builder.addFieldOffset(2, segmentOffset, 0);\r\n }\r\n static createSegmentVector(builder, data) {\r\n builder.startVector(4, data.length, 4);\r\n for (let i = data.length - 1; i >= 0; i--) {\r\n builder.addInt32(data[i]);\r\n }\r\n return builder.endVector();\r\n }\r\n static startSegmentVector(builder, numElems) {\r\n builder.startVector(4, numElems, 4);\r\n }\r\n static endAlignment(builder) {\r\n const offset = builder.endObject();\r\n return offset;\r\n }\r\n static createAlignment(builder, positionOffset, curveOffset, segmentOffset) {\r\n Alignment.startAlignment(builder);\r\n Alignment.addPosition(builder, positionOffset);\r\n Alignment.addCurve(builder, curveOffset);\r\n Alignment.addSegment(builder, segmentOffset);\r\n return Alignment.endAlignment(builder);\r\n }\r\n}\r\n//# sourceMappingURL=alignment.js.map","// automatically generated by the FlatBuffers compiler, do not modify\r\nimport * as flatbuffers from 'flatbuffers';\r\nimport { Alignment } from '../../fragments/index/alignment.js';\r\nexport class Civil {\r\n constructor() {\r\n this.bb = null;\r\n this.bb_pos = 0;\r\n }\r\n __init(i, bb) {\r\n this.bb_pos = i;\r\n this.bb = bb;\r\n return this;\r\n }\r\n static getRootAsCivil(bb, obj) {\r\n return (obj || new Civil()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\r\n }\r\n static getSizePrefixedRootAsCivil(bb, obj) {\r\n bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);\r\n return (obj || new Civil()).__init(bb.readInt32(bb.position()) + bb.position(), bb);\r\n }\r\n alignmentHorizontal(obj) {\r\n const offset = this.bb.__offset(this.bb_pos, 4);\r\n return offset ? (obj || new Alignment()).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null;\r\n }\r\n alignmentVertical(obj) {\r\n const offset = this.bb.__offset(this.bb_pos, 6);\r\n return offset ? (obj || new Alignment()).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null;\r\n }\r\n alignment3d(obj) {\r\n const offset = this.bb.__offset(this.bb_pos, 8);\r\n return offset ? (obj || new Alignment()).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null;\r\n }\r\n static startCivil(builder) {\r\n builder.startObject(3);\r\n }\r\n static addAlignmentHorizontal(builder, alignmentHorizontalOffset) {\r\n builder.addFieldOffset(0, alignmentHorizontalOffset, 0);\r\n }\r\n static addAlignmentVertical(builder, alignmentVerticalOffset) {\r\n builder.addFieldOffset(1, alignmentVerticalOffset, 0);\r\n }\r\n static addAlignment3d(builder, alignment3dOffset) {\r\n builder.addFieldOffset(2, alignment3dOffset, 0);\r\n }\r\n static endCivil(builder) {\r\n const offset = builder.endObject();\r\n return offset;\r\n }\r\n}\r\n//# sourceMappingURL=civil.js.map"],"names":["IfcAlignmentData","constructor","this","coordinates","Float32Array","alignmentIndex","curveIndex","exportData","Blocks","count","ids","size","fragment","_visibilityInitialized","_originalIndex","Map","_idIndexIndexMap","rawIds","mesh","geometry","attributes","blockID","array","Set","visibleIds","setVisibility","visible","itemIDs","items","isolate","index","initializeVisibility","fill","id","indices","i","originalIndex","get","undefined","getX","itemID","has","add","delete","newIndex","setX","needsUpdate","foundIndex","set","getItemID","push","dispose","clear","BVH","static","initialized","BufferGeometry","Mesh","boundsTree","computeBoundsTree","disposeBoundsTree","Alignment","bb","bb_pos","__init","obj","readInt32","position","setPosition","offset","__offset","readFloat32","__vector","positionLength","__vector_len","positionArray","bytes","buffer","byteOffset","curve","curveLength","curveArray","Int32Array","segment","segmentLength","segmentArray","builder","startObject","positionOffset","addFieldOffset","data","startVector","length","addFloat32","endVector","numElems","curveOffset","addInt32","segmentOffset","endObject","startAlignment","addPosition","addCurve","addSegment","endAlignment","Civil","alignmentHorizontal","__indirect","alignmentVertical","alignment3d","alignmentHorizontalOffset","alignmentVerticalOffset","alignment3dOffset"],"sourceRoot":""}