Commit Graph

44 Commits

Author SHA1 Message Date
Thomas Krijnen e6499ef3b1 gcc compatibility 2018-01-17 17:00:27 +01:00
Thomas Krijnen f6403c81e1 Ignore line comment in express parser 2017-10-13 13:11:08 +02:00
Thomas Krijnen de78c6c5dc Map LOGICAL to separate type 2017-10-13 13:09:08 +02:00
Thomas Krijnen f24c996bc1 Backport some codegen fixes wrt unicode 2017-10-13 13:08:50 +02:00
aothms c1c738390f Add support for aggregate of bool 2016-02-24 11:25:45 +01:00
aothms df88474bc5 Merge remote-tracking branch 'origin/master' into hdf5
Conflicts:
	src/ifcexpressparser/bootstrap.py
	src/ifcexpressparser/templates.py
	src/ifcgeom/IfcGeomFaces.cpp
	src/ifcgeom/IfcGeomFunctions.cpp
	src/ifcgeom/IfcGeomIterator.h
	src/ifcgeom/IfcGeomWires.cpp
	src/ifcparse/Ifc2x3.h
	src/ifcparse/Ifc4.h
	src/ifcparse/IfcLateBoundEntity.cpp
	src/ifcparse/IfcParse.cpp
	src/ifcparse/IfcUtil.h
2016-02-19 14:19:57 +01:00
aothms da0af77570 Compatibility for older versions of cmake, python, open cascade, boost 2016-02-18 13:17:15 +01:00
aothms 4122759f1a Add option to compile (external) schema by cmake 2016-02-15 16:59:47 +01:00
aothms 83c4b6a642 More serialization options for HDF5 2015-11-30 22:34:48 +01:00
Stinkfist0 16a82f035f templates.py: disable C4100 warnings for headers created by this file + 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. 2015-11-22 02:26:28 +02:00
aothms 579d3713fd hdf5 2015-11-10 11:16:00 +01:00
aothms d076fa588b Work on runtime representation of schema 2015-11-05 11:55:19 +01:00
Thomas Krijnen 23beb5691c Detect abstract entities in schema parser 2015-09-17 10:33:19 +02:00
aothms 9096895bdb Support for schemas using TYPE definitions to redeclare BINARY types 2015-09-08 15:27:05 +02:00
aothms 822fa91f4d Work on a C++ representation of the parsed EXPRESS schema 2015-08-13 14:28:50 +02:00
aothms 266d6f4c97 Cache the output of the parsed express schema as a Python pickle stream for speedier code generation 2015-08-13 14:26:14 +02:00
aothms 810d3eab1e Ignore tail remarks in the express schema parser 2015-08-13 14:18:59 +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 3d6b330366 Reintroduce binary type in express parser 2015-05-21 12:53:17 +00:00
Thomas Krijnen 37d4e9bcbd Fix express parser for simple types that redefine aggregates of entities 2015-05-21 12:09:57 +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 0a0f44b674 Reduce link time for MSVC release builds. Patch by ch0kee. 2015-03-22 19:52:29 +00:00
Thomas Krijnen 9bbbc6e7d9 Extend Python's dir() function on entity instances with attribute and inverse attribute names of entities 2015-02-27 13:41:33 +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 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 1b54ba039d - Add support for IFC4 nurbs surfaces (IfcBSplineSurfaceWithKnots and IfcAdvancedFace)
- Remove unnecessary typedefs
2014-05-04 14:42:55 +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 2353c25fb8 - Handle explicit attributes re-declared as derived in a subtype
- Update IfcOpenHouse to import correctly in Autodesk Autocad Architecture 2013
2012-11-10 09:36:34 +00:00
Thomas Krijnen 0ef6577407 Fix some errors and warnings 2012-08-13 09:17:08 +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 3e95e7474b Allow for the initialization of SELCECT data types for writable entities (still no proper type checking though for SELECTs) 2012-07-19 23:51:57 +00:00
Thomas Krijnen e4e8f05980 Update IfcExpressParser to generate writable schema 2012-07-19 23:03:25 +00:00
Thomas Krijnen e3f0a5fafd Prefix IfcUtil::ArgumentType in order to avoid collisions with Windows API defines 2012-06-07 11:42:02 +00:00
Thomas Krijnen 89a6e7375a Fix a bunch of msvc warnings regarding empty switch statements in the reflection methods 2012-05-16 10:52:49 +00:00
Jochem Berndsen 7732801eb9 Reflection of object properties. 2012-05-04 15:15:12 +00:00
Thomas Krijnen c31bc16dba Try to better my life as a programmer, starting with more comments and documentation 2012-03-17 11:47:31 +00:00
Thomas Krijnen 3bb008c89f - Switch to double precision
- Allow accessing entities by GlobalId
- Some more support for writing back IFC
- Prefix EXPRESS Enum values to avoid collisions
- Fix a bug in the SenseAgreement of Cartesian trimmed curves
- Use straight line segment in case point projection failed on trimmed curve
- Add epsilon to polylines and -loops point equality test
- Decompose a convex polygonal bounded halfspace into several unbounded halfspace and process only if they operate on a volume larger than some epsilon
- No longer fail connected facesets if a single face is invalid
- Updated IfcBlender for compatibility with Blender 2.62
- Added additional test files
2012-03-13 11:56:52 +00:00
Thomas Krijnen 6dbf618360 - Throw and catch IfcExceptions while parsing
- Fix issues with left-handed IfcCartesianTransformationOperator3D [fixes #3405491 Issues with MappingTarget of IfcMappedItem]
2011-10-13 11:25:59 +00:00
Thomas Krijnen d02eeac132 Reduce unnecessary use of smart pointers
Speed up type checking by using std::maps and switch statements
Add compile flag to win/IfcGeom.vcproj
2011-09-03 13:58:59 +00:00
Thomas Krijnen 2561f94acb - Fixed a bug regarding IfcUnitAssignment
- Separate IFC parsing library and geometry libraries [#3395025]
- Added example for IfcParse usage without geometry or Open CASCADE functionality
- Cleanup of vcproj Open CASCADE dependencies
- Added function to query parent class type in IfcExpressParser.py
2011-08-24 12:21:07 +00:00
Thomas Krijnen 5a475bfa66 IfcExpressParser: Initial commit of python script to convert the IFC2X3_TC1.exp ISO-10303-11 Express file into C++ code for the IfcParse library 2011-07-28 14:32:44 +00:00