Commit Graph

70 Commits

Author SHA1 Message Date
Thomas Krijnen da4e86a1d5 Exploration of using rocksdb as file+instance storage 2025-02-21 16:12:16 +01:00
Thomas Krijnen d80bcd1a94 Unify variant storage (#5118) 2024-08-23 20:29:07 +02:00
Thomas Krijnen eed0b55f01 Move version definition below header include 2024-03-14 10:26:51 +01: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 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
aothms 99abc6e0e2 Fix errors on clang 2023-03-31 15:19:39 -04:00
Thomas Krijnen 4c854fbb62 Try to do less allocation during parse, favour upper case entity names in spf 2022-06-06 09:59:32 +02:00
Thomas Krijnen 3bebfcd8a7 Pass branch and sha to compiler 2021-09-09 09:43:28 +02:00
Thomas Krijnen 8f1db0019b Merge remote-tracking branch 'origin/v0.6.0' into v0.7.0 2021-08-15 20:40:55 +02:00
Thomas Krijnen 44c868caed #1531 Breadth-first search and maintain insertion order on remove_deep() 2021-08-12 13:35:45 +02:00
Thomas Krijnen d1fe1117be adapt code for previous commits 2021-07-29 14:54:51 +02:00
Rick Brice 64e6561828 Initalizes list_ with null points 2021-04-29 16:27:57 +02:00
Thomas Krijnen b3711ad8cb thread_local define for clang 2019-08-09 10:05:49 +02:00
Thomas Krijnen 3ebca0516e Implement multi_threaded implementation in Iterator 2019-07-03 12:10:27 +02:00
Thomas Krijnen 26621cbcd5 Update version string to 0.6.0b0 2019-05-21 13:33:59 +02:00
Thomas Krijnen 3e80d3646c Work on ifcxml parsere 2018-09-02 11:59:54 +02:00
Thomas Krijnen 49932ba5c0 Python wrapper precision updates 2018-07-08 10:32:26 +02:00
Thomas Krijnen bc64b339a7 Bump version identifier 2018-01-29 15:02:16 +01:00
Thomas Krijnen af93f2a64d Use naked pointer for attribute list and derive size from schema type to reduce mem usage 2018-01-29 12:11:50 +01:00
Thomas Krijnen b3458c872f Work on python wrapper 2017-12-22 13:51:11 +01:00
youaresoomean fae9661efd Update IfcParse.h (#256) 2017-09-08 17:18:11 +02:00
Thomas Krijnen 1e8b1d9c9c traverse() as a global function rather than method on IfcFile 2017-06-20 18:54:30 +02:00
Thomas Krijnen 5e0da9725a ifcparse refactoring (#190)
Unify attribute containers, provide latebound attribute access on IfcBaseEntity, more basic tests on Travis
2017-06-05 17:26:58 +02:00
Stinkfist0 6d6e7c2982 Unify IfcParse's dllimport/export macros with IfcGeom. 2016-07-20 22:49:32 +03:00
stgatilov 8725c66306 Performance improvement of IfcParse tokenizer (#82)
* 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.
2016-06-09 18:25:50 +02:00
stgatilov b5c4eb3b6f IfcParse dynamic linking, IFCPARSE_NO_REGEX, fixes for three memory leaks (#76)
* 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).
2016-05-29 14:12:57 +02:00
Ivano Ras 0253c1ddbe Extended error logging
Fixes #33
2016-05-11 10:56:40 +02:00
Stinkfist0 2f8fa3282b Fix mem leak in IfcSpfStream (not closed upon destruction), make Entity's dtor virtual. 2016-02-07 22:45:42 +02:00
aothms ed8cc620ea Use boost::shared_ptr
Fixes https://github.com/IfcOpenShell/IfcOpenShell/issues/17
2016-01-25 14:42:41 +01:00
Thomas Krijnen 4f60c7d48c Provide concrete C++ implementations for all multidimensional aggregate types in IFC4 2015-06-16 12:58:07 +00:00
Thomas Krijnen 955190b517 Add support for reading and writing BINARY attributes. Rename members of the IfcUtil::ArgumentType enumeration. 2015-04-07 15:06:56 +00:00
Thomas Krijnen 7b17c2dccd Make header values writable 2015-01-16 16:26:40 +00:00
Thomas Krijnen 8581fed39b Track inverse attributes more correctly
Rename Size() to size() on EntityList and friends
2015-01-10 22:13:52 +00:00
Thomas Krijnen f3c26c372d Parse the spf header and check schema_identifiers against compiled schema 2015-01-05 17:46:23 +00:00
Thomas Krijnen 4d5d749255 Merge developments from the python_wrapper branch into master 2015-01-05 14:11:42 +00:00
Thomas Krijnen 2a403e240d *** See: https://sourceforge.net/p/ifcopenshell/discussion/1782718/thread/6bd0f843/ ***
Massive refactor of the IfcGeomObjects module, which is now the IfcGeom::Iterator class.
2014-12-19 12:14:36 +00:00
Thomas Krijnen 872dd4e831 Rewrite IfcFile::AddEntity() not to rely on exceptions, as suggested by ch0kee. 2014-11-02 18:36:51 +00:00
Thomas Krijnen 1b54ba039d - Add support for IFC4 nurbs surfaces (IfcBSplineSurfaceWithKnots and IfcAdvancedFace)
- Remove unnecessary typedefs
2014-05-04 14:42:55 +00:00
Thomas Krijnen aebb9469a9 Fixes for parsing files with comments 2014-04-02 15:04:09 +00:00
Thomas Krijnen 17f873b486 First stab at a new express parser to have some more luck with Ifc4 2014-02-17 22:13:55 +00:00
Thomas Krijnen 87259c0cab Bump version numbers 2014-01-12 11:03:50 +00:00
Thomas Krijnen 24b03330ef Update version numbers 2013-01-01 15:11:04 +00:00
Thomas Krijnen 578dce4a47 Provide more contextual information in the IFC SPF file header 2012-11-17 15:19:38 +00:00
Thomas Krijnen 6f1e1c3bad NOTE: From now on Boost is required in order to compile IfcOpenShell
====================================================================

- Use boost::optional for optional IFC arguments
- Use boost::uuid for the creation of GlobalIds
- New IfcGeomObjects setting to force alignment of TopoDS_Face normal to CCW orientation
- Removed static Ifc class, renamed to non-static IfcFile. IfcFile renamed to IfcSpfStream
- Introduced Logger class
- Introduced EntityBuffer class that keeps track of all writable entities created to add them all in once to the IfcFile class
2012-08-11 13:24:08 +00:00
Thomas Krijnen b4e42025fd Convert all .cpp and .h files to UTF-8 with BOM 2012-07-19 18:26:47 +00:00
Thomas Krijnen 6ced646413 IfcParse: get entities by type string 2012-07-19 00:14:01 +00:00
Thomas Krijnen 1d4a999381 Initial draft of writing and modifying IFC files 2012-07-18 19:32:58 +00:00