106 lines
3.0 KiB
C++
Executable File
106 lines
3.0 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* Interface-Implementation of DangerArea
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
*/
|
|
|
|
// Own
|
|
#include "danger_area_impl.h"
|
|
#include <MapImpl/map_impl.h>
|
|
#include <GraphicalObjects/graphical_object_path.h>
|
|
#include <GraphicalObjects/graphical_object_text.h>
|
|
|
|
#include <Symbology/sidc_codec.h>
|
|
|
|
// ESRI
|
|
|
|
|
|
// Qt
|
|
|
|
|
|
|
|
namespace SituationMap
|
|
{
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// class DangerAreaImpl
|
|
//-----------------------------------------------------------------------------
|
|
DangerAreaImpl::DangerAreaImpl(const QString &debugInfo)
|
|
: DangerArea() // Interface
|
|
, BaseClass(debugInfo) // Implementation
|
|
, m_logger(getLogger("DangerAreaImpl"))
|
|
{
|
|
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
|
|
TRACE_LOG(m_logger) << LOGFUNCTION << " END";
|
|
}
|
|
|
|
DangerAreaImpl::~DangerAreaImpl()
|
|
{
|
|
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
|
|
TRACE_LOG(m_logger) << LOGFUNCTION << " END";
|
|
}
|
|
|
|
|
|
bool DangerAreaImpl::updateViewImpl()
|
|
{
|
|
TRACE_LOG(m_logger) << LOGFUNCTION << " START"
|
|
<< " symbol=" << m_symbol.value().sidc
|
|
<< " visibility=" << m_visibility
|
|
<< " visiTechn=" << m_visibilityTechnical
|
|
<< " visiTact=" << m_visibilityTactical;
|
|
|
|
bool success = BaseClass::updateViewImpl();
|
|
|
|
|
|
if (!success)
|
|
ERROR_LOG(m_logger) << LOGFUNCTION << " updateViewImpl failed";
|
|
|
|
TRACE_LOG(m_logger) << LOGFUNCTION << " END, success=" << success;
|
|
return success;
|
|
}
|
|
|
|
|
|
|
|
bool DangerAreaImpl::init(MapImpl *mapImpl, const QString &logicalLayerName)
|
|
{
|
|
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
|
|
|
|
if (mapImpl)
|
|
{
|
|
switch (mapImpl->symbologyType())
|
|
{
|
|
case AdvancedSymbology::SymbologyType::APP6D:
|
|
case AdvancedSymbology::SymbologyType::MIL2525D:
|
|
m_symbol.refValue().sidc = AdvancedSymbology::SidcCodec::encodeComplete(mapImpl->symbologyType(), "10012500001511000000"); // SymbolSet = 25 151100
|
|
break;
|
|
case AdvancedSymbology::SymbologyType::MIL2525C:
|
|
m_symbol.refValue().sidc = AdvancedSymbology::SidcCodec::encodeComplete(mapImpl->symbologyType(), "GUMPNC----"); // Image WITH Area // small icon and big border
|
|
break;
|
|
case AdvancedSymbology::SymbologyType::APP6B:
|
|
m_symbol.refValue().sidc = AdvancedSymbology::SidcCodec::encodeComplete(mapImpl->symbologyType(), "GUCPMGASM-"); // APP6B: 3556: GUCPMGASM- -> Polygon
|
|
// m_symbol.refValue().sidc = AdvancedSymbology::SidcCodec::encodeComplete(mapImpl->symbologyType(),"GUCPBWC---"); // APP6B: 3939: GUCPBWC---- -> Polygon
|
|
break;
|
|
case AdvancedSymbology::SymbologyType::None:
|
|
// empty
|
|
break;
|
|
} // switch
|
|
} // if (mapImpl)
|
|
|
|
|
|
bool success = BaseClass::init(mapImpl, logicalLayerName, GraphicalObjectPathType::Polygon);
|
|
|
|
setLineStyle(LineStyle(Qt::yellow, 2));
|
|
setFillStyle(FillStyle(Qt::yellow, FillPattern::Null));
|
|
|
|
if (!success)
|
|
ERROR_LOG(m_logger) << LOGFUNCTION << " init failed";
|
|
|
|
TRACE_LOG(m_logger) << LOGFUNCTION << " END, success=" << success;
|
|
return success;
|
|
}
|
|
|
|
|
|
} // namespace SituationMap
|