Loading [MathJax]/extensions/tex2jax.js
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 #include "DM/IO/IFileHeader.hpp"
11 
12 DM_NAMESPACE_BEGIN
13 
14 /// \brief Interface to an datamanager header (ODM) object
15 /**
16  The object provides the header information of the ODM file. The header information
17  can be accessed without actually opening a datamanager (see IDatamnager::getHeaderODM)
18 */
19 class DM_API IDatamanagerHeader : public ObjectBase
20 {
21 public:
22  virtual int64_t sizeGeometry() const = 0;
23  virtual int64_t sizePoint() const = 0;
24  virtual int64_t sizePolyline() const = 0;
25  virtual int64_t sizePolylinePoint() const = 0;
26  virtual int64_t sizePolygon() const = 0;
27  virtual int64_t sizePolygonPoint() const = 0;
28 
29  virtual BoxHandle getLimit() const = 0;
30 
31  virtual double estimatedPointDensity() const = 0;
32 
33  virtual bool storesOrder() const = 0;
34 
35  virtual AddInfoStatisticsHandle getAddInfoStatistics() const = 0;
36 
37  virtual IndexStatsHandle getPointIndexStatistics() const = 0;
38  virtual IndexStatsHandle getPolylineIndexStatistics() const = 0;
39 
40  virtual const char* getCRS() const = 0;
41 
42  // convert to the generic IFileHeader representation
43  virtual FileHeaderHandle getAsFileHeader() const = 0;
44 };
45 
47 
48 DM_NAMESPACE_END
Interface to an datamanager header (ODM) object.
Definition: IDatamanagerHeader.hpp:19
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