Files
qt5-legatus-legacy/Lts/Plugins/Timeline/Gui/EventTimeline/tln_av_tracks.h
T
2026-08-13 18:33:10 +02:00

156 lines
2.7 KiB
C++
Executable File

#pragma once
#include <LtsTimeline/track.h>
namespace Timeline
{
// Video (=> Buldings, Streams)
class BuildingsRootTrack : public LtsTimeline::Track
{
public:
explicit BuildingsRootTrack(const QString &text);
};
class BuildingTrack : public LtsTimeline::Track
{
public:
BuildingTrack(int mainStructureElementId, const QString &name);
int mainStructureElementId() const { return m_msei; }
void setHitsTrackId(int id) { m_hitsTrackId = id; }
int hitsTrackId() const noexcept(false) { if (m_hitsTrackId == -1) throw QStringLiteral("hits track id not available"); return m_hitsTrackId; } // TODO: std::optional
private:
int m_msei { -1 };
int m_hitsTrackId { -1 };
};
class BuildingHitsTrack : public LtsTimeline::Track
{
public:
explicit BuildingHitsTrack(const QString &text);
};
class BuildingStreamTrack : public LtsTimeline::Track
{
public:
BuildingStreamTrack(const QString &internal, const QString &display);
};
// Outdoor Cameras
class OutdoorCameraRootTrack : public LtsTimeline::Track
{
public:
explicit OutdoorCameraRootTrack(const QString &text);
};
class OutdoorCameraTrack : public LtsTimeline::Track
{
public:
explicit OutdoorCameraTrack(const QString &streamName);
const QString &streamName() const { return m_streamName; }
private:
QString m_streamName;
};
class VideosRootTrack : public LtsTimeline::Track
{
public:
explicit VideosRootTrack(const QString &text);
};
class VideoTrack : public LtsTimeline::Track
{
public:
explicit VideoTrack(const QString &streamName);
const QString &streamName() const { return m_streamName; }
private:
QString m_streamName;
};
// TVC
class TvcRootTrack : public LtsTimeline::Track
{
public:
explicit TvcRootTrack(const QString &text);
};
class TvcStreamTrack : public LtsTimeline::Track
{
public:
TvcStreamTrack(const QString &internalStreamName, const QString &displayStreamName);
const QString &internalStreamName() const { return m_internalStreamName; }
private:
QString m_internalStreamName;
};
// CNR
class CnrRootTrack : public LtsTimeline::Track
{
public:
explicit CnrRootTrack(const QString &text);
};
class CnrStreamTrack : public LtsTimeline::Track
{
public:
CnrStreamTrack(const QString &internalStreamName, const QString &displayStreamName);
const QString &internalStreamName() const { return m_internalStreamName; }
private:
QString m_internalStreamName;
};
// Hit Buildings
class HitBuildingsRootTrack : public LtsTimeline::Track
{
public:
explicit HitBuildingsRootTrack(const QString &text);
};
class HitBuildingTrack : public LtsTimeline::Track
{
public:
HitBuildingTrack(int mainStructureElementId, const QString &name);
int mainStructureElementId() const { return m_msei; }
private:
int m_msei { -1 };
};
} // namespace Timeline