Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Shared/ism_mounting_point.h
T
torstenandCopilot 7a6be7474e Qt6 migration: Fix BUILD_RTI=OFF build errors in TrainingAreaBase
- training_area_telegrams.cpp: Fixed QJsonObject initializer syntax (Qt6 requires {{}} not ({}))
- training_area_telegrams.cpp: Fixed fromJson() methods to access m_* members directly
- training_area_telegrams.cpp: Fixed brace mismatches in multiple toJson() methods
- training_area_telegrams.h: Changed Header struct to public members for consistency
- tx_mixin.cpp: Fixed getEquipmentNumber() template for direct member access
- lts_coordinate.cpp: Added missing #include <iomanip>
- MIGRATION_STATUS.md: Added migration progress tracking document

C++17 constraint enforced due to RTI Connext DDS 7.7.0 incompatibility with C++20+

Build status: BUILD_RTI=OFF successful (0 errors, warnings only)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-23 20:49:23 +02:00

109 lines
3.7 KiB
C++
Executable File

#pragma once
#include <ismshared_export.h>
#include <InfrastructureManagement/ism.hpp>
#include <InfrastructureManagement/ism_enums.hpp>
#include <QtGui/QImage>
#include <QtCore/QMap>
#include <QtGui/QGuiApplication>
#include <QtGui/QScreen>
namespace InfrastructureManagement
{
class ISMSHARED_EXPORT MountingPoint
{
public:
explicit MountingPoint();
explicit MountingPoint(const StructureElement &data, int floorId);
static void init();
const StructureElement &data() const { return m_data; }
void updateData(const StructureElement &data, int floorId) { m_data = data; m_floor = floorId; }
int32_t id() const { return m_data.id(); }
int32_t associatedAssetId() const { return m_associatedAssetId; }
bool hasAssociatedAsset() const { return m_associatedAssetId > 0; }
bool hasAssociatedAssetDefect() const { return m_hasAssociatedAssetDefect; }
MountingPointState aimState() const { return m_aimState; }
void setAimState(const MountingPointState &mps) { m_aimState = mps;}
bool isValid() const { return m_isValid; }
Core::GeoPosition geoPosition() const { return m_data.geoPosition(); }
Core::RelativePosition relPosition() const { return m_data.relPosition(); }
MountingPointType type() const { return m_data.mountingPointTypeId(); }
int32_t buildingId() const { return m_data.mainStructureElementId(); }
QString name() const;
QString fileName() const;
QByteArray properties() const { return m_data.properties().c_str(); }
QImage toImage(int32_t edgeLength = 100) const;
bool writeFile(int32_t edgeLength = 25) const;
int floor() const { return m_floor; }
void setFloor(int floor) { m_floor = floor; }
void setAssociatedAssetId(int32_t id);
void setHasAssociatedAssetDefect(bool hasAssociatedAssetDefect);
MountingPointState getNextMountingPointState(const MountingPointState currState);
private:
StructureElement m_data;
int32_t m_associatedAssetId;
MountingPointState m_aimState;
bool m_hasAssociatedAssetDefect;
bool m_isValid;
int m_floor;
public:
enum class MpColor
{
GRAY,
BLUE,
RED,
GREEN,
ORANGE
};
static QString mpColorToString(MpColor mpColor);
static QString mpColorToPostfix(MpColor mpColor);
struct NameImagePair
{
NameImagePair(const QString &name = QString(),
const QImage &img = QImage())
: m_name(name), m_img(img)
{}
QString m_name;
QImage m_img;
};
struct MpNameImageData
{
NameImagePair nipGray;
NameImagePair nipBlue;
NameImagePair nipRed;
NameImagePair nipGreen;
NameImagePair nipOrange;
};
static QMap<MountingPointType, MpNameImageData> &getImageTable();
static bool getImageAttributePlanActivity(const MountingPoint& mp,
QImage &imgOut, QString &attribNameOut);
static bool getImageAttributePlanDefinition(const MountingPoint& mp,
QImage &imgOut, QString &attribNameOut);
static bool getImageAttribute(const MountingPoint& mp, MpColor mpColor,
QImage &img, QString &attribName);
private:
static QMap<MountingPointType, MpNameImageData> &getImageTableInternal();
static void insertHelper(MountingPointType type,
const QString &name,
const QString &colorCodeGray,
const QString &colorCodeGreen,
const QString &colorCodeRed,
const QString &colorCodeOrange,
const QString &defName = QString());
};
} // namespace InfrastructureManagement