Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
igeometry.h
Go to the documentation of this file.
1 #pragma once
2 // igeometry.h
3 
6 
7 #include "module/interface/dim.h"
9 #include "utility/interface/igroup.h"
10 
11 namespace itasca {
12  class IGeomImportExport;
13 }
14 
15 namespace itascaxd {
16  class IGeomSet;
17  class IGeomPoint;
18  class IGeomEdge;
19  class IRange;
20 
23  class IGeometry {
24  public:
26  inline static const TType type_ = 0x4c815be1;
27 
29  virtual itasca::IContainer * getIContainer()=0;
31  virtual const itasca::IContainer *getIContainer() const=0;
32 
34  virtual quint32 getIGeomPointType() const=0;
36  virtual quint32 getIGeomEdgeType() const=0;
38  virtual quint32 getIGeomPolyType() const=0;
40  virtual quint32 getIGeomSetType() const=0;
41 
43  virtual IGeomSet * getFirstGeomSet()=0;
45  virtual const IGeomSet *getFirstGeomSet() const=0;
47  virtual const IGeomSet *getCurrent() const=0;
49  virtual IGeomSet * lookupWithID(quint64 id)=0;
51  virtual const IGeomSet *lookupWithID(quint64 id) const=0;
53  virtual IGeomSet * lookupWithName(const QString &name)=0;
55  virtual const IGeomSet *lookupWithName(const QString &name) const=0;
57  virtual QStringList findAllGeomSets(bool allowDuringRestore) const=0;
58 
61  virtual IGeomSet *create(const QString &name)=0;
63  virtual IGeomSet *removeSet(IGeomSet *set)=0;
64 
68  virtual QString importFromFile(IGeomSet *set,const QString &filename,const QString &formatKeyword=QString(),const itasca::IGroupID &id=itasca::IGroupID(),bool merge=true)=0;
75  virtual QString exportToFile(const IGeomSet *set,const QString &filename,const IRange *filter,const QString &formatKeyword=QString(),bool binary=false,bool nodes=false,bool edges=false,const QString &comment=QString(), quint32 *numberOfNodesExported=0, quint32 *numberOfPolysExported=0) const=0;
77  virtual QStringList getFileFormatMasks() const=0;
78 
80  virtual QStringList getImportExportPluginNames()const=0;
81 
85  virtual itasca::IGeomImportExport *matchImportExport(const QString &name)const=0;
86 
90  virtual itasca::IGeomImportExport *findImportExportByFileExt(const QString &filename)const=0;
91 
92 
94  virtual void registerImportExport(itasca::IGeomImportExport *obj,uint version)=0;
95 
109  virtual quint64 assignGroupsByProjection(itasca::IContainer *con,const DVect &proj,
110  const QList<const IGeomSet *> &sets,const QString &slot,
111  const IRange *filter)=0;
112 
118  virtual uint getCurrentChangedCode() const=0;
120  virtual IGeometry * newLocalInstance()const=0;
122  virtual void destroy()=0;
123  };
124 } // namespace itascaxd
125 // EoF
Interface to a filter, used as the main method for filtering objects.
Definition: irange.h:31
virtual IGeomSet * lookupWithName(const QString &name)=0
Returns a pointer to the IGeomSet with matching name, or 0 if it doesn't exist. Guaranteed to take le...
virtual uint getCurrentChangedCode() const =0
Returns a notification code (see INoticeManager) indicating a current geometry set changed.
virtual void registerImportExport(itasca::IGeomImportExport *obj, uint version)=0
Register import-export object.
namespace Itasca
Definition: basememory.cpp:9
Definition of a Signal2 object, holding a list of ISlot2 objects.
Definition: isignalbase.h:76
virtual itasca::IContainer::signal_type * getAnyRemovedSignal2() const =0
Returns a signal that gets called every time anything is removed.
virtual QStringList getFileFormatMasks() const =0
Returns the list of file masks that will be autodetected as a supported geometry import format.
DIM - Provides code portability between 2D and 3D codes.
virtual IGeometry * newLocalInstance() const =0
Creates new empty local instance of Geometry object, it is not the global engine singleton,...
virtual quint32 getIGeomPointType() const =0
Returns the type identifier for IGeomPoint objects.
virtual quint64 assignGroupsByProjection(itasca::IContainer *con, const DVect &proj, const QList< const IGeomSet * > &sets, const QString &slot, const IRange *filter)=0
virtual itasca::IGeomImportExport * findImportExportByFileExt(const QString &filename) const =0
virtual const IGeomSet * getCurrent() const =0
Returns a pointer to the current IGeomSet.
virtual itasca::IGeomImportExport * matchImportExport(const QString &name) const =0
virtual IGeomSet * create(const QString &name)=0
Definition: igeomimportexport.h:14
virtual quint32 getIGeomSetType() const =0
Returns the type identifier for IGeomSet objects.
Definition: igroup.h:91
virtual void destroy()=0
Destroys-delete local instance of geometry object.
unsigned int TType
class type indicator
Definition: basedef.h:41
virtual QStringList findAllGeomSets(bool allowDuringRestore) const =0
Returns all geometry sets.
A container for a single "set" of geometric elements. A geometric set is a named collection of geomet...
Definition: igeomset.h:27
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition: igeometry.h:26
virtual itasca::IContainer * getIContainer()=0
Returns an IContainer interface for the list of all IGeomSet objects.
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4
virtual QString exportToFile(const IGeomSet *set, const QString &filename, const IRange *filter, const QString &formatKeyword=QString(), bool binary=false, bool nodes=false, bool edges=false, const QString &comment=QString(), quint32 *numberOfNodesExported=0, quint32 *numberOfPolysExported=0) const =0
virtual quint32 getIGeomPolyType() const =0
Returns the type identifier for IGeomPoly objects.
Interface for containers of IThings.
Definition: icontainer.h:23
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:145
virtual IGeomSet * getFirstGeomSet()=0
Returns a pointer to the first IGeomSet in the list, or 0 if none are present. See the IGeomSet::getN...
Interface for container of IThings.
virtual QStringList getImportExportPluginNames() const =0
get names list of all registered import-export plugins
virtual itasca::IContainer::signal_type * getAnyAddedSignal2() const =0
Returns a signal that gets called every time anything is added.
virtual QString importFromFile(IGeomSet *set, const QString &filename, const QString &formatKeyword=QString(), const itasca::IGroupID &id=itasca::IGroupID(), bool merge=true)=0
virtual quint32 getIGeomEdgeType() const =0
Returns the type identifier for IGeomEdge objects.
virtual IGeomSet * removeSet(IGeomSet *set)=0
Removes set from the list, and destroys it. Returns a pointer to the next item in the list after set,...
virtual IGeomSet * lookupWithID(quint64 id)=0
Returns a pointer to the IGeomSet with matching id, or 0 if it doesn't exist. Guaranteed to take less...
Interface for the global list of all geomtric data sets IGeomSet.
Definition: igeometry.h:23