Commit Graph

260 Commits

Author SHA1 Message Date
Thomas Krijnen 96336d6f68 Ugly conditional compilation for without rdb support 2025-08-26 13:56:03 +02:00
Thomas Krijnen 862aa71a77 Left-overs after merge 2025-08-26 10:20:08 +02:00
Thomas Krijnen e920379ca3 SFINAE for BaseClass* 2025-08-26 10:19:47 +02:00
Thomas Krijnen 9d9e9ed4cb Merge remote-tracking branch 'origin/v0.8.0' into tfk-rocksdb-storage 2025-08-26 10:17:57 +02:00
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 2949a86f09 Properly initialize stream::eof #7045 2025-08-21 10:00:44 +02:00
Thomas Krijnen 952400bd58 Support defined types with instance references in parser (IfcPropertySetDefinitionSet; #6330) 2025-04-11 15:52:40 +02:00
Andrej730 0d7439c7a5 ifcopenshell.validate to catch invalid entities used in entities attributes #6409
Example

```
For instance:
    # 1 =IFCCARTESIANPOINT((5.,5.,nan.));
Entity with name 'nan.' not found in schema 'IFC4'
```
2025-03-25 18:15:37 +05: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 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
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 a420c4b707 Work towards serialization of data 2025-02-25 21:29:54 +01:00
Thomas Krijnen 048f77cfed Getting closer to working SPF again 2025-02-24 20:46:29 +01:00
Thomas Krijnen da4e86a1d5 Exploration of using rocksdb as file+instance storage 2025-02-21 16:12:16 +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 dbdc2add81 Parsing file with trailing comment fails 2024-11-14 21:57:27 +01: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
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
Andrej730 151244ae79 ifcopenshell.file() to create valid ifc header by default #5246
Valid type for author and organization is 'LIST [ 1 : ? ] OF STRING (256)'
2024-09-02 17:04:55 +05:00
Thomas Krijnen d80bcd1a94 Unify variant storage (#5118) 2024-08-23 20:29:07 +02:00
Thomas Krijnen 4ad426a5c5 Update IfcParse.cpp #4998 2024-07-17 09:45:34 +02:00
Richard Brice 585eeb283a emits * for derived entities instead of $
Validation service 0.6.4 started giving errors for entities with derived types where $ was used. The correct coding is *.
2024-07-10 12:51:27 -07:00
Thomas Krijnen 1e60454951 centralize attribute setting templates for size object reduction 2024-05-12 19:36:01 +02:00
Thomas Krijnen 90c7a9435c Fix #4070 don't increment aggregate length on invalid members 2024-04-18 10:45:22 +02:00
Thomas Krijnen 4f64b658b0 don't fail on null guid for rooted element deletion #2796 2024-04-16 11:10:44 +02:00
Dirk Olbrich 47a2971c65 ifcparse: fix clang-tidy warning readability-identifier-length 2024-03-06 09:25:02 +01:00
Dirk Olbrich eea9a14722 ifcparse: unify private member variables name to use trailing underscore 2024-03-06 09:25:02 +01:00
Dirk Olbrich 8b145248c6 ifcparse: fix clang-tidy warning readability-qualified-auto 2024-03-06 09:25:02 +01:00
Dirk Olbrich c29e7b32ad ifcparse: fix clang-tidy warning readability-implicit-bool-conversion 2024-03-06 09:25:02 +01:00
Dirk Olbrich 9f40674d91 ifcparse: fix clang-tidy warning readability-else-after-return 2024-03-06 09:25:02 +01:00
Dirk Olbrich b264408d85 ifcparse: fix clang-tidy warnung unused-includes 2024-03-06 09:25:02 +01:00
Dirk Olbrich 616a96972a clang-format: align license blocks
- split up some very long lines
2023-10-12 12:39:16 +02:00
Dirk Olbrich 63177a7c35 clang-format: format test 2023-10-12 12:39:16 +02:00
Shohei Kunimatsu 1767b09bbc Fix wrong attribute name usage (ValueComponent -> UnitComponent) in IfcFile::getUnit 2023-09-14 09:14:00 +02:00
Thomas Krijnen 2174fda88d #2704 keep track of simple types by iden to free later 2023-01-28 14:21:52 +01:00
Otso Alho d005524c4c catch missing instances one by one. do not throw away whole relation. 2022-11-10 14:18:50 +01:00
Thomas Krijnen c1aca6ba8c #2517 Don't free parsed simple types as part of parent entity, but at file destruction 2022-10-20 20:30:48 +02:00
Thomas Krijnen f012286eda #2408 ifcopenshell.file.get_inverse(with_attribute_indices) 2022-10-20 13:35:02 +02:00