Commit Graph

1550 Commits

Author SHA1 Message Date
Richard Brice 12e69ff07a Fixes build issue with mapping 2023-11-09 09:43:36 -08:00
Richard Brice 8409859e8d Implements safer way to use IfcCurveSegment.UsingCurves
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com>
2023-11-09 03:23:13 -07:00
Richard Brice 7ed85358f9 Implements IfcSegmentedReferenceCurve and first cut at cant geometry 2023-11-08 19:43:21 -08:00
Thomas Krijnen 809668c015 Major update to halfspace algorithm, conversion result shape analysis 2023-11-02 09:04:34 +01:00
Richard Brice b50f4a2240 Adds a virtual init_adjustments function to precompute common values for segment geometry adjustments 2023-11-01 08:35:29 -07:00
Richard Brice bef86e261c Renamed interpolate to compute_adjustment and made it a template function. 2023-11-01 08:34:58 -07:00
Richard Brice 969181acf3 Implements framework for adjusting geometry based on location of start point of next segment. 2023-10-27 08:10:18 -07:00
Richard Brice 0aa69a6ebf Moves implementation of piecewise_function::evaluate(u) from h to cpp to prevent massive rebuilds everytime the function is changed. 2023-10-27 08:10:18 -07:00
Richard Brice dd915736f5 Adds warning that the BaseCurve of IfcGradientCurve is expected to be IfcCompositeCurve 2023-10-27 08:10:18 -07:00
Richard Brice 85ece64272 Minor code format revisions 2023-10-27 08:10:18 -07:00
Richard Brice 6e8d635040 Adds test of fallback placement for IfcLinearPlacement and reduces number of tests for placement type.
Changed to if-else if so inst isn't tested to be every placement type, every time.
2023-10-27 08:10:18 -07:00
Richard Brice cefbf8b4f2 Fixes runtime check for polynomial curve 2023-10-27 08:10:17 -07:00
Thomas Krijnen a0aaa39c4b Test for intersection result in cgal code 2023-10-27 08:10:17 -07:00
Thomas Krijnen 71166f3685 Some variations of shell mapping in occt 2023-10-27 08:10:17 -07:00
Thomas Krijnen 90f9123f35 Notify on product conversion start as in 0.7 2023-10-27 08:10:17 -07:00
Thomas Krijnen a6f97b0b92 Implement ObjectPlacement using native recursion 2023-10-27 08:10:17 -07:00
Richard Brice f0dbb535d3 Removed assert, added Logger::Warning and Logger::Error. Made treatment of unexpected data more permissive 2023-10-27 08:09:50 -07:00
Richard Brice dde85265c6 Adds support for IfcLinearPlacement 2023-10-27 08:09:05 -07:00
Richard Brice 1920a6427d Removed assert, added Logger::Warning and Logger::Error. Made treatment of unexpected data more permissive 2023-10-27 08:04:19 -07:00
Richard Brice 140dded1d1 Implements Eigen shortcut
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com>
2023-10-27 08:04:18 -07:00
Richard Brice 40d4c5bd01 Implements Eigen shortcut
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com>
2023-10-27 08:04:18 -07:00
Richard Brice 97879e47e2 Implements Eigen shortcut
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com>
2023-10-27 08:04:18 -07:00
Richard Brice 8b05da1da1 Implements Eigen shortcut
Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com>
2023-10-27 08:04:18 -07:00
Richard Brice 528cf06a46 Adds support for IfcLinearPlacement 2023-10-27 08:04:17 -07:00
Thomas Krijnen b4ef4cbbec Add noexcept to hash functor 2023-10-27 08:04:17 -07:00
Richard Brice 512b8b9e08 Mapping of vertical profiles with IfcGradientCurve 2023-10-27 08:04:12 -07:00
Richard Brice 8497e655f5 Fixes mapping of horizontal curve with IfcCircle 2023-10-27 08:04:12 -07:00
Richard Brice c1cab4b186 Fixes problems with horizontal curves and clothoid spirals 2023-10-27 08:04:12 -07:00
Thomas Krijnen 53096017f5 Update nef_to_halfspace_tree.h 2023-10-27 08:04:12 -07:00
Thomas Krijnen c1a6d8f347 Small changes to curve segment handling for purpose of wrapper 2023-10-27 08:04:12 -07:00
Thomas Krijnen fb9cf75412 #3889 Apply handling of openings on IfcFeatureElementSubtraction generically 2023-10-16 11:02:40 +02:00
Richard Brice b9c234457d Fixes minor issues with mapping code 2023-10-04 13:25:58 -07:00
Richard Brice a5c07d5e24 Adds IfcPolynoialCurve for vertical curves 2023-10-04 13:25:31 -07:00
Richard Brice 7b0e2c52ac Manually merged in aothms revisions for gradient curves and implicit_item taxonomy 2023-10-02 16:30:39 -07:00
Richard Brice c3aeae8661 Implements recommendation to use map_impl(IfcPolyline*) 2023-09-29 13:27:23 -07:00
Richard Brice 00d8ffeba0 Reverts to Taylor Series approximation of Clothoid curve.
If you compare the results generated by the numeric integration and the approximation, they are very different. The approximation compares will with other software so there is likely a problem with the equation of the clothoid
2023-09-29 12:14:38 -07:00
Richard Brice f9d259a3d8 Removes redundant function evaluation in numeric integration 2023-09-29 12:14:38 -07:00
Richard Brice d9b534b66d Implemented position handling with transformation matrix 2023-09-29 12:14:38 -07:00
Richard Brice 47c319aa2d Adds a continuity check for IfcCurveSegment 2023-09-29 12:14:30 -07:00
Richard Brice d4f543d2ad Implemented placement handling with transformation matrix. 2023-09-28 14:58:21 -07:00
Richard Brice 1564b53ef5 Minor revision to numerical integration code 2023-09-28 14:28:17 -07:00
Richard Brice 4f2b083ffc Revises implementation of operator(IfcSchema::IfcClothoid*) to use trapezoid rule numeric integration.
This is a more general approach than the Taylor Series approximation and is applicable to all the other spiral types. I stubbed out a functor for IfcSecondOrderPolynomialSpiral, but haven't tested it. The purpose is to show the concept.
2023-09-28 11:51:26 -07:00
Richard Brice 6ae0cce186 Implements mapping of IfcCurveSegment to taxonomy::geometry 2023-09-27 11:16:55 -07:00
Richard Brice 3e272efce4 Fixes cast to IfcCurveSegment for access to ParentCurve 2023-09-22 13:49:18 -07:00
Richard Brice 04b70efd7f Fixed problem with call to boost::mpl::for_each 2023-09-21 15:48:45 -07:00
Thomas Krijnen 053e3a3191 #3098 Move boost::type application to curve to template function 2023-09-17 09:35:14 +02:00
Thomas Krijnen a14c40feda Check for empty result from map(IfcRepresentation) in iterator 2023-09-16 22:23:22 +02:00
Thomas Krijnen 88ef7c75b8 #3098 IfcCurveSegment and IfcClothoid handling (?) 2023-09-16 22:23:04 +02:00
Thomas Krijnen 79d456bbf1 mapping: always overwrite orientation of loop as facebound 2023-09-14 21:58:46 +02:00
Thomas Krijnen 380cf4eca5 cgal kernel: permissiveness for multiple outer bounds in face 2023-09-14 21:58:06 +02:00