ImagingTools Core SDK
CCluster.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// Qt includes
6#include <QtPositioning/QGeoCoordinate>
7
8// ACF includes
9#include <iser/CPrimitiveTypesSerializer.h>
10
11
12// ImtCore includes
13#include <imtgeo/ICluster.h>
14#include <imtgeo/CPosition.h>
15
16namespace imtgeo
17{
22class CCluster: public CPositionIdentifiable, virtual public ICluster
23{
24public:
25 typedef CPositionIdentifiable BaseClass;
26
27 CCluster();
28
29 ~CCluster();
30
31 // reimplemented (imtgeo::ICluster)
35 virtual QByteArrayList GetChildrenIds() const override;
36
40 virtual void SetChildrenIds(QByteArrayList &list) override;
41
45 virtual double GetZoom() const override;
46
50 virtual void SetZoom(double zoom) override;
51
52 // reimplemented (iser::ISerializable)
53 virtual bool Serialize(iser::IArchive& archive) override;
54
55private:
56
57 QByteArrayList m_childrenIds = QByteArrayList();
58 double m_zoom = 0;
59
60};
61
62
63
64} // namespace imtgeo
65
66
virtual void SetZoom(double zoom) override
virtual void SetChildrenIds(QByteArrayList &list) override
virtual double GetZoom() const override
virtual QByteArrayList GetChildrenIds() const override