Thomas Krijnen
6aabbd4a55
Correctly interpret SWIG return code of type check
2015-06-17 19:44:15 +00:00
Thomas Krijnen
48676a733f
Rework SWIG python binding not to rely on polymorhpic functions. Use hand-written typemaps that map vectors to tuples and iterables to vectors. Add support for multidimensional aggregates in Python.
2015-06-17 11:27:02 +00:00
Thomas Krijnen
b96cf38e17
Minimize passing STL objects past dynamic library boundaries to improve stability of IfcOpenShell-Python
2015-06-02 13:29:08 +00:00
Thomas Krijnen
40a60386c8
Brand new implementation of IfcFace(Surface)
2015-05-20 08:55:02 +00:00
Thomas Krijnen
9bf9f82b3b
Format obj and dae output predictably based on rfc notation of GlobalId. As discussed in https://sourceforge.net/p/ifcopenshell/discussion/1782717/thread/cbb0c8ca/
2015-05-13 14:30:21 +00:00
Thomas Krijnen
c97cf661a2
1. Also emit Plan and Axis shape representations and IfcTopologyRepresentations if requested. 2. Add serialization for curves. 3. In Python add option to specify representation for which to generate shape.
2015-04-22 09:15:48 +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
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
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
b5f055e54b
Fix repr() of ifcopenshell.geom.settings
2015-01-29 11:34:11 +00:00
Thomas Krijnen
4c79f713ed
Make sure C++ exceptions do not crash the Python interpreter
2015-01-26 18:11:48 +00:00
Thomas Krijnen
f0425b16d1
Have a peek at a representation's context in the geometry wrapper as well to determine suitability for processing
2015-01-22 10:39:48 +00:00
Thomas Krijnen
6c7c88d7a5
Python wrapper: enable iteration over all entities, get attribute optionality information
2015-01-21 17:01:22 +00:00
Thomas Krijnen
3503c8c933
Fix typo in wrapper generator
2015-01-20 14:39:52 +00:00
Thomas Krijnen
418dabaff2
Fix typo
2015-01-18 15:32:50 +00:00
Thomas Krijnen
7b17c2dccd
Make header values writable
2015-01-16 16:26:40 +00:00
Thomas Krijnen
511e83c2c6
Shuffle around wrapper statements to fix setting arguments
2015-01-10 23:01:52 +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
9780c047e9
Improvements for precision handling
2015-01-06 14:09:28 +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
268109875f
Update build scripts to include TKOffset
2014-03-19 09:47:24 +00:00
Thomas Krijnen
c47a43caf7
IfcGeomObjects: No longer implicitly turn off the availability of triangulated data when USE_BREP_DATA is set. Use DISABLE_TRIANGULATION to explicitly disable the generation of triangulated data to gain performance when only OCC brep data is needed.
2014-01-02 13:33:54 +00:00
Jang Myeongho
06958a02a4
Fix cmake install scripts.
...
- fix renamed file: "IfcShapeList.h" -> "IfcRepresentationShapeItem.h"
- IfcImport target object file.
2013-12-11 03:17:05 +00:00
Thomas Krijnen
259cfa895e
Support for styled items in the Blender addon and make use of material indices
2013-05-11 17:14:47 +00:00
Thomas Krijnen
3f048efc79
Add an adapter for IfcGeom::SurfaceStyle so that IfcGeomObjects (and most notably the Python wrapper) need not to be aware of boost::optional
...
Expose shading and rendering styles to the Python wrapper as well
2013-05-11 15:26:35 +00:00
Thomas Krijnen
dccbccfa06
A limited attempt at some const correctness in the IfcGeomObjects interface
2013-05-11 10:03:20 +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
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
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
04aea46757
Remove BOM in Interface.h
...
Add include for rand() and srand() in IfcGuidHelper.cpp
Remove dependency on nullptr for older compilers
2012-07-20 12:52:55 +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
c9f9997e67
Use floats in IfcPython
2012-04-08 08:42:03 +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
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
b719e12417
Provide access to IfcGeomObject geometry as Open Cascade BRep data
2012-01-31 08:56:10 +00:00
Thomas Krijnen
456adceef9
Add install targets to makefile
2012-01-11 13:57:00 +00:00
Thomas Krijnen
479fcd9013
Further address UCS2 - UCS4 incompatibility, move compatibility layer to ifcwrap/Interface.h
2011-12-06 10:38:14 +00:00
Thomas Krijnen
08d3eb649c
Allow for string data to be passed as vectors of int between IfcPython and IfcGeom, to circumvent SWG trying to access UCS-2 data as UCS-4 and vice versa
2011-12-05 14:23:22 +00:00
Thomas Krijnen
cab44ce754
IfcBlender: provide a temporary workaround for interfacing from a UCS2 Blender Python
...
A real solution could be to compile IfcGeom into a dynamic library and compile multiple versions of _IfcImport.so for different configurations which are selected based on sys.maxunicode
Another alternative would be not to rely on strings when exchanging textual data but vectors of int that contain the string character codes
2011-12-04 13:33:16 +00:00
Thomas Krijnen
f6da8285f7
Use std::string instead of char* for IfcGeomObjects::Init()
2011-12-01 11:19:27 +00:00
Thomas Krijnen
d6d3333f9d
- Correct calculation of normals
...
- More verbosity for geometry conversion settings
2011-10-28 09:55:26 +00:00
Thomas Krijnen
34efb480d6
- Provide logging information to IfcBlender
...
- Disallow open curves for IfcPolygonalBoundedHalfSpace [fixes #3405490 Incorrectly rendered wall in FZK-Haus-EliteCAD.ifc]
- Disable tolerance on IfcCompositeCurve
- Try to convert IfcConnectedFaceSets to TopoDS_Solids regardless of whether they are open or closed shells, improves openings in IFC files exported by Revit
- Provide debugging information based on shape volume on IfcBooleanClippingResult and IfcOpeningElement
2011-10-12 16:43:29 +00:00
Thomas Krijnen
87b668959b
Process IfcRelAggregates and IfcRelContainedInSpatialStructure to enable IfcBlender to build a parenting graph
2011-10-08 13:06:57 +00:00
Thomas Krijnen
69ad96df25
- Added id (ISO 10303-21 Table 2: ENTITY_INSTANCE_NAME) to IfcGeomObject. Thanks to laurencepike.
2011-10-08 09:01:35 +00:00
Thomas Krijnen
44100ff0d4
Fixes compilation issues due to private copy constructors using older versions of gcc
...
Added additional default library and include directories to cmake build file
Fixes a compilation error in the python wrapper
2011-08-30 15:49:08 +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