Commit Graph

91 Commits

Author SHA1 Message Date
Thomas Krijnen 336b07a7a2 Use BRepMesh_IncrementalMesh rather than BRepMesh::Mesh. Thanks lorinma. 2015-01-19 16:02:34 +00:00
Thomas Krijnen 3b157b0f3e Use BRepMesh_IncrementalMesh rather than BRepMesh::Mesh. Thanks lorinma. 2015-01-16 14:32:50 +00:00
Thomas Krijnen 414b761453 Don't rely on operator bool() but on bool operator!() for truthiness of boost::optionals. Fixes compilation with boost 1.56+. 2015-01-16 13:24:40 +00:00
Thomas Krijnen 53c95db28f Fix for IfcSpecularExponent 2015-01-06 14:13:24 +00:00
Thomas Krijnen 61d73ebfd6 Improvements for precision handling 2015-01-06 14:09:28 +00:00
Thomas Krijnen 33625c6422 More robust processing of IfcPolyline and IfcPolyLoop 2014-07-28 20:03:53 +00:00
Thomas Krijnen f68060f566 Fixes for IfcRectangleHollowProfileDef and filleted profile generation. 2014-07-24 11:14:54 +00:00
Thomas Krijnen dce878515e Correct an invalid default value for IfcCartesianTransformationOperator3D.Axis3. Thanks Stefan. 2014-07-19 10:30:13 +00:00
Thomas Krijnen 577565a494 - Check the validity of solids created from sewed shells and potentially revert to a shell or compound of faces
- Flag shape representations, for which no item succeeds, as failed
2014-06-27 12:00:41 +00:00
Thomas Krijnen 18620d29ae Apply the same precision value when merging a compound of faces into a solid just-in-time for subtraction 2014-06-11 10:35:06 +00:00
Thomas Krijnen 79839d487a Detect cases where Newell's Method returns a zero-length vector and make no attempt to normalize it in order to prevent an exception. In this case the face will be flagged as invalid down the road, because its perimeter doesn't span any area. 2014-06-11 10:32:15 +00:00
Thomas Krijnen 6fe2e2366d Process IfcStyledItems directly applied to an IfcFacetedBrep 2014-04-09 10:57:45 +00:00
Thomas Krijnen 4242bb7c1b Account for unit magnitude in matrix translation part when CONVERT_BACK_UNITS is enabled 2014-04-08 07:28:07 +00:00
Thomas Krijnen 1bbd08f1a4 Increased verbosity in unsupported entity instances 2014-04-02 15:28:04 +00:00
Thomas Krijnen f387090078 Take into account face location when serializing shape as tesselated faceset. 2014-03-22 21:13:02 +00:00
Thomas Krijnen 790bdee195 Correctly treat IfcLShapeProfileDef.Width as optional attribute
Fix IfcCShapeProfileDef having Width and Depth interchanged
2014-03-22 18:46:07 +00:00
Thomas Krijnen b6a811ae7e Handle missing or invalid unit and precision information more gracefully during IfcGeomObject initialization 2014-03-22 12:56:08 +00:00
Thomas Krijnen fa195194c6 Prevent a construction error when trying to normalize a zero length normal during triangulation, which happens very, very rarely. 2014-03-22 10:48:29 +00:00
Thomas Krijnen c47a43caf7 IfcGeomObjects: No longer implicitly turn off the availability of triangulated data when USE_BREP_DATA is set. Use DISABLE_TRIANGULATION to explicitly disable the generation of triangulated data to gain performance when only OCC brep data is needed. 2014-01-02 13:33:54 +00:00
Thomas Krijnen 2bd37fd088 IfcConvert: Unit names and magnitudes + cosmetic fixes 2013-12-31 14:10:38 +00:00
Thomas Krijnen 586ad14013 #28 USE_BREP_DATA setting does not respect CONVERT_BACK_UNITS setting 2013-12-27 09:36:14 +00:00
Thomas Krijnen 9577778573 Fix for gcc thanks to Ivano Ras 2013-11-25 21:20:07 +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 03beb42d2e Cosmetic changes 2013-08-12 00:26:15 +00:00
Thomas Krijnen b4059cc340 Tweak processing of IfcBooleanClippingResult and IfcPolygonalBoundedHalfSpace 2013-08-09 05:13:02 +00:00
Thomas Krijnen 14a3f80c59 Correct a regression in matrix multiplication order 2013-07-20 22:12:40 +00:00
Thomas Krijnen 063f498066 Additional compatibility for std::tr1::array 2013-07-20 22:00:12 +00:00
Thomas Krijnen d6693ff931 Representation surface style initialization fix submitted by ckimmig 2013-07-20 21:41:26 +00:00
Thomas Krijnen 17ebefa158 Fix a bug in the processing of an IfcTrimmedCurve with an IfcLine as a basis constructed from an IfcVector with non-unit length. 2013-06-10 15:47:41 +00:00
Thomas Krijnen 12a0571bf4 Prefix array with tr1 to accomodate older compilers 2013-05-13 07:12:42 +00:00
Thomas Krijnen 1d1fd49608 Added missing files 2013-05-13 06:40:30 +00:00
Thomas Krijnen 3f048efc79 Add an adapter for IfcGeom::SurfaceStyle so that IfcGeomObjects (and most notably the Python wrapper) need not to be aware of boost::optional
Expose shading and rendering styles to the Python wrapper as well
2013-05-11 15:26:35 +00:00
Thomas Krijnen dccbccfa06 A limited attempt at some const correctness in the IfcGeomObjects interface 2013-05-11 10:03:20 +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 5d4ff0b54a First push of a more all-round geometrical file conversion utility 2013-03-24 10:48:39 +00:00
Thomas Krijnen 4f26622e03 Do revert to unknown plane angle unit state after guessing when creating an IfcCompositeCurve 2012-12-31 15:48:04 +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 e729795da2 Add an option to disable the subtraction of IfcOpeningElements from relating building elements to the IfcGeomObject settings 2012-10-19 08:20:43 +00:00
Thomas Krijnen 2f500aa098 IfcGeom: Use the 'wire creation tolerance' on point projection for trimmed curves
Fall back to trimming by parameter if possible and point projection fails
2012-09-16 12:49:55 +00:00
Jang Myeongho da616ffd64 - Added getter to IfcFile object
- fixed wrong operator to judge plan angle unit is not exist.
- guessed plane angle unit stay in a file processing.
2012-08-21 07:06:59 +00:00
Thomas Krijnen 0ef6577407 Fix some errors and warnings 2012-08-13 09:17:08 +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 975d0caa0f If no plane angle unit is provided in the IFC file, create composite curves using both radians and degrees and see which 'looks best' (=successfully created and/or closed curve) 2012-07-29 15:16:30 +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 2137ad2488 Apply patch #3534755 by myueho to use the standard M_PI instead of relying on PI defined in OCC, which recently got removed upstream. 2012-06-13 07:13:31 +00:00
Thomas Krijnen b1adf124c6 Reorder the definition of IfcCircleHollowProfileDef and IfcCircleProfileDef in order for the hollow profiles to get interpreted correctly 2012-06-12 17:03:39 +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