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
Thomas Krijnen
d34c3b4b20
Example for #209
2017-04-25 16:53:35 +02:00
Stinkfist0
195d68cd0a
Generalize IfcGeom::Iterator filtering and move make the filter specification external to the Iterator.
2017-03-04 13:54:19 +01:00
Stinkfist0
63b0488909
Implement filtering created geometry by layer assignments.
2017-03-04 13:54:19 +01:00
Thomas Krijnen
8ce4bbdf61
Adaptive tolerance boolean ops
2017-02-16 15:54:34 +01:00
Thomas Krijnen
c08aa3216d
Fix #163 Disallow narrow IfcPolygonalBoundedHalfSpace
2016-12-10 14:11:01 +01:00
Thomas Krijnen
4354361a13
More elaborate wire ordering check and shell sewing code ( #147 )
2016-12-09 16:40:14 +01:00
Thomas Krijnen
f1099fc3b1
Merge branch 'master' into tridify_ifcgeom_dll
...
# Conflicts:
# cmake/CMakeLists.txt
2016-08-08 10:56:06 +02:00
Ali Kämäräinen
4a85e5e7a5
MSYS build scripts and instructions ( #99 ) and warning fixes
...
* 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)
2016-07-15 05:49:32 +02:00
Stinkfist0
6bcabfd567
Dllimport/export for IfcGeom. Closes #77
2016-07-11 22:37:50 +03:00
Thomas Krijnen
aebb9e324b
Geometry serialization ( #71 )
...
Serialize geometry to IFC instances directly from a TopoDS_Shape
2016-06-22 15:03:18 +02:00
Thomas Krijnen
b04ca74308
Derive minimal face area from modeling precision
2016-05-24 12:50:05 +02:00
Thomas Krijnen
04acfe1169
Fix #63
2016-05-03 11:01:47 +02:00
Thomas Krijnen
37f0e09947
Fix compiler warnings
2016-05-02 15:56:08 +02:00
Thomas Krijnen
39e26dff46
Merge branch 'master' into layerset_slicing
...
# Conflicts:
# src/ifcconvert/IfcConvert.cpp
# src/ifcgeom/IfcGeom.h
# src/ifcgeom/IfcGeomFunctions.cpp
# src/ifcgeom/IfcGeomIteratorSettings.h
2016-05-02 15:13:30 +02:00
Thomas Krijnen
a1d584796a
Set reasonable defaults for caching behavior
2016-05-01 20:38:10 +02:00
Thomas Krijnen
c6d5adfa42
Merge branch 'master' into performance_improvements
...
# Conflicts:
# src/ifcexpressparser/implementation.py
# src/ifcgeom/IfcGeomFunctions.cpp
# src/ifcparse/Ifc4.cpp
2016-04-24 15:22:10 +02:00
Thomas Krijnen
884b3fe850
Project wires onto a plane if non-planar. Fixes #57 .
2016-04-16 14:47:09 +02:00
Thomas Krijnen
1142db3265
remove msvc specific leniencies
2016-04-09 17:54:23 +02:00
Thomas Krijnen
59d2d227d9
Directly re-use IfcMappedItem triangulated elements when not using world coordinates
2016-03-18 11:23:25 +01:00
Thomas Krijnen
8ecc1269d7
Compile-time options to manipulate caching behaviour
2016-03-18 11:21:04 +01:00
aothms
4be7da1a43
Use fuzzy boolean subtraction if available
...
Remove collinear points from polygonal halfspace boundary
Lookup styled items on boolean operation operands
Fixes https://github.com/IfcOpenShell/IfcOpenShell/issues/6
Fixes https://sourceforge.net/p/ifcopenshell/discussion/1782717/thread/a7f99e41/?limit=25#5c36
2016-01-22 17:27:28 +01:00
aothms
c9db70c7c3
Initial implementation of layerset slicing
2015-10-07 17:33:30 +02:00
aothms
3a9e90f94f
Mark IfcGeom::Kernel::getValue as const
2015-10-07 16:13:25 +02:00
Thomas Krijnen
771f78a671
Fix surface style association when compiling with IFC4
2015-05-21 12:55:54 +00:00
Thomas Krijnen
40a60386c8
Brand new implementation of IfcFace(Surface)
2015-05-20 08:55:02 +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
1c757c351b
Fix compilation of IfcOpenHouse, move IfcGeom::tesselate back directly in IfcGeom namespace
2015-01-06 10:19:24 +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
e77216d41c
More robust processing of IfcPolyline and IfcPolyLoop
2014-07-28 20:03:53 +00:00
Thomas Krijnen
e6aa449ef8
Accept IfcBooleanResult operands that convert to set of shapes in IfcOpenShell rather than a single shape (i.e IfcShellBasedSurfaceModel, IfcFaceBasedSurfaceModel, IfcFacetedBrep, IfcGeometricSet)
2014-07-06 14:21:56 +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
71ea636206
Add support for IfcBooleanResult, IfcBlock, IfcRectangularPyramid, IfcRightCircularCylinder, IfcRightCircularCone, IfcSphere, IfcCsgSolid, IfcCurveBoundedPlane, IfcRectangularTrimmedSurface, IfcSurfaceCurveSweptAreaSolid, IfcCylindricalSurface.
...
Add CSG example.
2014-03-22 10:31:51 +00:00
Thomas Krijnen
220b36b09c
Support for IfcCompositeProfileDef and IfcDerivedProfileDef
2014-03-16 13:34:01 +00:00
Thomas Krijnen
4c17d153f4
Add support for IfcGeometricSet IfcRevolvedAreaSolid IfcSurfaceOfLinearExtrusion IfcSurfaceOfRevolution IfcCenterLineProfileDef IfcArbitraryOpenProfileDef
2014-03-15 11:51:23 +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
bffb19a92f
Use the precision from the IfcGeometricRepresentationContext to dictate OCC modeler tolerances
2013-11-24 15:44:27 +00:00
Thomas Krijnen
80bc1b5dab
[Work in progress] Start adding support for IfcSurfaceStyleShading and -Rendering
2013-05-05 08:49:25 +00:00
Thomas Krijnen
e56281a72e
- Correctly format REALs according to ISO 10303-21 instead of C++ std::stream double formatting
...
- Add the IfcHierarchyHelper to assist in the creation of IFC files
- Add the IfcOpenHouse example for writing topological geometry and tessellated Open Cascade shapes to IFC
2012-11-04 16:26:33 +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
4975de6d74
Apply patch #3537663 by myueho: https://sourceforge.net/tracker/?func=detail&atid=2204968&aid=3537663&group_id=543113
2012-06-25 15:08: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
b2b51e343f
Only add faces to shells that have a surface area larger than some threshold value
2012-04-07 14:34:44 +00:00
Thomas Krijnen
aa7a290ea1
Adjust some tolerances
2012-04-07 09:59:04 +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
df2bcecf96
- Fix a regression due to too high tolerance in Polyline -Loop creation.
...
- Make tolerances slightly more explicit, ideally these should obviously be configurable at runtime.
2012-03-20 09:32:51 +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
2b27b86b34
- IfcGeom: Major performance improvement by only sewing faces of IfcConnectedFaceSets when needed for boolean operations
...
- Automatic tests for several well known IFC files on the Internet
- IfcBlender: Make visibility in render consistent with 3d view
- Some compatibility for Ifc2x files with IfcShapeRepresentations and RepresentationIdentifier 'IAI'
2012-03-01 21:17:06 +00:00