IDatamanagerHeader.hpp
1 #pragma once
2 
3 #include "DM/config.hpp"
4 #include "DM/Handle.hpp"
5 #include "DM/IGeometry.hpp"
6 #include "DM/IBox.hpp"
7 #include "DM/IAddInfoStatistics.hpp"
8 #include "DM/IIndexStats.hpp"
9 #include "DM/AutoLink.hpp" //enable autolink
10 
11 DM_NAMESPACE_BEGIN
12 
13 /// \brief Interface to an datamanager header (ODM) object
14 /**
15  The object provides the header information of the ODM file. The header information
16  can be accessed without actually opening a datamanager (see IDatamnager::getHeaderODM)
17 */
18 class DM_API IDatamanagerHeader : public ObjectBase
19 {
20 public:
21  virtual int64_t sizeGeometry() const = 0;
22  virtual int64_t sizePoint() const = 0;
23  virtual int64_t sizePolyline() const = 0;
24  virtual int64_t sizePolylinePoint() const = 0;
25  virtual int64_t sizePolygon() const = 0;
26  virtual int64_t sizePolygonPoint() const = 0;
27 
28  virtual BoxHandle getLimit() const = 0;
29 
30  virtual double estimatedPointDensity() const = 0;
31 
32  virtual bool storesOrder() const = 0;
33 
34  virtual AddInfoStatisticsHandle getAddInfoStatistics() const = 0;
35 
36  virtual IndexStatsHandle getPointIndexStatistics() const = 0;
37  virtual IndexStatsHandle getPolylineIndexStatistics() const = 0;
38 
39  virtual const char* getCRS() const = 0;
40 };
41 
43 
44 DM_NAMESPACE_END
Interface to an datamanager header (ODM) object.
Definition: IDatamanagerHeader.hpp:18
Smart pointer class using reference counting with support for DM objects (see ObjectBase)
Definition: Handle.hpp:75
Definition: M/c++_api/inc/DM/ObjectBase.hpp:8