mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 09:21:46 +00:00
Fixes parabolic curves in IfcAlignment examples and helper functions
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user