Main Page
Module List
Reference documentation
Namespaces
Classes
Examples
distroDM
c++_api
inc
DM
IFile.hpp
1
#ifndef DM_IFILE_HPP_INCLUDED
2
#define DM_IFILE_HPP_INCLUDED
3
4
#ifdef _MSC_VER
5
#pragma once
6
#endif
7
8
#include "DM/config.hpp"
9
#include "DM/Handle.hpp"
10
#include "DM/ObjectBase.hpp"
11
12
DM_NAMESPACE_BEGIN
13
14
class
IAddInfoLayout;
15
16
/// \brief Imported files are preserved and represented by such objects within an ODM (see IDatamanager::beginFiles)
17
class
DM_API
IFile
:
public
ObjectBase
18
{
19
public
:
20
virtual
~
IFile
() {}
21
22
virtual
IFile
* clone()
const
= 0;
23
24
virtual
unsigned
int
id()
const
= 0;
25
26
virtual
const
char
*filename()
const
= 0;
27
//E_dataformat format() const = 0;
28
29
virtual
int64_t sizeGeometry()
const
= 0;
30
virtual
int64_t sizePoint()
const
= 0;
31
virtual
int64_t sizePolyline()
const
= 0;
32
virtual
int64_t sizePolylinePoint()
const
= 0;
33
virtual
int64_t sizePolygon()
const
= 0;
34
virtual
int64_t sizePolygonPoint()
const
= 0;
35
36
virtual
bool
hasLayout()
const
= 0;
37
virtual
const
IAddInfoLayout
& layout()
const
= 0;
38
39
//virtual const_iterator_layer beginLayer() const=0;
40
//virtual const_iterator_layer endLayer() const=0;
41
};
42
43
typedef
Handle< IFile >
FileHandle
;
44
45
46
DM_NAMESPACE_END
47
48
#endif //DM_IFILE_HPP_INCLUDED