canvas::Map: Preserve default values without new values

Ensure default values are used (instead of 0) if no values are
specified.
This commit is contained in:
Thomas Geymayer 2018-03-01 09:03:25 +01:00
parent cba07157d5
commit 711a4fe0c8

View File

@ -199,10 +199,18 @@ namespace canvas
_projection = std::make_shared<SansonFlamsteedProjection>(); _projection = std::make_shared<SansonFlamsteedProjection>();
_projection->setWorldPosition(_node->getDoubleValue(REF_LAT), _projection->setWorldPosition(_node->getDoubleValue(REF_LAT),
_node->getDoubleValue(REF_LON) ); _node->getDoubleValue(REF_LON));
_projection->setOrientation(_node->getFloatValue(HDG));
_projection->setScreenRange(_node->getDoubleValue(SCREEN_RANGE)); // Only set existing properties to prevent using 0 instead of default values
_projection->setRange(_node->getDoubleValue(RANGE));
if( auto heading = _node->getChild(HDG) )
_projection->setOrientation(heading->getFloatValue());
if( auto screen_range = _node->getChild(SCREEN_RANGE) )
_projection->setScreenRange(screen_range->getDoubleValue());
if( auto range = _node->getChild(RANGE) )
_projection->setRange(range->getDoubleValue());
_projection_dirty = true; _projection_dirty = true;
} }