Commit Graph

1587 Commits

Author SHA1 Message Date
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 b30fbf73ae Add support for IfcSweptDiskSolid 2014-04-16 16:51:03 +00:00
Thomas Krijnen ed1db3dc68 Process IfcStyledItems directly applied to an IfcFacetedBrep 2014-04-09 10:57:45 +00:00
Thomas Krijnen 68740367a5 Account for unit magnitude in matrix translation part when CONVERT_BACK_UNITS is enabled 2014-04-08 07:28:07 +00:00
Thomas Krijnen 24279776ab Increased verbosity in unsupported entity instances 2014-04-02 15:28:04 +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 bc801d00ba Handle missing or invalid unit and precision information more gracefully during IfcGeomObject initialization 2014-03-22 12:56:08 +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 ec2ed06272 Add support for ellipses with SemiAxis2 > SemiAxis1 2014-03-03 19:07: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 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
Thomas Krijnen 4866953119 Revert the IfcGeomObjects API to float precision instead of double. Internally double precision is still used. 2012-04-08 08:39:09 +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 aa7a290ea1 Adjust some tolerances 2012-04-07 09:59:04 +00:00
Thomas Krijnen a9bba39b9d Applied Patch #3509752 by mv2ax
Made the sewing of TopoDS_Shells into a IfcGeomObjects::Setting
Limit the maximum number of faces a shell to be sewed
2012-03-23 17:38:44 +00:00