Commit Graph

91 Commits

Author SHA1 Message Date
Thomas Krijnen 71118fb126 Retain topology information when triangulating face boundaries. #574 2019-04-24 16:32:06 +02:00
Thomas Krijnen 013b7a763d Some fixes to make sure that non-planar faces get explicitly triangulated 2019-04-09 17:03:24 +02:00
Thomas Krijnen 5ee32fb945 Merge branch 'master' into v0.6.0 2019-01-16 12:30:12 +01:00
Thomas Krijnen 944813146e Close polylines on closed profile def. Fixes #538 2019-01-16 12:28:58 +01:00
Thomas Krijnen 5e32c1e55c More verbosity adjustments 2018-12-29 13:37:51 +01:00
Thomas Krijnen 13d2cf3357 Remove --sew-shells option, always on now 2018-12-28 15:36:10 +01:00
Thomas Krijnen 31eac564f6 Detect self-intersections in faceset helper and clamp bounding box eps factor to 1. 2018-12-21 15:58:21 +01:00
Thomas Krijnen f526277a7d Fix some warnings 2018-12-12 16:26:49 +01:00
Thomas Krijnen 7ed47dee67 Faceset helper: check whether edge has been created 2018-12-03 12:36:30 +01:00
Thomas Krijnen 4f8b430040 Improvements to faceset_helper in case of nearby verts 2018-11-30 11:08:19 +01:00
Thomas Krijnen 3ff619c7ed Quantities in convert and geomserver. Faceset helper for creating edge pairs. 2018-11-02 16:10:06 +01:00
Thomas Krijnen e8b28a099f Some fixes for clang 2018-09-19 14:05:19 +02:00
Thomas Krijnen 9a3039765f Merge remote-tracking branch 'origin/master' into v0.6.0 2018-09-19 10:09:48 +02:00
Unknown bef9bd25f7 Fix dll export on Windows
Fix dll export on Windows
2018-09-19 10:09:05 +02:00
Thomas Krijnen 028e8fb926 Merge branch 'master' into v0.6.0
# Conflicts:
#	nix/build-all.py
#	src/ifcgeom/IfcGeomFunctions.cpp
#	src/ifcparse/IfcLogger.cpp
2018-09-17 17:46:13 +02:00
Thomas Krijnen 0df2bfadef Don't sew overly complex geometries even as part of boolean operations #455 2018-09-12 16:44:30 +02:00
Thomas Krijnen 0df4edff01 Revive some temporarily disabled features in de 0.6 branch 2018-09-07 14:08:56 +02:00
luz.paz d78c9171db Misc. typos
Found via `codespell -q 3`
2018-09-07 11:52:01 +02:00
Thomas Krijnen 4d33ed5cb8 Merge branch 'master' into v0.6.0
# Conflicts:
#	src/ifcconvert/IfcConvert.cpp
#	src/ifcgeom/IfcGeomShapes.cpp
#	src/serializers/ColladaSerializer.cpp
#	src/serializers/schema_dependent/XmlSerializer.cpp
2018-09-04 13:23:11 +02:00
Thomas Krijnen b13c912c47 Work on #426 2018-08-20 11:46:26 +02:00
Thomas Krijnen 7a7aab01bb IfcGeomServer matrices in double precision 2018-07-07 21:14:27 +02:00
Thomas Krijnen d105292817 Merge branch 'master' into v0.6.0
# Conflicts:
#	src/ifcconvert/IfcConvert.cpp
#	src/ifcgeom/IfcGeomFilter.h
#	src/ifcgeom/IfcGeomIteratorImplementation.h
#	src/ifcgeom/IfcGeomWires.cpp
#	src/ifcparse/IfcFile.h
#	src/ifcparse/IfcLogger.cpp
#	src/ifcparse/IfcLogger.h
#	src/ifcparse/IfcParse.cpp
#	src/serializers/SvgSerializer.cpp
#	src/serializers/schema_dependent/XmlSerializer.cpp
2018-07-07 17:15:54 +02:00
Thomas Krijnen 656346741e #288 #297 2018-04-18 11:33:57 +02:00
Thomas Krijnen 5082fe8be4 Revive XML serializer 2018-03-16 16:04:48 +01:00
Thomas Krijnen b86b359563 Schema independent layer and transformation conv functions 2018-03-16 12:10:05 +01:00
Thomas Krijnen 19aebacbd8 Initialize kernel base class 2017-12-29 12:25:29 +01:00
Thomas Krijnen 24b46c1f43 Work on serialization 2017-12-22 17:37:58 +01:00
Thomas Krijnen b3458c872f Work on python wrapper 2017-12-22 13:51:11 +01:00
Thomas Krijnen 6622afd93a Rename 2017-12-20 17:09:42 +01:00
Thomas Krijnen 8b4650b169 Fix compilation on msvc 2017-12-20 16:38:55 +01:00
Thomas Krijnen a792a7e2c7 Two simultaneous IfcGeom implementations 2017-12-18 15:25:09 +01:00
Thomas Krijnen c099234796 Update ifcgeom 2017-12-11 15:07:40 +01:00
Thomas Krijnen c0a2e3395f Triangulate non-planar wires when invoked with --sew-shells 2017-11-27 16:27:36 +01:00
Thomas Krijnen 6c4fee1028 Color elements by material association. Reimplement reuse detection. Fix #265 2017-10-06 15:36:51 +02:00
Thomas Krijnen 96ec925f31 Spatial Querying: Implementation of BVH tree for IFC files using NCollection_UBTree (#130)
* Implementation of BVH tree for IFC files using NCollection_UBTree

* Fixes for gcc and OCCT < v6.8

* Enable BVH selection by TopoDS_Shape

* Small fixes to tree

* Merge conflicted files and other changes

* Eliminate one warning (some remain) + add tree test
2017-09-13 13:16:58 +02:00
Anders Granskogen Bjørnstad 475b8554a8 Site local placement (#240)
* ifcgeom: Add placement_rel_to for convert()

Change geometry conversion in `convert()` for `ObjectPlacement` such
that we can stop the `PlacementRelTo()` recursion when we hit an
`ObjectPlacement` that places a certain type, e.g. a `IfcSite'.

Introduce a new IteratorSetting `SITE_LOCAL_PLACEMENT` which will be
exposed in `IfcConvert`.

* IfcConvert: Add --site-local-placement

Some IFC authoring tools may put the global origo at a large distance
away from the actual building geometry. Also, the global X- and Y-axes
may be at arbitrary angles with natural building axes. Using
--center-model or --model-offset may place the converted geometry closer
to origo, but will still use the global IFC definition of axis
directions. Also, in a scenario with multiple IFC files for one
construction site, using --center-model on each of them would not
generate consistent geometry across OBJ or DAE files.

Solve this by introducing --site-local-placement which will disregard
the ObjectPlacement at the IfcSite level.
2017-08-19 17:21:10 +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
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