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
81292f1adc
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-07 17:49:21 +00:00
Thomas Krijnen
948d7675f0
- Take better care of inverse cardinalities and respect more CoordinationView agreements in IfcOpenHouse
...
- Track inverse relationships in an IfcWrite context as well
- Fix for lists of SELECT types
2014-05-05 16:17:28 +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
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