Richard Brice
3e0ef46a37
Updates IfcHierarchyHelper::addRelatedObject to work with IfcRelNests
2025-07-27 15:10:22 -07:00
Osyotr
bf7171b7ba
Don't mark function that throws exception noexcept
2025-07-26 08:40:03 +02:00
Cristian Ritter
d10c176bb6
re-adding u32string if ASCII instead of use only Boost.Locale
2025-06-13 10:39:59 +02:00
Cristian Ritter
94452b4a7a
change deprecated wstring_convert to Boost.Locale and fix #6779 issue
2025-06-12 08:52:38 +02:00
Andrej
60c71c145b
IfcFile::inverse_attr_record - add a note
2025-06-11 19:39:46 +05:00
Thomas Krijnen
69b6c41791
Use u32string throughout in character decoder
2025-06-10 20:33:21 +02:00
Thomas Krijnen
70440050db
Bounds checking in variant array
2025-04-30 20:43:43 +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
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
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
240c78c12a
Update IfcHierarchyHelper.h
2025-02-25 14:18:10 +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
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
Kristoffer Andersen
0f87bd8206
use a macro to change for boost > 1.86
2024-09-03 11:09:22 +02:00
Kristoffer Andersen
1fe168d331
Update IfcGlobalId.cpp to support boost 1.86
...
It looks like mt19937 is no longer a member of boost in boost 1.86. I propose we use to std::mt19937 (which is already how it is used by svgfill.cpp)
see failure log from conda forge libboost 1.86 test here:
https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=1008654&view=logs&j=4f922444-fdfe-5dcf-b824-02f86439ef14&t=b2a8456a-fb11-5506-ca32-5ccd32538dc0&l=880
2024-09-03 11:09:22 +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
Andrej730
76ba3947f5
Expose header properties with invalid values #5246
2024-08-31 14:31:41 +02:00
Thomas Krijnen
c521892ca2
::impl to make msvc17 a bit happier
2024-08-25 09:54:44 +02:00
Thomas Krijnen
7a2e58944e
clang (rightfully) complains about missing include
2024-08-24 15:00:49 +02:00
Thomas Krijnen
daa6b31c5d
msvc17 workaround
2024-08-24 13:24:23 +02: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