DISPLACE  1.0
A spatial model of fisheries to help sustainable fishing and maritime spatial planning
MapObjectsController Class Reference

#include <mapobjectscontroller.h>

Inheritance diagram for MapObjectsController:
EditorLayerInterface

Classes

class  LayerList
 
class  WidgetAncillaryData
 
class  WidgetUserData
 

Public Types

enum  LayerIds {
  LayerMain = 0, LayerSeamarks = 1, LayerEntities = 2, LayerGraph = 3,
  LayerEdges, LayerMax
}
 
enum  OutLayerIds {
  OutLayerPopStats = 0, OutLayerBiomass, OutLayerPopImpact, OutLayerPopCumcatches,
  OutLayerBenthosBiomass, OutLayerBenthosNumber, OutLayerBenthosMeanweight, OutLayerCumFTime,
  OutLayerCumSweptArea, OutLayerCumSubsurfaceSweptArea, OutLayerCumCatches, OutLayerCumCatchesWithThreshold,
  OutLayerCumdiscards, OutLayerCumdiscardsRatio, OutLayerNbChoked, OutLayerMax
}
 
enum  TariffLayerIds { TariffLayerTariffAll, TariffLayerTariffPop, TariffLayerTariffBenthos, TariffLayerMax }
 
enum  EnvLayerIds {
  EnvLayerWind, EnvLayerSST, EnvLayerSalinity, EnvLayerNitrogen,
  EnvLayerPhosphorus, EnvLayerOxygen, EnvLayerDissolvedCarbon, EnvLayerBathymetry,
  EnvLayerShippingdensity, EnvLayerSiltfraction, EnvLayerMax
}
 
enum  EditorModes { NoEditorMode, EdgeEditorMode, NodeEditorMode }
 
enum  Visibility { Visible, Invisible }
 

Public Slots

void signalAppIsClosing ()
 
void removeAllWidgets ()
 
void edgeSelectionHasChanged (EdgeMapObject *object)
 
void nodeSelectionHasChanged (NodeMapObject *node)
 
void redraw ()
 

Signals

int edgeSelectionChanged (int num)
 
int nodeSelectionChanged (int num)
 

Public Member Functions

 MapObjectsController (qmapcontrol::QMapControl *map)
 
virtual ~MapObjectsController () noexcept=default
 
qmapcontrol::QMapControl * mapWidget () const
 
void setModel (int model_n, std::shared_ptr< DisplaceModel > model)
 
DisplaceModelgetModel (int model_n)
 
void removeModel (int model_n)
 
void createMapObjectsFromModel (int model_n, DisplaceModel *model)
 
void updateMapObjectsFromModel (int model_n, DisplaceModel *model)
 
void updateVesselPosition (int model, int idx)
 
void updateShipPosition (int model, int idx)
 
void updateFishfarmPosition (int model, int idx)
 
void updateWindmillPosition (int model, int idx)
 
void updateNodes (int model)
 
LayerListgetLayerList (int model, ObjectTreeModel::Category type)
 
void setModelVisibility (int model, Visibility visibility)
 Sets the visibility of the model objects. More...
 
void setLayerVisibility (int model, ObjectTreeModel::Category type, int layer, bool visibility)
 
bool isLayerVisible (int model, ObjectTreeModel::Category type, int layer)
 
bool isModelActive (int model) const
 
const PalettegetPalette (int model, PaletteRole n) const
 
void setPalette (int model, PaletteRole n, const Palette &palette)
 
void forceRedraw ()
 
void showDetailsWidget (const PointWorldCoord &point, QWidget *widget)
 
bool importShapefile (int model_idx, QString path, QString layername)
 
QStringList getShapefilesList (int model_idx) const
 
std::shared_ptr< qmapcontrol::ESRIShapefile > getShapefile (int model_idx, int idx)
 
std::shared_ptr< GDALDataset > cloneShapefileDatasource (int model_idx, const QString &name)
 
void setEditorMode (EditorModes mode)
 
EditorModes getEditorMode () const
 
void clearNodeSelection (int model)
 
void selectNodes (int model, QList< types::NodeId > nodes)
 
void delSelected (int model)
 
QSet< EdgeMapObject * > edgeSelection (int model) const
 
void clearAllNodes (int model_n)
 
void addNode (int model_n, std::shared_ptr< NodeData > nd, bool disable_redraw=false)
 
void addHarbour (int model_n, std::shared_ptr< HarbourData > nd, bool disable_redraw=false)
 
void addEdge (int model_n, std::shared_ptr< NodeData::Edge > edge, bool disable_redraw)
 
void clearEditorLayer ()
 
void addEditorLayerGeometry (std::shared_ptr< qmapcontrol::Geometry > geometry)
 
MapsDataProvidergetMapDataProvider (int model)
 
void delSelectedNodes (int model)
 

Protected Slots

void geometryClicked (const Geometry *)
 
void widgetClosed (QObject *)
 

Protected Member Functions

void addStandardLayer (int model, LayerIds id, std::shared_ptr< Layer > layer, bool visibility)
 
void addOutputLayer (int model, OutLayerIds id, std::shared_ptr< Layer > layer, bool visibility)
 
void addTariffLayer (int model, int id, std::shared_ptr< Layer > layer, bool visibility)
 
void addEnvLayer (int model, int id, std::shared_ptr< Layer > layer, bool visibility)
 
void addShapefileLayer (int model, QString name, std::shared_ptr< GDALDataset > datasource, std::shared_ptr< LayerESRIShapefile > layer, bool show=true)
 
void delSelectedEdges (int model)
 

Member Enumeration Documentation

◆ EditorModes

Enumerator
NoEditorMode 
EdgeEditorMode 
NodeEditorMode 

◆ EnvLayerIds

Enumerator
EnvLayerWind 
EnvLayerSST 
EnvLayerSalinity 
EnvLayerNitrogen 
EnvLayerPhosphorus 
EnvLayerOxygen 
EnvLayerDissolvedCarbon 
EnvLayerBathymetry 
EnvLayerShippingdensity 
EnvLayerSiltfraction 
EnvLayerMax 

◆ LayerIds

Enumerator
LayerMain 
LayerSeamarks 
LayerEntities 
LayerGraph 
LayerEdges 
LayerMax 

◆ OutLayerIds

Enumerator
OutLayerPopStats 
OutLayerBiomass 
OutLayerPopImpact 
OutLayerPopCumcatches 
OutLayerBenthosBiomass 
OutLayerBenthosNumber 
OutLayerBenthosMeanweight 
OutLayerCumFTime 
OutLayerCumSweptArea 
OutLayerCumSubsurfaceSweptArea 
OutLayerCumCatches 
OutLayerCumCatchesWithThreshold 
OutLayerCumdiscards 
OutLayerCumdiscardsRatio 
OutLayerNbChoked 
OutLayerMax 

◆ TariffLayerIds

Enumerator
TariffLayerTariffAll 
TariffLayerTariffPop 
TariffLayerTariffBenthos 
TariffLayerMax 

◆ Visibility

Enumerator
Visible 
Invisible 

Constructor & Destructor Documentation

◆ MapObjectsController()

MapObjectsController::MapObjectsController ( qmapcontrol::QMapControl *  map)

◆ ~MapObjectsController()

virtual MapObjectsController::~MapObjectsController ( )
virtualdefaultnoexcept

Member Function Documentation

◆ addEdge()

void MapObjectsController::addEdge ( int  model_n,
std::shared_ptr< NodeData::Edge edge,
bool  disable_redraw 
)

◆ addEditorLayerGeometry()

void MapObjectsController::addEditorLayerGeometry ( std::shared_ptr< qmapcontrol::Geometry >  geometry)
virtual

Implements EditorLayerInterface.

◆ addEnvLayer()

void MapObjectsController::addEnvLayer ( int  model,
int  id,
std::shared_ptr< Layer >  layer,
bool  visibility 
)
protected

◆ addHarbour()

void MapObjectsController::addHarbour ( int  model_n,
std::shared_ptr< HarbourData nd,
bool  disable_redraw = false 
)

◆ addNode()

void MapObjectsController::addNode ( int  model_n,
std::shared_ptr< NodeData nd,
bool  disable_redraw = false 
)

◆ addOutputLayer()

void MapObjectsController::addOutputLayer ( int  model,
OutLayerIds  id,
std::shared_ptr< Layer >  layer,
bool  visibility 
)
protected

◆ addShapefileLayer()

void MapObjectsController::addShapefileLayer ( int  model,
QString  name,
std::shared_ptr< GDALDataset >  datasource,
std::shared_ptr< LayerESRIShapefile >  layer,
bool  show = true 
)
protected

◆ addStandardLayer()

void MapObjectsController::addStandardLayer ( int  model,
LayerIds  id,
std::shared_ptr< Layer >  layer,
bool  visibility 
)
protected

◆ addTariffLayer()

void MapObjectsController::addTariffLayer ( int  model,
int  id,
std::shared_ptr< Layer >  layer,
bool  visibility 
)
protected

◆ clearAllNodes()

void MapObjectsController::clearAllNodes ( int  model_n)

◆ clearEditorLayer()

void MapObjectsController::clearEditorLayer ( )
virtual

Implements EditorLayerInterface.

◆ clearNodeSelection()

void MapObjectsController::clearNodeSelection ( int  model)

◆ cloneShapefileDatasource()

std::shared_ptr< GDALDataset > MapObjectsController::cloneShapefileDatasource ( int  model_idx,
const QString &  name 
)

◆ createMapObjectsFromModel()

void MapObjectsController::createMapObjectsFromModel ( int  model_n,
DisplaceModel model 
)

◆ delSelected()

void MapObjectsController::delSelected ( int  model)

◆ delSelectedEdges()

void MapObjectsController::delSelectedEdges ( int  model)
protected

◆ delSelectedNodes()

void MapObjectsController::delSelectedNodes ( int  model)

◆ edgeSelection()

QSet<EdgeMapObject *> MapObjectsController::edgeSelection ( int  model) const
inline

◆ edgeSelectionChanged

int MapObjectsController::edgeSelectionChanged ( int  num)
signal

◆ edgeSelectionHasChanged

void MapObjectsController::edgeSelectionHasChanged ( EdgeMapObject object)
slot

◆ forceRedraw()

void MapObjectsController::forceRedraw ( )

◆ geometryClicked

void MapObjectsController::geometryClicked ( const Geometry *  geometry)
protectedslot

◆ getEditorMode()

EditorModes MapObjectsController::getEditorMode ( ) const
inline

◆ getLayerList()

LayerList* MapObjectsController::getLayerList ( int  model,
ObjectTreeModel::Category  type 
)
inline

◆ getMapDataProvider()

MapsDataProvider & MapObjectsController::getMapDataProvider ( int  model)

◆ getModel()

DisplaceModel & MapObjectsController::getModel ( int  model_n)

◆ getPalette()

const Palette& MapObjectsController::getPalette ( int  model,
PaletteRole  n 
) const
inline

◆ getShapefile()

std::shared_ptr< ESRIShapefile > MapObjectsController::getShapefile ( int  model_idx,
int  idx 
)

◆ getShapefilesList()

QStringList MapObjectsController::getShapefilesList ( int  model_idx) const

◆ importShapefile()

bool MapObjectsController::importShapefile ( int  model_idx,
QString  path,
QString  layername 
)
Bug:
The following code will result in a memory leak and/or double free bug.

◆ isLayerVisible()

bool MapObjectsController::isLayerVisible ( int  model,
ObjectTreeModel::Category  type,
int  layer 
)

◆ isModelActive()

bool MapObjectsController::isModelActive ( int  model) const

◆ mapWidget()

qmapcontrol::QMapControl* MapObjectsController::mapWidget ( ) const
inline

◆ nodeSelectionChanged

int MapObjectsController::nodeSelectionChanged ( int  num)
signal

◆ nodeSelectionHasChanged

void MapObjectsController::nodeSelectionHasChanged ( NodeMapObject node)
slot

◆ redraw

void MapObjectsController::redraw ( )
slot

◆ removeAllWidgets

void MapObjectsController::removeAllWidgets ( )
slot

◆ removeModel()

void MapObjectsController::removeModel ( int  model_n)

◆ selectNodes()

void MapObjectsController::selectNodes ( int  model,
QList< types::NodeId nodes 
)

◆ setEditorMode()

void MapObjectsController::setEditorMode ( MapObjectsController::EditorModes  mode)

◆ setLayerVisibility()

void MapObjectsController::setLayerVisibility ( int  model,
ObjectTreeModel::Category  type,
int  layer,
bool  visibility 
)

◆ setModel()

void MapObjectsController::setModel ( int  model_n,
std::shared_ptr< DisplaceModel model 
)

◆ setModelVisibility()

void MapObjectsController::setModelVisibility ( int  model,
MapObjectsController::Visibility  visibility 
)

Sets the visibility of the model objects.

Parameters
modelindex of the model
visibilityvisibility status

◆ setPalette()

void MapObjectsController::setPalette ( int  model,
PaletteRole  n,
const Palette palette 
)

◆ showDetailsWidget()

void MapObjectsController::showDetailsWidget ( const PointWorldCoord &  point,
QWidget *  widget 
)

◆ signalAppIsClosing

void MapObjectsController::signalAppIsClosing ( )
slot

◆ updateFishfarmPosition()

void MapObjectsController::updateFishfarmPosition ( int  model,
int  idx 
)

◆ updateMapObjectsFromModel()

void MapObjectsController::updateMapObjectsFromModel ( int  model_n,
DisplaceModel model 
)

◆ updateNodes()

void MapObjectsController::updateNodes ( int  model)

◆ updateShipPosition()

void MapObjectsController::updateShipPosition ( int  model,
int  idx 
)

◆ updateVesselPosition()

void MapObjectsController::updateVesselPosition ( int  model,
int  idx 
)

◆ updateWindmillPosition()

void MapObjectsController::updateWindmillPosition ( int  model,
int  idx 
)

◆ widgetClosed

void MapObjectsController::widgetClosed ( QObject *  widget)
protectedslot

The documentation for this class was generated from the following files: