Windows & Visual Studio build scripts continued#9
Conversation
…VS version can be identified in generic fashion
…nditional expressions, integer conversions, inability to generate copy-ctor and/or assignment operator, etc.
… + move <map> inclusion to .cpp as it's not needed in .h + use spaces instead of tabs consistently for these files as seems to be the convention.
…rser/express_parser.py
|
I'd have one more commit pending at my home PC, but it seems that the SSD broke or something and I cannot currently boot my PC into Windows... I'll probably re-do the commit at work. |
|
Sorry to hear that. Btw. I started using boost::to_upper(_copy) and its -lower equivalent. For the sake of consistency maybe that's better sake then your std::transform(). But anyway everything better than this for-loop from hell. |
|
Yup, actually I even added |
|
OK, the stuff I have in mind for now is in. I left couple warnings as I wasn't 100 % sure if these should be simply suppressed or not, so maybe you can check these out when you have the time.: E: never mind |
|
I should be done with this for now, if you don't have any issues with the commits. Next I'll try to focus on actual IfcOpenShell/IfcConvert enhancements. :) |
|
I'll probably also commit logic for detecting the used Visual Studio version automatically in vs-cfg.cmd by Monday. Edit: I'll commit this tomorrow, after that should be good to go. |
|
Ok, thanks for the update. Looking forward for that, take your time. |
…rator from VS env vars.
|
@aothms OK, ready to rock! |
Windows & Visual Studio build scripts continued
|
Great. Thanks again for a great effort. I don't really have the time to test extensively, but since changes in this PR have already proven to help users [1] I'm just going ahead and merge it. [1] https://sourceforge.net/p/ifcopenshell/discussion/1782718/thread/d6365537/?limit=25&page=2#59c9 |
When adding entities, don't assign ID to Simple types. Otherwise that type will be serialized incorrectly. This fixes the issue with IFCPLANEANGLEMEASURE being serilzed incorrectly when used as attribute to IFCMEASUREWITHUNIT. With ID assigned, it will look like this: IfcOpenShell#10=IFCMEASUREWITHUNIT(IfcOpenShell#9=IFCPLANEANGLEMEASURE(0.017453293),IfcOpenShell#8); The correct way to serialze is: IfcOpenShell#10=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453293),IfcOpenShell#8);
When adding entities, don't assign ID to Simple types. Otherwise that type will be serialized incorrectly. This fixes the issue with IFCPLANEANGLEMEASURE being serilzed incorrectly when used as attribute to IFCMEASUREWITHUNIT. With ID assigned, it will look like this: #10=IFCMEASUREWITHUNIT(#9=IFCPLANEANGLEMEASURE(0.017453293),#8); The correct way to serialze is: #10=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453293),#8);
Fix issue with opening placements
I will be pushing some enhancements and fixes to this PR during the weekend.