Thomas Krijnen
6c4fee1028
Color elements by material association. Reimplement reuse detection. Fix #265
2017-10-06 15:36:51 +02:00
Thomas Krijnen
688a652bc1
Fix #261
2017-09-25 14:57:49 +02:00
Thomas Krijnen
8c26037f84
Fix null dereference
2017-09-17 20:22:29 +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
aa0a6aa5d1
Fix #178
2017-08-01 16:45:11 +02:00
Thomas Krijnen
6f7afd4b2a
Build comprehensive representation id. Fix #225
2017-06-28 15:24:49 +02:00
Thomas Krijnen
1704862d0d
Correct test for when to reuse representation in iterator
2017-06-05 11:08:07 +02:00
Balleux Benjamin
4680298bee
Clean : Remove debug logs
2017-05-16 16:34:50 +02:00
Balleux Benjamin
be3dbce9f4
feature (WIP) : retrieve full hierarchy
...
Bug : the element are not at the right location
2017-05-15 17:45:05 +02:00
Balleux Benjamin
a6ffa7fc42
Fix : fill the storey property of an Element with NULL when we don't find any IfcBuildingStorey parent
2017-05-09 14:40:23 +02:00
Balleux Benjamin
ea609af394
comments added
2017-04-21 16:02:13 +02:00
Balleux Benjamin
95acd4c517
Clean : remove debug lines
...
Find the floor of an element in the IfcGeomIterator class
2017-04-21 15:49:34 +02:00
Stinkfist0
026b4853a2
IfcConvert: single point for IFC file parsing and potential parsing error reporting.
2017-03-04 13:54:19 +01:00
Stinkfist0
5d7b392415
IfcGeomIterator: use fully qualified symbol for filter_t to fix SWIT code generation + fix getObject()
2017-03-04 13:54:19 +01:00
Stinkfist0
1b7d38a56d
support for IfcConvert -include=arg <Description|Tag> (for IfcElement.Tag, not yet for IfcProxy.Tag).
2017-03-04 13:54:19 +01: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
d8a11dd096
Refactoring and cleaning up geom iterator filtering.
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
Stinkfist0
3abee03b9b
Filtering by entity GUID and layer name w.i.p.
2017-03-04 13:54:19 +01:00
Stinkfist0
f1709dc71a
IfcConvert/IfcGeom: Possibility to include and exclude simultaneously by type and name, w.i.p.
2017-03-04 13:54:19 +01:00
Thomas Krijnen
ac9505506c
Extend IfcGeomServer with calculated quantities
2017-01-22 16:09:14 +01:00
Ali Kämäräinen
714a365942
IfcConvert/IfcGeom --traverse option ( #159 )
...
geometry filtering option for including/excluding decomposition and containment of filtered entities.
Usage example: IfcConvert Duplex_A_20110907.ifc Level1.dae --include --traverse --names "Level 1"
2016-11-13 13:44:38 +01:00
Thomas Krijnen
ea514e9528
Fix #148 catch errors when computing model bounding box from product placements.
2016-10-25 10:11:14 +02:00
Thomas Krijnen
f1099fc3b1
Merge branch 'master' into tridify_ifcgeom_dll
...
# Conflicts:
# cmake/CMakeLists.txt
2016-08-08 10:56:06 +02:00
Thomas Krijnen
4b90e618b0
Add warning #109
2016-08-04 11:47:14 +02:00
Thomas Krijnen
21b35767ba
Fix #109
2016-08-02 15:53:41 +02:00
Ivano Ras
cd2b0c3a05
fix #106 . ( #107 )
2016-07-19 16:31:37 +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
Stinkfist0
c644ffbe5e
Move wildcard_string_to_regex() from IfcParse to IfcGeom as it's not really related to parsing IFC at all.
2016-05-31 14:04:44 +03:00
Thomas Krijnen
2a5974fde1
Remove superfluous error message
2016-05-18 17:28:58 +02:00
Lars Moastuen
414d7bb810
OBJ precision and log messages
...
* Fixes #68 : Increase precision in OBJ files (regression in commit 43f5d44 )
* Add some verbose logging of a few geometry errors
2016-05-13 12:59:00 +02:00
Ivano Ras
0253c1ddbe
Extended error logging
...
Fixes #33
2016-05-11 10:56:40 +02:00
Thomas Krijnen
d4dc933b99
Qualify auto keyword
2016-05-04 17:30:31 +02:00
Thomas Krijnen
3c3bee71d1
Don't process mapped items in case of material layer associations
2016-05-02 16:11:06 +02:00
Thomas Krijnen
a1d584796a
Set reasonable defaults for caching behavior
2016-05-01 20:38:10 +02:00
Thomas Krijnen
25a5135e8d
Disable geometry re-use with world coords
2016-03-27 21:18:28 +02:00
Thomas Krijnen
4c574df1a4
Immediately emit to serializer and remove option to obtain ownership of objects
2016-03-27 21:17:51 +02:00
Thomas Krijnen
ee56aad90d
Merge branch 'master' into performance_improvements
...
# Conflicts:
# src/ifcconvert/ColladaSerializer.cpp
# src/ifcconvert/ColladaSerializer.h
# src/ifcgeom/IfcGeomIterator.h
# src/ifcgeom/IfcGeomRenderStyles.h
2016-03-22 16:15:28 +01: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
Stinkfist0
562f38756f
Calculate and store min. and max. placements IfcGeom::Iterator. Implement --center-model for OBJ.
2016-03-17 23:25:53 +02:00
Stinkfist0
e9f551ea71
--names for filtering included or excluded entities by name, e.g. --include --names "Wall Compound*"
2016-03-10 21:15:50 +02:00
Stinkfist0
0da0e63687
Begin to implement IfcConvert enhancements discussed in #20 . Remove C++-specific getters and setters and use the same set() and get() functions in in both C++ and Python. Enhance output of IfcConvert, especially in error situations (spamming a hundred lines of options always hides the original error message), utilize Boost's foreach macro to provide cleaner iteration code.
2016-03-07 22:37:36 +02:00
aothms
4eee9a1936
Merge remote-tracking branch 'official/master'
...
Conflicts:
src/ifcconvert/IfcConvert.cpp
src/ifcgeom/IfcGeomIterator.h
2015-12-21 11:36:23 +01:00
aothms
b6e2d78bfa
Catch syntax errors during iterator initialization
2015-11-30 23:41:27 +01:00
Stinkfist0
a13042f227
Fix warnings: unused variables, shadowing variable names, constant conditional expressions, integer conversions, inability to generate copy-ctor and/or assignment operator, etc.
2015-11-21 23:05:28 +02:00
aothms
db6630c1f8
Use boost::to_lower()
2015-10-05 13:34:43 +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