Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
igeomimportexport.h
Go to the documentation of this file.
1 #pragma once
2 
3 // igeomimportexport.h
4 #include "base/src/base.h"
5 #include "base/src/farray.h"
6 #include "utility/interface/igroup.h"
7 //#include "utility/src/textstream.h"
8 
11 
12 namespace itasca {
13  class IGeometryImportData;
15  public:
17 
19  virtual bool importFile(const QString &filename, IGeometryImportData *ig)=0;
20 
23  virtual bool exportStart(const QString &filename, quint64 total, QString comment="")=0;
24 
29  virtual void exportPoint(const DVect3 &p,quint64 pid=0)=0;
30 
37  virtual void exportLine(const DVect3 &p1, const DVect3 &p2,quint64 pid1=0, quint64 pid2=0, quint64 eid=0)=0;
38 
46  virtual void exportPolygon(const FArray<DVect3> &ps, const FArray<quint64> *pids=0, const FArray<quint64> *eids=0, quint64 polyid=0)=0;
47 
50  virtual bool exportNodesNeeded(){return false;};
51 
54  virtual bool exportEdgesNeeded(){return false;};
55 
58  virtual void setGroups(const FArray<IGroupID> &groups)=0; //
59 
62  virtual void setExtras(const FArray< QPair<uint,QString> > &extras){extras;};
63 
65  virtual void setDefaultLayerName(const QString &name)=0;
66 
68  virtual void setExportBinary(bool binary)=0;
69 
71  virtual bool exportEnd(void)=0;
72 
74  virtual QStringList getSupportedFileFormatExtensions()=0;
75 
78  virtual bool fileFormatSupported(const QString &filename) {
79  QString ext(QFileInfo(filename).suffix().toLower());
80  QStringList supported = this->getSupportedFileFormatExtensions();
81  for(int i=0; i<(int)supported.size(); ++i) if(supported.at(i).toLower() == ext) return true;
82  return false;
83  }
84 
86  virtual QString getPluginName()=0;
87  virtual QString getFormatKeyword() const=0;
88 
89  virtual IGeomImportExport *clone()=0;
90 
91  virtual void destroy()=0;
92 
95  virtual void setTerminal(bool glbl){glbl;};
96  //virtual void setTerminal(TextStream *){};
97 
98  };
99 
100  //
102  public:
105 
110  virtual void addPoint(const DVect3 &p,quint64 pid=0)=0;
111 
116  virtual void addLine(const DVect3 &p1, const DVect3 &p2, quint64 eid=0)=0;
117 
118  virtual void addLine(quint64 pid1, quint64 pid2, quint64 eid=0)=0;
119 
121  virtual void addPolygon(FArray<DVect3> &ps)=0;
122 
124  virtual void addPolygonByPointsIds(FArray<quint64> &pids)=0;
125 
127  virtual void addPolygonByEdgesIds(FArray<quint64> &eids)=0;
128 
132  virtual void setExtras(const FArray< QPair<uint,QString> > &extras){extras;};
133 
136  virtual void setGroups(const FArray<IGroupID> &groups)=0;
137 
139  virtual void writeParseWarning(int line,const QString &x)=0;
140  virtual bool updateProgress(quint64 pos,quint64 max=0)=0;
141 
142  };
143 
144 }
virtual bool importFile(const QString &filename, IGeometryImportData *ig)=0
Import-export geometric set.
virtual void exportLine(const DVect3 &p1, const DVect3 &p2, quint64 pid1=0, quint64 pid2=0, quint64 eid=0)=0
virtual bool exportEnd(void)=0
Finish export.
namespace Itasca
Definition: basememory.cpp:9
virtual void setGroups(const FArray< IGroupID > &groups)=0
virtual void addPolygon(FArray< DVect3 > &ps)=0
add polygon
Definition: igeomimportexport.h:101
virtual void setExtras(const FArray< QPair< uint, QString > > &extras)
Definition: igeomimportexport.h:62
An array class that attempts to minimize unnecessary heap access.
virtual void exportPolygon(const FArray< DVect3 > &ps, const FArray< quint64 > *pids=0, const FArray< quint64 > *eids=0, quint64 polyid=0)=0
Definition: igeomimportexport.h:14
virtual void addLine(const DVect3 &p1, const DVect3 &p2, quint64 eid=0)=0
virtual void writeParseWarning(int line, const QString &x)=0
Service methods.
virtual void setTerminal(bool glbl)
Definition: igeomimportexport.h:95
virtual void addPoint(const DVect3 &p, quint64 pid=0)=0
Handle import geometric data generated by a IGeomImportExport.
virtual bool exportStart(const QString &filename, quint64 total, QString comment="")=0
virtual bool fileFormatSupported(const QString &filename)
Definition: igeomimportexport.h:78
virtual void setDefaultLayerName(const QString &name)=0
Sets default name for metadata layer.
virtual void setGroups(const FArray< IGroupID > &groups)=0
An array class that attempts to minimize unnecessary heap access.
Definition: farray.h:27
virtual bool exportEdgesNeeded()
Definition: igeomimportexport.h:54
One stop include for all objects defined as part of base interface.
virtual QString getPluginName()=0
get plugin name needed for plugin list container
virtual QStringList getSupportedFileFormatExtensions()=0
Returns list of supported file format extensions for export-import.
virtual void addPolygonByEdgesIds(FArray< quint64 > &eids)=0
Add polygons defined by line (edge) id-s.
virtual void setExtras(const FArray< QPair< uint, QString > > &extras)
Definition: igeomimportexport.h:132
virtual void addPolygonByPointsIds(FArray< quint64 > &pids)=0
Add polygon defined by point ids.
virtual bool exportNodesNeeded()
Definition: igeomimportexport.h:50
virtual void setExportBinary(bool binary)=0
Sets export format to be binary (if binary not supported – it has no effect)
virtual void exportPoint(const DVect3 &p, quint64 pid=0)=0