Files
qt5-legatus-legacy/Lts/Services/InfrastructureManagement/ism_dtc_impl_custom.h
T
2026-08-13 18:33:10 +02:00

80 lines
4.2 KiB
C++
Executable File

/**
* @RDE_HEADER@
* ISM Custom functions (extends ism_db_impl.cpp/.h)
* $Id$
* $HeadURL$
* $Author$
* Created by Iuliana Ojog, SLSE, 2016-11-26
*/
#pragma once
#include <InfrastructureManagement/ism_dtc_impl.h>
//-------------------------------------------------------------------------------------------------------------
namespace InfrastructureManagement
{
namespace Interface
{
class DtcImplCustom final : public Interface::DtcImpl
{
Q_OBJECT
public:
explicit DtcImplCustom(const std::shared_ptr<DDSConnector::DdsConnector> &ddsConnector);
~DtcImplCustom();
public:
long structureElementCacheSize() const;
protected:
void reloadStructureElementCacheIfEmpty();
long reloadStructureElementCache();
protected Q_SLOT:
void updateStructureElementCache(const InfrastructureManagement::MainStructureElement &data, DataModification modType);
public:
bool isElementAssignedToExercise(const MainStructureElement &mse, int exerciseId) const override;
bool getMountingPointAssetId(int structureElementId, int assetId, int &mountingPointAssetId) const override;
bool getAssetIdFromMountingPoint(int structureElementId, int mountingPointAssetId, int &assetId) const override;
int getOpsCodeFromJSon(const std::string &s) const;
int getOpticalCodeFromAssetId(int assetId) const override;
int getAssetIdFromOpticalCode(int opticalCode) const override;
int getAssetIdFromMountingPointId(int mainStructureElementId, int mountingPointId) const override;
bool getOpsDataFromMseIdAndSeId(int mainStructureElementId, int structureElementId, int &roomId, Core::GeoPosition &geoPosition) const override;
bool getStructureElementById(int structureElementId, StructureElement &structureElement) const override;
bool getStructureElementInMntPointAssetByAssetId(int assetId, StructureElement &structureElement) const override;
bool getStructureElementByBuildingIdAndMountingPointId(int mainStructureElementId, int mountingPointId, StructureElement &structureElement) override;
bool getAllAssetsPerRoom(const std::function<bool(const InstrumentationAsset &)> &predicate,
QMap<int, QVector<InstrumentationAsset> > &allAssets) override;
bool getAllAssetsPerBuilding(const std::function<bool(const InstrumentationAsset &)> &predicate,
QMap<int, QVector<InstrumentationAsset> > &allAssets) const override;
bool getBuildingId(int structureElementId, int &buildingId) const override;
QString getBuildingDisplayName(int buildingId) override;
QString getBuildingDisplayName(const MainStructureElement &mse) const override;
MountingPointPlan getMountingPointPlan(int scheduleId, int structureElementId) const override;
int getBuildingRoomsCount(int buildingId) override;
BridgeStatus getBridgeStatus(int buildingId) override;
bool checkSchedule(int scheduleId) override;
bool getScheduleDifferences(int scheduleId, QList<MountingPointPlan> &diffList) override;
int getMountedAssetId(int structureElementId) const override;
int getStructueElementIdFromAssetId(int assetId) const override;
QList<int> getSections() override;
QMap<int, MainFootprint> getFootprintsByExerciseId(int exerciseId) override;
QMap<int, QPolygonF> getUtmFootprintsByExerciseId(int exerciseId, int &zone, bool isGroundLevel) override;
QPolygonF getUtmFootprintById(int mseId, int &zoneOut, bool isGroundLevel) override;
QVector <int> getBuildingByPolygon(int exerciseId, const QPolygonF &polygon, bool completeEnclosed, bool isGroundLevel) override;
int getSurroundingBuildingByPolygon(int exerciseId, const QPolygonF &polygon, bool isGroundLevel) override;
int getBuildingIdAtPosition(int exerciseId, const QPointF &utmPos, bool isGroundLevel) override;
QVector <int> getFloorIdsFromBuilding(int buildingId) override;
QList <StructureElement> getFloorsFromBuilding(int buildingId);
double getHalfFloorHeight(int buildingId, int floorId) override;
QVector <int> getRoomIdsFromFloorId(int buildingId, int floorId) override;
QVector <int> getBuildingIdsByExercise ( int exerciseId) override;
QByteArray getVulnerabilityModelData ( int buildingId) override;
class Private;
Private *d;
};
} //Interface
} // namespace InfrastructureManagement