Fixes parabolic curves in IfcAlignment examples and helper functions

This commit is contained in:
Richard Brice
2024-05-05 11:40:02 -07:00
parent 648ca4d477
commit e4625bd71e
2 changed files with 2 additions and 2 deletions
+1 -1
View File
@@ -151,7 +151,7 @@ std::pair<typename Schema::IfcCurveSegment*, typename Schema::IfcAlignmentSegmen
// creates geometry and business logic segments for vertical profile parabolic vertical curves
std::pair<typename Schema::IfcCurveSegment*, typename Schema::IfcAlignmentSegment*> create_vcurve(typename Schema::IfcCartesianPoint* p, double start_slope, double end_slope, double length) {
// geometry
double A = 0.0;
double A = p->Coordinates()[1];
double B = start_slope;
double C = (end_slope - start_slope) / (2 * length);
+1 -1
View File
@@ -696,7 +696,7 @@ std::pair<Ifc4x3_add2::IfcCurveSegment*, Ifc4x3_add2::IfcCurveSegment*> mapAlign
result.first = curve_segment;
} else if (type == Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::IfcAlignmentVerticalSegmentType_PARABOLICARC) {
double A = 0.0;
double A = start_height;
double B = start_gradient;
double C = (end_gradient - start_gradient) / (2 * horizontal_length);