290 lines
6.6 KiB
C++
Executable File
290 lines
6.6 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* FunctionDialog
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "function_dialog_export.h"
|
|
#include <Map/map.h>
|
|
#include <QWidget>
|
|
#include <Symbology/symbol_dictionary.h>
|
|
|
|
|
|
// ESRI
|
|
#include <arcgis/Map.h>
|
|
#include <arcgis/MapGraphicsView.h>
|
|
#include <arcgis/GraphicsOverlay.h>
|
|
|
|
// #define USE_LOCAL_SERVER
|
|
|
|
|
|
class QStandardItemModel;
|
|
|
|
//----------------------------------------------------------------------------
|
|
namespace SituationMap
|
|
{
|
|
|
|
namespace RB
|
|
{
|
|
class RubberbandBase;
|
|
}
|
|
|
|
class Map;
|
|
|
|
// TODO: nur fuer Tests exportiert
|
|
class FUNCTIONDIALOG_EXPORT FunctionDialog : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit FunctionDialog(Esri::ArcGISRuntime::Map *esriMap,
|
|
Esri::ArcGISRuntime::MapGraphicsView *esriView,
|
|
QWidget *parent);
|
|
explicit FunctionDialog(SituationMap::Map *map);
|
|
virtual ~FunctionDialog();
|
|
|
|
static void addButtonToMap(SituationMap::Map *map, bool isVisible = true);
|
|
|
|
|
|
void init();
|
|
|
|
void setGraphicsLayer(Esri::ArcGISRuntime::GraphicsOverlay *graphicsLayer);
|
|
|
|
void setMapPositionString(const QString &mapPosition);
|
|
void setPixelSizeString(const QString &text);
|
|
void addMapPositionString(const QString &mapPosition);
|
|
|
|
FunctionDialog(const FunctionDialog &other) = delete; // No copy
|
|
FunctionDialog &operator=(const FunctionDialog &other) = delete; // No copy
|
|
|
|
|
|
|
|
protected:
|
|
void addSimpleLayerTab();
|
|
void addLogicalLayerTab();
|
|
void addLayerPerformanceTab();
|
|
void addGraphicsTab();
|
|
void addGraphics3DTab();
|
|
void addMessageTab();
|
|
void addMapObjectTab();
|
|
void addRubberbandTab();
|
|
void addRubberband3DTab();
|
|
void addToolsTab();
|
|
void addViewshedTab();
|
|
void addOverlayPlanTab();
|
|
void addIconRenderTab();
|
|
void addPortalTab();
|
|
void addMovePointLuxemburgTab();
|
|
|
|
|
|
void getRotationAndAngle(const QPointF §Start, const QPointF §End, double &rotationDegOut, double &openAngleDegOut);
|
|
// void addYourTab();
|
|
|
|
|
|
Esri::ArcGISRuntime::Graphic *createCube(const SituationMap::PositionCont &mapPosCont,
|
|
int baseHeight,
|
|
double objHeight,
|
|
const QString &partyNameValue = QString());
|
|
|
|
|
|
public Q_SLOTS:
|
|
void onDestroyed();
|
|
|
|
void onLayerPerfCreateLayer();
|
|
|
|
|
|
void onGenerateGraphics();
|
|
void onGenerateCube();
|
|
void onGenerateCubeArray();
|
|
void onGenerateStackedCubes();
|
|
void onGenerateGraphicsKristenStrandford();
|
|
void onGenerateUniqueVaueRendererMountingPoints();
|
|
|
|
void onGenerate3DGraphicSphereRENDERER();
|
|
void onSphereOpacityChangedRENDERER(int opacityValue);
|
|
|
|
void onGenerate3DGraphicSphere();
|
|
void onSphereOpacityChanged(int opacityValue);
|
|
void onSphereZValueChanged(int ZValue);
|
|
|
|
void onGenerate3DGraphicCone();
|
|
void onConeOpacityChanged(int opacityValue);
|
|
void onConeZValueChanged(int ZValue);
|
|
void onConeHeadingChanged(float angle);
|
|
void onConeRollChanged(float angle);
|
|
void onConePitchChanged(float angle);
|
|
|
|
void on3dModel();
|
|
void on3dModelZValueChanged(int ZValue);
|
|
|
|
void onGenerate3DGraphicConeUniqueValueRenderer();
|
|
|
|
|
|
|
|
void onAddCivilSymbols();
|
|
void onMessage();
|
|
void onMessageSelect();
|
|
void onAddSymbol();
|
|
void onSomeParticipants();
|
|
|
|
void onRubberbandApply(RB::RubberbandBase *);
|
|
void onRubberbandAbort(RB::RubberbandBase *);
|
|
void onRubberband3DApply(RB::RubberbandBase *);
|
|
void onRubberband3DAbort(RB::RubberbandBase *);
|
|
void onRubberbandDefineArrow();
|
|
void onRubberbandDefineEllipse();
|
|
void onRubberbandBoobyTrapSector();
|
|
void onRubberbandCheckCoordinates();
|
|
void onRubberbandStateSelect();
|
|
void onRubberbandTwoInOne();
|
|
void onRectCheckCoordinates();
|
|
|
|
void onPolygonCreate();
|
|
void onPolylineCreate();
|
|
void onPolylineUpdate();
|
|
void onTextCreate();
|
|
void onTextUpdate();
|
|
void onMapObjectIndicatorCreate();
|
|
|
|
|
|
void onParticipantGetPosition();
|
|
void onParticipantGetPositionApplied(RB::RubberbandBase *rubberband = nullptr);
|
|
bool createParticipant(const Point3D &origin,
|
|
const QString &debugInfo);
|
|
void onParticipantCreate();
|
|
void onParticipantUpdate();
|
|
|
|
void onAreaFireCreate();
|
|
void onAreaFireUpdate();
|
|
|
|
void onBuildingCreate();
|
|
void onBuildingUpdate();
|
|
|
|
void onBiologicalAgentCreate();
|
|
void onBiologicalAgentUpdate();
|
|
|
|
void onChemicalAgentCreate();
|
|
|
|
void onCubeCreate();
|
|
|
|
void onDangerAreaCreate();
|
|
void onDangerAreaUpdate();
|
|
|
|
void onFunctionalAreaCreate();
|
|
void onFunctionalAreaUpdate();
|
|
|
|
void onGeoImageCreate();
|
|
void onMapObjectClicked(const SituationMap::Map::RefPointerMapObjectList &mapObjList,
|
|
const QPointF &viewportPosition);
|
|
|
|
void onSoundAreaCreate();
|
|
void onSoundAreaUpdate();
|
|
|
|
void onHitLineCreate();
|
|
void onHitLineUpdate();
|
|
|
|
void onLineOfSightLineCreate();
|
|
|
|
|
|
void onMineCreate();
|
|
void onMineUpdate();
|
|
|
|
void onMineFieldCreate();
|
|
void onMineFieldUpdate();
|
|
|
|
void onNuclearCreate();
|
|
void onNuclearUpdate();
|
|
|
|
void onChargeEffectCreate();
|
|
void onChargeEffectUpdate();
|
|
|
|
void onBoobyTrapCreate();
|
|
void onBoobyTrapUpdate();
|
|
|
|
void onSingleFireCreate();
|
|
void onSingleFireUpdate();
|
|
|
|
void onShowBasePoint();
|
|
|
|
void onShowPolizei();
|
|
|
|
void onObjectIndicator();
|
|
|
|
void onMeasureLength();
|
|
|
|
void onStartLocationDisplay();
|
|
void onStopLocationDisplay();
|
|
|
|
void onLoadFile();
|
|
|
|
void onPortal();
|
|
|
|
void onMovePoint();
|
|
|
|
#ifdef USE_LOCAL_SERVER
|
|
void onStartLocalService();
|
|
void onStopLocalService();
|
|
void onStartViewshedSvc();
|
|
void onStopViewshedSvc();
|
|
|
|
void onViewshedInteractive();
|
|
void onViewshed();
|
|
#endif // USE_LOCAL_SERVER
|
|
|
|
void onSightFan();
|
|
void onViewshedSightFan();
|
|
|
|
void onLoadPlan();
|
|
void onOverlayVisiChanged(bool checked);
|
|
void onRemovePlan();
|
|
void onRemoveAllPlans();
|
|
|
|
void onToPdf();
|
|
|
|
void onDump();
|
|
|
|
void onOverviewMap();
|
|
|
|
void onBackupOms();
|
|
void onRestoreOms();
|
|
|
|
void onRemove();
|
|
void onRemoveAll();
|
|
void onToggleGrid();
|
|
void onToggleVisibility();
|
|
void onToggleVisibilityTechn();
|
|
void onToggleVisibilityTact();
|
|
void onToggleSelection();
|
|
void onTogglePicking();
|
|
void onToggleBoundingBox();
|
|
void onToggleBB2();
|
|
void onMapRotationChanged();
|
|
void onSymbolSizeChanged();
|
|
void onSymbolOpacityChanged();
|
|
void onDrawOrderChanged();
|
|
|
|
|
|
//void onBuildingPERFORMANCE();
|
|
|
|
void onMouseWindowPositionChanged(int x, int y);
|
|
void onMouseMapPositionChanged(const Point3D &mapPos, bool isValid);
|
|
void onMouseGeoPositionChanged(const Point3D &geoPos, bool isValid);
|
|
|
|
void onExtendChanged();
|
|
|
|
private:
|
|
class Private;
|
|
/**
|
|
* The private d-pointer to not break BC when changing internals of this class
|
|
*/
|
|
Private *d = nullptr;
|
|
};
|
|
|
|
|
|
} // namespace SituationMap
|
|
|