Commit Graph

600 Commits

Author SHA1 Message Date
Thomas Krijnen d2c7c1532c Implement streaming scan through file and use in rocksdb serializer and python 2025-08-25 12:45:10 +02:00
Thomas Krijnen 5a597d1a84 Fix binary size issue 2025-03-28 12:08:25 +01:00
Thomas Krijnen c935b2fc12 Merge branch 'v0.8.0' into tfk-rocksdb-storage 2025-03-25 13:05:45 +01:00
Thomas Krijnen bd92821b2e Add file offset to instance reference errors so that they are picked up by ifcopenshell.validate 2025-03-25 11:44:46 +01:00
Thomas Krijnen 3744b81ccd Only accept finite floats #6409 2025-03-25 10:15:24 +01:00
Thomas Krijnen e327932f4e Fixes to HierarchyHelper #6365 2025-03-21 13:48:59 +01:00
Sebastian Friston 35fe79dfb2 ISSUE #6328 fix in dispatch_token to avoid missing unknown in logicals 2025-03-20 14:03:07 +01:00
Thomas Krijnen 425de7b857 Further small memory optimizations 2025-03-18 10:41:03 +01:00
Thomas Krijnen 929611f384 Specific speed-ups 2025-03-14 18:56:27 +01:00
Thomas Krijnen 8af4afa781 Do use merges, much better perf, instantiate inverses directly and generally, no longer copy map 2025-03-14 16:16:25 +01:00
Richard Brice 04e07db0a3 Import alignment from csv (#6234)
* Start of the official alignment API

* Import alignment into bonsai model using CSV file
2025-03-14 07:31:50 -07:00
Thomas Krijnen 15bbb3b779 Implement rocksdb-based has() 2025-03-14 13:11:30 +01:00
Thomas Krijnen 10682fb226 Fix python binding 2025-03-14 10:20:22 +01:00
Thomas Krijnen df6b7a34f7 Auto-detect filetype 2025-03-13 13:09:39 +01:00
Thomas Krijnen 67932a22c3 Working non-streaming serializer and read-only model 2025-03-13 12:34:54 +01:00
Thomas Krijnen 9f49ad5f71 Non-streaming rocksdb serializer nearing completion 2025-03-09 21:20:16 +01:00
Thomas Krijnen ce4407ff3c Some successes writing and reading 2025-02-27 22:07:31 +01:00
Thomas Krijnen c58c8269af Fix codegen 2025-02-26 09:34:02 +01:00
Thomas Krijnen c0f148cd3c Run codegen for header schema 2025-02-26 09:25:04 +01:00
Thomas Krijnen a420c4b707 Work towards serialization of data 2025-02-25 21:29:54 +01:00
Thomas Krijnen 240c78c12a Update IfcHierarchyHelper.h 2025-02-25 14:18:10 +01:00
Thomas Krijnen 048f77cfed Getting closer to working SPF again 2025-02-24 20:46:29 +01:00
Thomas Krijnen 0b2321f478 Add template keyword 2025-02-24 13:33:53 +01:00
Thomas Krijnen 7331f7361f Workaround explicit in-class specialization to if constexpr #6206 2025-02-24 13:30:24 +01:00
Richard Brice 8c16f394c1 Updates alignment api
Fixes mapping of vertical alignment parabola business logic to geometry. Adds creation function of h and v alignment. Adds stationing referent at start of alignment. Fixes utility functions
2025-02-22 16:16:59 -08:00
Richard Brice 6429fe34ed Implements IfcHierarchyHelper.addRelatedObject for IfcRelDefinesByType 2025-02-22 16:11:06 -08:00
Thomas Krijnen 5c9ff09517 Rerun codegen 2025-02-21 16:13:39 +01:00
Thomas Krijnen da4e86a1d5 Exploration of using rocksdb as file+instance storage 2025-02-21 16:12:16 +01:00
Richard Brice bb1e00e474 Fixes problems mapping vertical alignment segments business logic to geometry 2025-02-18 12:43:11 -08:00
Thomas Krijnen 919df92888 Virtual inheritance configurable at codegen time 2025-01-30 13:12:42 +01:00
Thomas Krijnen 638b2c59ea Catch string encoding errors and set status #5992 2025-01-23 16:20:06 +01:00
Thomas Krijnen c37fd6ae0b Don't throw exception but set to $ when encountering invalid instance name #5680 2025-01-15 10:08:31 +01:00
Thomas Krijnen 352e361ea5 Check for nullptr before resolving inverses 2024-12-19 10:40:59 +01:00
Thomas Krijnen 8edbb37121 Fix latebound entity inheritance hierarchy wrt id() #5822 - not ideal, because BaseEntity.declation now returns declaration 2024-11-28 12:57:08 +01:00
Thomas Krijnen 957369219c More verbosity on invalid enumeration literals 2024-11-21 15:16:56 +01:00
Thomas Krijnen dbdc2add81 Parsing file with trailing comment fails 2024-11-14 21:57:27 +01:00
Thomas Krijnen 088bc207ab Don't fail on untyped enumerations 2024-11-11 13:57:36 +01:00
Cristian Ritter cf0a4e2bde Handle with lowercase hexadecimals #5620 2024-10-28 19:58:43 +01:00
Thomas Krijnen 18d5957424 Defensiveness against invalid syntax #5608 2024-10-20 14:17:13 +02:00
Thomas Krijnen f3df7b8475 Rerun codegen 2024-10-07 20:43:19 +02:00
Thomas Krijnen aa9b2d7428 populate_derived() upon instance creation, don't only rely on serialization 'hack' #5364 2024-10-07 20:41:34 +02:00
Thomas Krijnen 2c22421889 Don't consume token on invalid entity typename #5504 2024-09-29 19:15:29 +02:00
Thomas Krijnen a9ca4e7366 Mark status when parsing is terminated 2024-09-23 15:24:28 +02:00
Thomas Krijnen e4d1118124 Manually write out if-statements instead of visit with if-constexpr #5444 2024-09-23 15:10:37 +02:00
Andrej730 2a2efefac3 IfcSchema declaration_by_name to be safe
Couldn't find if we actually use it anywhere in the code but better to keep it safe, especially because it's exposed to Python and by accident user might provide some too bit integer instead of a string.
2024-09-17 16:28:02 +05:00
Andrej730 11ddcb0256 IfcSchema declaration_by_name to use size_t instead of int
By accident noticed that `declaration_by_name(-1)` crashes python. If we use size_t it will just throw an error like below

NotImplementedError: Wrong number or type of arguments for overloaded function 'schema_definition_declaration_by_name'.
  Possible C/C++ prototypes are:
    IfcParse::schema_definition::declaration_by_name(std::string const &) const
    IfcParse::schema_definition::declaration_by_name(size_t) const
2024-09-16 18:54:13 +05:00
Thomas Krijnen c7183a58ea aggregate of int/real compatibility in parsing #5302 2024-09-11 20:15:14 +02:00
Thomas Krijnen 5a44a8e325 Defensiveness against invalid data 2024-09-11 20:13:50 +02:00
Thomas Krijnen 12318fbfc2 Handle storage of nullptr as a proper Blank type in variant #5308 2024-09-05 14:38:57 +02:00
krande 88b861737c if boost >= 1.86 append newline to json logger 2024-09-03 11:56:15 +02:00