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);
* Preliminary MSYS2 + MinGW build scripts and instructions.
* CMakeLists.txt: MinGW tweaks, enforce C++03, suppress warnings for now.
* Fix some GCC warnings.
* Fix unused parameter warnings coming from Ifc*.h.
* Fix warning regarding unreachable code (++jt) on MSVC.
* Add IfcParse_EXPORT for IfcInvalidTokenException
* Fix potentially uninitialized pointer variables.
* Note about OpenCASCADE cyclic dependencies fix.
* GCC warning fix: don't generate 'current_enum' variable that is only set and not used for anything ever
* Work around -Wmaybe-uninitialized warnings about boost::optional constructs. Also prevent passing of negative values for --bounds.
* Remove unused variable.
* CMakeLists.txt: ENABLE_BUILD_OPTIMIZATIONS for GCC (simply enforce -03)
* Applied MSVC tabify to IfcParse.cpp/h.
* Now Argument base class has throwing implementation for each conversion operator (removed those from derived classes).
* Added NullArgument class for the case when null arguments appear after setting elements.
* Now operator tokens are handled just like any other token.
* Refactoring: Token is now a struct with good fields, not a nameless pair.
* Now end position of token is set at its construction.
* Now type of token is determined on construction, as* function simply check stored type.
* Now int-s, float-s and some etc are parsed when token is created.
* Implemented simple way to remove spaces in parsing.
* Tokens are now created without allocations.
* Call RemoveTokenSeparators once for every token.
* Added temporary std::string object in lexer (for optimization purposes).
* Reimplemented asString without allocations.
* Parsing keywords without allocations.
* Added checks for type to tokenFunc::as*** functions.
* CMake: moved setting link directories before all the projects.
* Added IfcParse_Export header for declaring export macro.
* Added IFCPARSE_STATIC_DEFINE macro to all projects.
* Added include for export macro to swig file.
* Added IfcParse_EXPORT macro for all classes in headers generated by express parser.
* Allow removing boost.regex dependency by defining macro IFCPARSE_NO_REGEX.
* Fixed bug in deletion of ICU converter.
* Added export macro to most of the classes across headers
* Fixed memory leak: delete nested IfcAbstractEntity in EntityArgument.
* Fixed memory leak in destructor of IfcWritableEntity (args values).
- Support different BINDIR, INCLUDEDIR and LIBDIR on install
- Take right python dir on x86_64 arch
- Fix build against Boost >= 1.58
- Make it possible to build libIfcGeom shared to reduce size of dependent binaries
- Fix INSTALL_RPATH
- Fix some more compiler warnings