From c6257a4b3ac9f7d0b8a09272bc9835a4eaee23e8 Mon Sep 17 00:00:00 2001 From: Richard Brice <37087370+RickBrice@users.noreply.github.com> Date: Sat, 31 Jan 2026 05:30:06 -0800 Subject: [PATCH] Fixes errors in ifc_curve_rebar.cpp M_PI was not defined,. Replaced it with boost::math::constants::pi Calculation of area was incorrect. Area of a circle = PI*r*r = PI*dia*dia/4 --- src/examples/ifc_curve_rebar.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/examples/ifc_curve_rebar.cpp b/src/examples/ifc_curve_rebar.cpp index 81a705dc5e..0f66f7b45a 100644 --- a/src/examples/ifc_curve_rebar.cpp +++ b/src/examples/ifc_curve_rebar.cpp @@ -31,6 +31,9 @@ #include "ifcparse/Ifc2x3.h" #include "ifcparse/IfcHierarchyHelper.h" +#include +const static double PI = boost::math::constants::pi(); + typedef std::string S; typedef IfcParse::IfcGlobalId guid; boost::none_t const null = boost::none; @@ -41,7 +44,7 @@ void create_curve_rebar(IfcHierarchyHelper& file) int R = 3 * dia; int length = 12 * dia; - double crossSectionarea = M_PI * (dia / 2) * 2; + double crossSectionarea = PI * dia * dia / 4; IfcSchema::IfcReinforcingBar* rebar = new IfcSchema::IfcReinforcingBar( guid(), 0, S("test"), null, null, 0, 0,