157 lines
4.3 KiB
C++
Executable File
157 lines
4.3 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* Interface-Implementation of BiologicalAgent
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
*/
|
|
|
|
// Own
|
|
#include "biological_agent_impl.h"
|
|
#include <MapImpl/map_impl.h>
|
|
#include <Map/party_id_to_color_functor.h>
|
|
#include <GraphicalObjects/graphical_object_ellipse.h>
|
|
#include <GraphicalObjects/tactical_appearance.h>
|
|
|
|
#include <Symbology/sidc_codec.h>
|
|
|
|
// ESRI
|
|
|
|
|
|
// Qt
|
|
|
|
|
|
namespace SituationMap
|
|
{
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// class BiologicalAgentImpl
|
|
//-----------------------------------------------------------------------------
|
|
BiologicalAgentImpl::BiologicalAgentImpl(const QString &debugInfo)
|
|
: BiologicalAgent() // Interface
|
|
, BaseClass(debugInfo) // Implementation
|
|
, m_logger(getLogger("BiologicalAgentImpl"))
|
|
{
|
|
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
|
|
|
|
m_lineColorFromParty = false;
|
|
m_fillColorAlpha = 200;
|
|
|
|
TRACE_LOG(m_logger) << LOGFUNCTION << " END";
|
|
}
|
|
|
|
BiologicalAgentImpl::~BiologicalAgentImpl()
|
|
{
|
|
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
|
|
TRACE_LOG(m_logger) << LOGFUNCTION << " END";
|
|
}
|
|
|
|
|
|
QString BiologicalAgentImpl::toString() const
|
|
{
|
|
QString str;
|
|
str.append(BaseClass::toString());
|
|
str.append(BasicPathObjectImpl::toString());
|
|
return str;
|
|
}
|
|
|
|
|
|
Point3D BiologicalAgentImpl::origin() const
|
|
{
|
|
return BaseClass::origin();
|
|
}
|
|
void BiologicalAgentImpl::setOrigin(const Point3D &origin)
|
|
{
|
|
BaseClass::setOrigin(origin);
|
|
}
|
|
float BiologicalAgentImpl::radius() const
|
|
{
|
|
return BaseClass::radius();
|
|
}
|
|
|
|
void BiologicalAgentImpl::setRadius(float radius)
|
|
{
|
|
BaseClass::setRadius(radius);
|
|
}
|
|
|
|
|
|
AesEffectState BiologicalAgentImpl::aesState() const
|
|
{
|
|
return BaseClass::aesState();
|
|
}
|
|
void BiologicalAgentImpl::setAesState(AesEffectState aesState)
|
|
{
|
|
BaseClass::setAesState(aesState);
|
|
}
|
|
|
|
SymbolImage BiologicalAgentImpl::symbolImage() const
|
|
{
|
|
SymbolImage symImage = m_tacticalAppearance->symbolImage();
|
|
return symImage;
|
|
}
|
|
|
|
|
|
|
|
bool BiologicalAgentImpl::updateViewImpl()
|
|
{
|
|
TRACE_LOG(m_logger) << LOGFUNCTION << " START"
|
|
<< " origin =" << this->origin() //.x() << ", " << this->origin().y()
|
|
<< " radius =" << this->radius()
|
|
<< " 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 BiologicalAgentImpl::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(), "10012500002717000000"); // SymbolSet = 25 271700
|
|
// ^^ ^^^^^^
|
|
break;
|
|
case AdvancedSymbology::SymbologyType::MIL2525C:
|
|
// m_symbol.refValue().m_sidc = QLatin1String("GUMPNB----"); // 0953 GUMPNB---- -> Polygon -> Image WITH Area // small icon and big border
|
|
m_symbol.refValue().sidc = AdvancedSymbology::SidcCodec::encodeComplete(mapImpl->symbologyType(), "GFMPNEB---"); // 0081 GFMPNEB--- -> Point -> Image WITHOUT Area // not 'centered'
|
|
break;
|
|
case AdvancedSymbology::SymbologyType::APP6B:
|
|
// m_symbol.refValue().m_sidc = QLatin1String("GHCPBWC---"); // APP6B: 3937 GHCPBWC--- -> Polygon
|
|
m_symbol.refValue().sidc = AdvancedSymbology::SidcCodec::encodeComplete(mapImpl->symbologyType(), "GUCPBWK---"); // APP6B: 2875 GUCPBWK--- -> Point
|
|
break;
|
|
case AdvancedSymbology::SymbologyType::None:
|
|
// empty
|
|
break;
|
|
} // switch
|
|
|
|
} // if (mapImpl)
|
|
|
|
bool success = BaseClass::init(mapImpl, logicalLayerName, GraphicalObjectPathType::Polygon);
|
|
|
|
if (!success)
|
|
ERROR_LOG(m_logger) << LOGFUNCTION << " init failed";
|
|
|
|
setLineStyle(LineStyle(Qt::yellow, 2));
|
|
setFillStyle(FillStyle(Qt::yellow, FillPattern::Null));
|
|
|
|
TRACE_LOG(m_logger) << LOGFUNCTION << " END, success=" << success;
|
|
return success;
|
|
}
|
|
|
|
|
|
} // namespace SituationMap
|