Thomas Krijnen
f95ad29c7a
Extra check for single-face IfcConnectedFaceSets. Fixes #181 .
2017-01-19 10:42:03 +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
Ali Kämäräinen
a171b2b9b0
Couple warning fixes ( #139 )
...
* Use -Wno-tautological-constant-out-of-range-compare for Clang (these warnings come from the sanity checks in generated IfcXXX files).
* Remove unused variable and typedefs + suppress uint->bool conversion warnings (MSVC) + add note about Clang in README
* MSVC uint->bool convesion warning fixes when IFC4 is defined
2016-10-09 12:39:47 +02:00
Thomas Krijnen
8efd9757b7
Check for null shapes among layer set slicing results
2016-09-01 15:13:48 +02: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
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
Stinkfist0
cae24a9492
Fix warnings regarding unused variables.
2016-05-30 13:44:03 +03:00
Thomas Krijnen
38d1ec7a78
#28
2016-05-24 13:50:50 +02:00
Thomas Krijnen
b04ca74308
Derive minimal face area from modeling precision
2016-05-24 12:50:05 +02:00
Thomas Krijnen
e2ffd0b6d6
Fix IFC4 compilation
2016-05-18 17:15:44 +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
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
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
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
da0af77570
Compatibility for older versions of cmake, python, open cascade, boost
2016-02-18 13:17:15 +01:00
Stinkfist0
f191b1fdd2
Fix warning regarding shadowing variable names.
2016-02-03 22:34:50 +02:00
aothms
801c7da40f
Use multiple argument boolean operands for IfcOpeningElement subtractions
2016-01-25 13:30:33 +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
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
b243572d23
Don't fail on opening elements lacking representation or placement
2015-12-05 17:14:10 +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
c9db70c7c3
Initial implementation of layerset slicing
2015-10-07 17:33:30 +02:00
aothms
c7ddc0643e
Fixes to flatten_shape_list()
2015-10-07 16:14:34 +02:00
aothms
3a9e90f94f
Mark IfcGeom::Kernel::getValue as const
2015-10-07 16:13:25 +02:00
Thomas Krijnen
78f4d7d592
Fix build with Boost 1.58.0. Patch by stinkfist0. Thanks.
2015-07-09 13:23:40 +00:00
Thomas Krijnen
e9eb7db620
Fix ensure_fit_for_subtraction() function when input shape is a solid
2015-06-21 16:14:37 +00:00
Thomas Krijnen
77ba3f5a80
Perform shape healing after opening subtraction
2015-05-22 15:41:56 +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
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
def1328a91
Some more checks and fixes in the IfcBooleanResult code. Most notably set the result to FirstOperand in case healing the result fails.
2015-02-06 17:14:05 +00:00
Thomas Krijnen
97b6f444d1
Use BRepMesh_IncrementalMesh rather than BRepMesh::Mesh. Thanks lorinma.
2015-01-19 16:02:34 +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
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
cf2e82e8f5
Create a compsolid shape for an extrusion of a IfcCompositeProfileDef and process the opening subtraction individually
2014-07-24 11:22:31 +00:00
Thomas Krijnen
9a1c7af953
Fixes for IfcRectangleHollowProfileDef and filleted profile generation.
2014-07-24 11:14:54 +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
83b6ce9083
Apply the same precision value when merging a compound of faces into a solid just-in-time for subtraction
2014-06-09 12:56:47 +00:00