IFile.hpp
1 #pragma once
2 
3 #include "DM/config.hpp"
4 #include "DM/Handle.hpp"
5 #include "DM/ObjectBase.hpp"
6 
7 DM_NAMESPACE_BEGIN
8 
9 class IAddInfoLayout;
10 
11 /// \brief Imported files are preserved and represented by such objects within an ODM (see IDatamanager::beginFiles)
12 class DM_API IFile : public ObjectBase
13 {
14 public:
15  virtual ~IFile() {}
16 
17  virtual IFile* clone() const = 0;
18 
19  virtual unsigned int id() const = 0;
20 
21  virtual const char *filename() const = 0;
22  //E_dataformat format() const = 0;
23 
24  virtual int64_t sizeGeometry() const = 0;
25  virtual int64_t sizePoint() const = 0;
26  virtual int64_t sizePolyline() const = 0;
27  virtual int64_t sizePolylinePoint() const = 0;
28  virtual int64_t sizePolygon() const = 0;
29  virtual int64_t sizePolygonPoint() const = 0;
30 
31  virtual bool hasLayout() const = 0;
32  virtual const IAddInfoLayout& layout() const = 0;
33 
34  //virtual const_iterator_layer beginLayer() const=0;
35  //virtual const_iterator_layer endLayer() const=0;
36 };
37 
39 
40 
41 DM_NAMESPACE_END
AddInfo layouts describe a set of attributes that can be attached to geometry objects.
Definition: IAddInfoLayout.hpp:18
Imported files are preserved and represented by such objects within an ODM (see IDatamanager::beginFi...
Definition: IFile.hpp:12
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