mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-20 04:25:42 +08:00
Ref T275, elevation plane improvements
* setRadiusOrMinimum * ASSERT if there is no radius
This commit is contained in:
@@ -31,13 +31,18 @@ namespace BlackMisc
|
||||
CElevationPlane::CElevationPlane(const ICoordinateGeodetic &coordinate, const ICoordinateGeodetic &rangeCoordinate) :
|
||||
CCoordinateGeodetic(coordinate)
|
||||
{
|
||||
m_radius = this->calculateGreatCircleDistance(rangeCoordinate);
|
||||
this->setRadiusOrMinimum(this->calculateGreatCircleDistance(rangeCoordinate));
|
||||
}
|
||||
|
||||
CElevationPlane::CElevationPlane(const ICoordinateGeodetic &coordinate, const CLength &radius) :
|
||||
CCoordinateGeodetic(coordinate), m_radius(radius)
|
||||
{ }
|
||||
|
||||
void CElevationPlane::setRadiusOrMinimum(const CLength &radius)
|
||||
{
|
||||
m_radius = ((radius.isNull() || radius < CElevationPlane::singlePointRadius())) ? CElevationPlane::singlePointRadius() : radius;
|
||||
}
|
||||
|
||||
void CElevationPlane::addAltitudeOffset(const CLength &offset)
|
||||
{
|
||||
if (offset.isNull() || offset.isZeroEpsilonConsidered()) { return; }
|
||||
|
||||
@@ -48,6 +48,9 @@ namespace BlackMisc
|
||||
//! Radius
|
||||
void setRadius(const PhysicalQuantities::CLength &radius) { m_radius = radius; }
|
||||
|
||||
//! Radius or minimum CElevationPlane::singlePointRadius
|
||||
void setRadiusOrMinimum(const PhysicalQuantities::CLength &radius);
|
||||
|
||||
//! Add offset to altitude
|
||||
void addAltitudeOffset(const PhysicalQuantities::CLength &offset);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user