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
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
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
3e7c0cfd55
IfcSurfaceCurveSweptAreaSolid improvements
2014-03-31 14:00:02 +00:00
Thomas Krijnen
aae576aae2
Take into account face location when serializing shape as tesselated faceset.
2014-03-22 21:13:02 +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
7597f25db0
Implementations for more parameterized profile definitions
2014-03-08 17:21:39 +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
14a3f80c59
Correct a regression in matrix multiplication order
2013-07-20 22:12:40 +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
Jang Myeongho
217a7c6599
added break statements.
2012-06-27 15:59:09 +00:00
Jang Myeongho
00de61cbfc
fixed wrong assertion.
2012-06-27 11:16:37 +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
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
Thomas Krijnen
bd79df2be7
- Make distinction between single shape and list of shapes
...
- Store shapes in std::vectors rather than TopoDS_Compounds
- Apply transformation only on triangulated meshes or when processing openings
- Store transformations in a gp_GTrsf to allow arbitrary transformations
- Support IfcCartesianTransformationOperator3DnonUniform
- TODO: Create proper class for ShapeList
- TODO: Carefully check for null pointers returned from IfcGeom::convert_shape()
2011-10-23 17:11:06 +00:00
Thomas Krijnen
34efb480d6
- Provide logging information to IfcBlender
...
- Disallow open curves for IfcPolygonalBoundedHalfSpace [fixes #3405490 Incorrectly rendered wall in FZK-Haus-EliteCAD.ifc]
- Disable tolerance on IfcCompositeCurve
- Try to convert IfcConnectedFaceSets to TopoDS_Solids regardless of whether they are open or closed shells, improves openings in IFC files exported by Revit
- Provide debugging information based on shape volume on IfcBooleanClippingResult and IfcOpeningElement
2011-10-12 16:43:29 +00:00