Commit Graph

19 Commits

Author SHA1 Message Date
Richard Brice ba4ff68597 Fixes runtime check for expected IfcPolynomialCurve coefficients and adds fallback check to IfcObjectPlacement (#3936)
* Adds support for IfcLinearPlacement

* Instantiates IfcHierarchyHelper template for ADD2

* Implements Eigen shortcut

Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com>

* Implements Eigen shortcut

Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com>

* Implements Eigen shortcut

Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com>

* Implements Eigen shortcut

Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com>

* Removed assert, added Logger::Warning and Logger::Error. Made treatment of unexpected data more permissive

* Fixes runtime check for polynomial curve

* 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.

---------

Co-authored-by: Thomas Krijnen <t.krijnen@gmail.com>
2023-10-25 09:42:39 +02:00
Richard Brice 2a53911c52 Removed assert, added Logger::Warning and Logger::Error. Made treatment of unexpected data more permissive 2023-10-24 17:05:51 +02:00
Richard Brice fc22d2fa51 Adds support for IfcLinearPlacement 2023-10-24 17:05:51 +02:00
Richard Brice 3eb85cc36a Fixes mapping of horizontal curve with IfcCircle 2023-10-17 09:20:50 +02:00
Richard Brice e794911926 Fixes problems with horizontal curves and clothoid spirals 2023-10-17 09:20:50 +02:00
Thomas Krijnen 661c8bc50f Small changes to curve segment handling for purpose of wrapper 2023-10-14 16:37:50 +02: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 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 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 88ef7c75b8 #3098 IfcCurveSegment and IfcClothoid handling (?) 2023-09-16 22:23:04 +02:00