ImagingTools Core SDK
CPointCloud3d.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// ImtCore includes
6#include <imt3d/IPointCloud3d.h>
7#include <imt3d/IGridInfo.h>
8#include <imt3d/CPointsBasedObject.h>
9
10
11namespace imt3d
12{
13
14
19 public CPointsBasedObject,
20 virtual public IPointCloud3d,
21 virtual public IGridInfo
22{
23public:
25
26 // reimplemented (imt3d::IPointCloud3d)
27 virtual bool CreateCloud(PointFormat pointFormat) override;
28 bool CreateCloud(PointFormat pointFormat,
29 int pointsCount,
30 const void* dataPtr,
31 const istd::CIndex2d* gridSizePtr = nullptr) override;
32 virtual bool InsertPoints(
33 int pointsCount,
34 const void* dataPtr) override;
35
36 // reimplemented (imt3d::IGridInfo)
37 virtual istd::CIndex2d GetGridSize() const override;
38 virtual void SetGridSize(const istd::CIndex2d& gridSize) override;
39 virtual istd::CIndex2d GetGridPosition(int index) const override;
40 virtual int GetCloudPosition(const istd::CIndex2d& index) const override;
41
42 // reimplemented (iser::ISerializable)
43 virtual bool Serialize(iser::IArchive& archive) override;
44
45 // reimplemented (istd::IChangeable)
46 virtual int GetSupportedOperations() const override;
47 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
48 virtual bool IsEqual(const IChangeable& object) const override;
49 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS) const override;
50 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
51
52private:
53 istd::CIndex2d m_gridSize;
54};
55
56
57} // namespace imt3d
58
59