156 lines
2.7 KiB
C++
Executable File
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
|