Commit Graph

73 Commits

Author SHA1 Message Date
aothms 7b82bfb477 Update log messages in parser 2015-10-05 13:08:24 +02:00
aothms 94d214808e Use boost::to_upper() and -::to_upper_copy() for string manipulation throughout codebase 2015-09-13 15:00:21 +02:00
Thomas Krijnen 1ec14118fe Introduce specific exception for out of range attribute indexing 2015-06-17 11:04:28 +00: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 df1805921b Create writable argument copies when duplicating entity instances 2015-03-12 17:54:52 +00:00
Thomas Krijnen dada40735b #include <xlocale.h> header on OS X 2015-02-20 22:02:22 +00:00
Thomas Krijnen b0ccf69870 Don't add inverse references to the entity being added itself. 2015-02-19 14:42:19 +00:00
Thomas Krijnen e6ff1126ad Catch errors in entity traversal while adding a new entity. In particular for late bound instances having unset attributes. 2015-02-17 22:02:06 +00:00
Thomas Krijnen 6c8a60db6e Fixes related to r312: gcc refuses to erase a const_iterator 2015-02-17 21:24:18 +00:00
Thomas Krijnen 5fe4cfab63 More fixes related to locales 2015-02-17 20:23:21 +00:00
Thomas Krijnen b3e5264aa9 WARNING: more function renames 2015-02-17 20:07:09 +00:00
Thomas Krijnen e3d5b6220d Rename AddEntity to addEntity 2015-02-17 19:55:27 +00:00
Thomas Krijnen ee87466521 1) Implement a breadth-first traversal of forward references 2) implement entity instance deletion from a file 3) recursively copy entity instances to another file 2015-02-17 19:48:41 +00:00
Thomas Krijnen c597404dfe Increase the severity of the 'different schema' message 2015-02-06 12:59:36 +00:00
Thomas Krijnen 0124034803 Fix typo in locale code 2015-02-04 15:31:01 +00:00
Thomas Krijnen 2da6f5428d Make real number parsing and serializing locale-independent, as suggested by Ian Clevy. 2015-02-03 13:53:36 +00:00
Thomas Krijnen b789839e4a Fix errors in serialization 2015-01-25 10:50:12 +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 1c757c351b Fix compilation of IfcOpenHouse, move IfcGeom::tesselate back directly in IfcGeom namespace 2015-01-06 10:19:24 +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 3f285ea639 Prevent another exception being thrown upon adding entity instances to a file, as reported by ch0kee 2014-11-27 09:22:58 +00:00
Thomas Krijnen 96ce5f6b25 Don't compare smart pointers to zero, but convert to bool 2014-11-04 12:02:28 +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 948d7675f0 - Take better care of inverse cardinalities and respect more CoordinationView agreements in IfcOpenHouse
- Track inverse relationships in an IfcWrite context as well
- Fix for lists of SELECT types
2014-05-05 16:17:28 +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 bd83259d2b More fixes for parsing files with comments 2014-04-19 09:35:08 +00:00
Thomas Krijnen aebb9469a9 Fixes for parsing files with comments 2014-04-02 15:04:09 +00:00
Thomas Krijnen 80b39c0d22 No longer accept and silently convert invalid REAL tokens to zero 2014-03-22 13:02:21 +00:00
Thomas Krijnen 05c98de100 Add parameterized profile test files and script to generate them 2014-02-23 11:25:35 +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 4f26622e03 Do revert to unknown plane angle unit state after guessing when creating an IfcCompositeCurve 2012-12-31 15:48:04 +00:00
Thomas Krijnen 71b5cd12a8 - Getting ready for Blender 2.65 and Python 3.3.0 with universal Unicode according to PEP 393
- Allow opening of non-latin filenames on Windows, by using the non-standard _wfopen(), meaning that the IfcSpfStream no longer relies on a std::istream but a FILE* descriptor
2012-12-31 11:47:46 +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 e729795da2 Add an option to disable the subtraction of IfcOpeningElements from relating building elements to the IfcGeomObject settings 2012-10-19 08:20:43 +00:00
Thomas Krijnen 8b11a1baf7 Correctly escape apostrophes in strings on write using the IfcCharacterEncoder 2012-10-09 19:54:35 +00:00
Thomas Krijnen cb6884b48e Encode characters outside the valid range for IFC SPF files and escape backslashes when writing IFC files 2012-09-09 11:55:53 +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 31daf8dd20 Forget information about plane angle units in previously processed files 2012-07-29 15:26:36 +00:00
Thomas Krijnen 4b2bbc63de Correctly redirect parse status update messages 2012-07-21 21:48:10 +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
Thomas Krijnen 700cc772fb - Add an alternative method to process openings that is potentially faster. Use IfcGeomObjects::FASTER_BOOLEANS to enable.
- Begin working on verbosity levels
2012-06-07 14:38:21 +00:00
Thomas Krijnen 82289bf065 Correctly interpret integer tokens without a leading #. Bug report: https://sourceforge.net/projects/ifcopenshell/forums/forum/1782717/topic/5280357 2012-06-07 11:56:20 +00:00
Thomas Krijnen ca194ea423 Disable to paging functionality of the parser, IFC files are now always entirely read into memory. 2012-05-26 09:00:30 +00:00
Thomas Krijnen 5c71ae6f89 Catch one more IfcException 2012-03-31 09:54:15 +00:00
Thomas Krijnen a9bba39b9d Applied Patch #3509752 by mv2ax
Made the sewing of TopoDS_Shells into a IfcGeomObjects::Setting
Limit the maximum number of faces a shell to be sewed
2012-03-23 17:38:44 +00:00