Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
@@ -0,0 +1,179 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* Interface-Implementation of FunctionalArea
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
*/
|
||||
|
||||
// Own
|
||||
#include "functional_area_impl.h"
|
||||
#include <MapImpl/map_impl.h>
|
||||
#include <GraphicalObjects/graphical_object_path.h>
|
||||
#include <GraphicalObjects/graphical_object_text.h>
|
||||
#include <MapObjectsImpl/participant_impl.h>
|
||||
|
||||
|
||||
// ESRI
|
||||
|
||||
|
||||
// Qt
|
||||
|
||||
|
||||
|
||||
namespace SituationMap
|
||||
{
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// class FunctionalAreaImpl
|
||||
//-----------------------------------------------------------------------------
|
||||
FunctionalAreaImpl::FunctionalAreaImpl(const QString &debugInfo)
|
||||
: FunctionalArea() // Interface
|
||||
, BaseClass(debugInfo) // Implementation
|
||||
, m_logger(getLogger("FunctionalAreaImpl"))
|
||||
{
|
||||
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
|
||||
m_pointSymbolData.origin.setMapObjectImpl(this);
|
||||
TRACE_LOG(m_logger) << LOGFUNCTION << " END";
|
||||
}
|
||||
|
||||
FunctionalAreaImpl::~FunctionalAreaImpl()
|
||||
{
|
||||
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
|
||||
delete m_pointSymbol;
|
||||
TRACE_LOG(m_logger) << LOGFUNCTION << " END";
|
||||
}
|
||||
|
||||
void FunctionalAreaImpl::reRenderSymbol()
|
||||
{
|
||||
BaseClass::reRenderSymbol();
|
||||
if (m_pointSymbol)
|
||||
m_pointSymbol->reRenderSymbol();
|
||||
}
|
||||
|
||||
Point3D FunctionalAreaImpl::pointSymbolOrigin() const
|
||||
{
|
||||
return m_pointSymbolData.origin.origin();
|
||||
}
|
||||
void FunctionalAreaImpl::setPointSymbolOrigin(const Point3D &pointSymbolOrigin)
|
||||
{
|
||||
m_pointSymbolData.origin.setOrigin(pointSymbolOrigin);
|
||||
}
|
||||
|
||||
const QString &FunctionalAreaImpl::pointSymbolSidc() const
|
||||
{
|
||||
return m_pointSymbolData.symbolData.sidc;
|
||||
}
|
||||
void FunctionalAreaImpl::setPointSymbolSidc(const QString &pointSymbolOriginSidc)
|
||||
{
|
||||
m_pointSymbolData.symbolData.sidc = pointSymbolOriginSidc;
|
||||
}
|
||||
|
||||
|
||||
bool FunctionalAreaImpl::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";
|
||||
|
||||
|
||||
if (!updateViewImplPointSymbolData())
|
||||
ERROR_LOG(m_logger) << LOGFUNCTION << " updateViewImplPointSymbolData failed";
|
||||
|
||||
TRACE_LOG(m_logger) << LOGFUNCTION << " END, success=" << success;
|
||||
return success;
|
||||
}
|
||||
|
||||
bool FunctionalAreaImpl::updateViewImplPointSymbolData()
|
||||
{
|
||||
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
|
||||
|
||||
// sidc empty?
|
||||
if (m_pointSymbolData.symbolData.sidc.isEmpty())
|
||||
{
|
||||
delete m_pointSymbol;
|
||||
m_pointSymbol = nullptr;
|
||||
return true;
|
||||
}
|
||||
|
||||
// ok, sidc available:
|
||||
if (!m_pointSymbol)
|
||||
{
|
||||
m_pointSymbol = new ParticipantImpl(m_debugInfo + QStringLiteral("#PntSymblTactApp"));
|
||||
m_pointSymbol->init(m_mapImpl, m_logicalLayerName); // use same layer as mainGraphicalObj/TECHN. Appearance
|
||||
m_pointSymbol->setUniqueId(m_uniqueMapId);
|
||||
}
|
||||
|
||||
if (m_party.partyId.changed())
|
||||
m_pointSymbol->setPartyIdChanged(m_party.partyId.value());
|
||||
|
||||
|
||||
// The drawOrder should be above the m_mainGraphicalObject (==Path)
|
||||
m_pointSymbol->setDrawOrder(this->drawOrder() + 1); // since m_pointSymbol is a participant, use drawOrder instead of m_internalDrawOrder
|
||||
|
||||
AbstractMapObjectImpl *amoImp = static_cast<AbstractMapObjectImpl*>(m_pointSymbol);
|
||||
amoImp->setVisibility((m_mainGraphicalObject) ? m_mainGraphicalObject->visibility() : false);
|
||||
|
||||
m_pointSymbol->setOrigin(m_pointSymbolData.origin.origin());
|
||||
|
||||
m_pointSymbol->setPartyId(this->partyId());
|
||||
|
||||
// m_pointSymbolData.symbolData.color = this->partyColor();
|
||||
|
||||
// return m_mapImpl->partyIdToColorFunctor().partyIdToRole(m_party.partyId.value(), identityAssumed);
|
||||
|
||||
// AdvancedSymbology::Role role = this->partyRole();
|
||||
// SymbolData symbolData = m_pointSymbolData.symbolData;
|
||||
// symbolData = m_pointSymbolData.symbolData;
|
||||
|
||||
m_pointSymbol->setSymbol(m_pointSymbolData.symbolData);
|
||||
|
||||
m_pointSymbol->setScale(this->scale());
|
||||
|
||||
// add m_userSymbolOpacity???
|
||||
|
||||
bool success = m_pointSymbol->updateView();
|
||||
if (!success)
|
||||
ERROR_LOG(m_logger) << LOGFUNCTION << " updateViewImpl failed, m_debugInfo =" << m_debugInfo;
|
||||
|
||||
TRACE_LOG(m_logger) << LOGFUNCTION << " END, success=" << success;
|
||||
return success;
|
||||
}
|
||||
|
||||
bool FunctionalAreaImpl::init(MapImpl *mapImpl, const QString &logicalLayerName)
|
||||
{
|
||||
TRACE_LOG(m_logger) << LOGFUNCTION << " START";
|
||||
|
||||
// if (mapImpl)
|
||||
// {
|
||||
// switch (mapImpl->symbologyType()) {
|
||||
// case AdvancedSymbology::SymbologyType::MIL2525C:
|
||||
// m_symbol.refValue().sidc = QLatin1String("GUMPNC----"); // Image WITH Area // small icon and big border
|
||||
// break;
|
||||
// case AdvancedSymbology::SymbologyType::APP6B:
|
||||
// m_symbol.refValue().sidc = QLatin1String("GUCPMGASM-"); // APP6B: 3556: GUCPMGASM- -> Polygon
|
||||
// break;
|
||||
// } // switch
|
||||
// } // if (mapImpl)
|
||||
|
||||
|
||||
bool success = BaseClass::init(mapImpl, logicalLayerName, GraphicalObjectPathType::Polygon);
|
||||
|
||||
setLineStyle(LineStyle(Qt::black, 2));
|
||||
|
||||
if (!success)
|
||||
ERROR_LOG(m_logger) << LOGFUNCTION << " init failed";
|
||||
|
||||
TRACE_LOG(m_logger) << LOGFUNCTION << " END, success=" << success;
|
||||
return success;
|
||||
}
|
||||
|
||||
|
||||
} // namespace SituationMap
|
||||
Reference in new issue
Block a user