Commit Graph

103 Commits

Author SHA1 Message Date
Thomas Krijnen 159ce931b4 Break up sweeps along adjacent non-linear segments. 2019-11-01 15:06:04 +01:00
Thomas Krijnen 4000fef4c7 Don't apply too many half space subtraction operands at once 2019-10-15 15:06:51 +02:00
Thomas Krijnen 839b5a2699 Minor cleanups, 4x1 and 4x2 geom lib, granular schema macros 2019-06-26 13:50:46 +02:00
Thomas Krijnen 35160e5a94 Update some code comments 2019-06-19 12:41:54 +02:00
ninichki 443b8c2079 Boolean Operands like ST_SHAPELIST should not append all shapes 2019-06-14 17:33:30 +02:00
Thomas Krijnen f5b7d0db59 Remove additional fuzz markup on halfspace operands and initially process with smaller fuzz. Fixes #601 2019-06-05 16:58:08 +02:00
Thomas Krijnen 901e805d24 Revert 13d2cf3357 2019-05-24 14:29:21 +02:00
Thomas Krijnen 41972bba7d Merge branch 'master' into v0.6.0 2019-05-24 12:10:00 +02:00
Thomas Krijnen 17077c74a9 Unify transitionmode for swept disk and swept area 2019-05-24 12:09:33 +02:00
Thomas Krijnen 71118fb126 Retain topology information when triangulating face boundaries. #574 2019-04-24 16:32:06 +02:00
Thomas Krijnen ac4be43170 Merge branch 'master' into v0.6.0
# Conflicts:
#	src/ifcconvert/IfcConvert.cpp
#	src/ifcgeom/IfcGeomRenderStyles.cpp
#	src/ifcgeom/IfcGeomWires.cpp
#	src/ifcparse/IfcLogger.cpp
#	src/ifcparse/IfcLogger.h
#	src/ifcparse/IfcParse.cpp
#	src/ifcparse/IfcUtil.cpp
#	src/serializers/ColladaSerializer.cpp
#	src/serializers/schema_dependent/XmlSerializer.cpp
2019-03-08 11:40:16 +01:00
Thomas Krijnen e4fdfd2eb3 Apply length unit to IfcCylindricalSurface Radius. Fixes #553 2019-03-04 17:23:15 +01:00
David Leverton d12cacbd2e Fix Position handling for IfcSurfaceCurveSweptAreaSolid 2019-02-13 15:34:50 +00:00
Thomas Krijnen 4822b57584 Process binary trees of boolean ops in a single call. Fixes #546 2019-02-13 10:08:55 +01:00
Thomas Krijnen 5ee32fb945 Merge branch 'master' into v0.6.0 2019-01-16 12:30:12 +01:00
Thomas Krijnen b1754f7b26 Remove debug prints 2019-01-05 13:45:54 +01:00
Thomas Krijnen f24944be48 Merge branch 'master' into v0.6.0 2018-12-31 11:40:16 +01:00
Thomas Krijnen dec0c646cc Only round corners on discontinuous spines. Fixes #358. 2018-12-31 11:39:35 +01:00
Thomas Krijnen 13d2cf3357 Remove --sew-shells option, always on now 2018-12-28 15:36:10 +01:00
Thomas Krijnen 0c8e9e7040 Merge branch 'master' into v0.6.0
# Conflicts:
#	src/ifcgeom/IfcGeomIteratorImplementation.h
2018-12-12 16:20:50 +01:00
Thomas Krijnen 72c96905b9 Option to validate created geometries based on explicit quantities 2018-12-12 12:33:09 +01:00
Thomas Krijnen 336601a7ae Missing FindFromKey() overload on older versions of occt 2018-12-11 10:55:03 +01:00
Thomas Krijnen d3092090df Substitute tiny trimmed curves with linear approximation when deflection within tolerance 2018-12-10 17:15:39 +01:00
Thomas Krijnen a7c7a684ee Emit surface genus for representation items 2018-12-10 11:33:54 +01:00
Thomas Krijnen 0fcf1f14c8 Merge branch 'master' into v0.6.0 2018-12-10 10:41:58 +01:00
Thomas Krijnen f849434f24 More defensive IfcCurveBoundedPlane processing 2018-12-09 11:59:49 +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 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 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 6d25047c6b higher fuzz on half spaces 2018-06-12 16:15:28 +02: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 aa0a6aa5d1 Fix #178 2017-08-01 16:45:11 +02:00
Thomas Krijnen 8ce4bbdf61 Adaptive tolerance boolean ops 2017-02-16 15:54:34 +01:00
Thomas Krijnen e6ff78fa29 Size() -> Length() 2016-12-10 15:39:20 +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
Carmen Fan 00215867c0 Fix matrix multiplication ordering for nested mapped items (#144) 2016-11-06 16:18:30 +01:00
Ali Kämäräinen 64dc2ea95c Windows/MSVC + OCCT 7.0.0 (#124)
* Windows/MSVC build scripts: option to build and use official Open CASCADE instead of the community edition.

* Fix C4800 warnings ("'Standard_Boolean': forcing value to bool 'true' or 'false' (performance warning)") + unnecessary integer cast.

* build-deps.cmd: fix OCCT download

* Fix MSVC linking against OCCT 7.0.0. Example executables fail still, needs research.

* occt-V7_0_0-9059ca1_CMakeLists.txt: add_definitions(-DHAVE_NO_DLL) in order to fix static linking to OCCT. Mark IfcOpenShell patches in the OCCT patch files for clarity.

* Patch OCCT in order to fix compliaction when HAVE_NO_DLL is defind. Clean up IfcOpenSHell's linker warnings by defining HAVE_NO_DLL.

* CMakeLists.txt: remove linking to the newly added OCCT libs, these are not needed when HAVE_NO_DLL is defined.

* cmake/CMakeLists.txt: make add_debug_variants() function to handle filenames/paths also. Apply the coding conventions while at it. Fixes #123.

* Patch OCCT's OpenGl_PrimitiveArray.cxx and XCAFDoc_GeomTolerance.cxx in order to fix Debug build. Do not trigger OCCT rebuild each time build-deps.cmd is ran.

* build-deps.cmd: fix OCCT file patch copy.

* Non-MSVC compiler: use -Wextra, suppress/fix -Wignored-qualifiers warnings.

* build-deps.cmd: do not check return values of copy commands as they seem not to be fully reliable.
2016-09-01 11:28:17 +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
Thomas Krijnen 69535800b5 Do no silently drop invalid faces from IfcConnectedFaceSets 2016-06-21 11:27:59 +02:00
Thomas Krijnen ee2303d965 Support for IfcExtrudedAreaSolidTapered 2016-06-21 11:25:10 +02:00
Thomas Krijnen b792aba95f Support for *BrepWithVoids 2016-06-21 11:19:51 +02:00
Thomas Krijnen 8f55aa732d IfcParameterizedProfileDef.Position and IfcSweptAreaSolid.Position optional in IFC4 2016-06-21 11:18:16 +02:00
Thomas Krijnen 06c3f8d6a9 Record conversion status on IfcFaceBasedSurfaceModel 2016-05-24 12:50:32 +02:00
Thomas Krijnen e9c7cf235b Fix compiler warning 2016-05-03 11:19:46 +02:00
Thomas Krijnen 04acfe1169 Fix #63 2016-05-03 11:01:47 +02:00