Itasca C++ Interface
Loading...
Searching...
No Matches
igeometry.h
Go to the documentation of this file.
1#pragma once
2// igeometry.h
3
6
9#include "utility/interface/igroup.h"
10
11namespace itasca {
12 class IGeomImportExport;
13}
14
15namespace 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
31 virtual const itasca::IContainer *getIContainer() const=0;
32
34 virtual uint32 getIGeomPointType() const=0;
36 virtual uint32 getIGeomEdgeType() const=0;
38 virtual uint32 getIGeomPolyType() const=0;
40 virtual uint32 getIGeomSetType() const=0;
41
45 virtual const IGeomSet *getFirstGeomSet() const=0;
47 virtual const IGeomSet *getCurrent() const=0;
49 virtual IGeomSet * lookupWithID(uint64 id)=0;
51 virtual const IGeomSet *lookupWithID(uint64 id) const=0;
53 virtual IGeomSet * lookupWithName(const IString &name)=0;
55 virtual const IGeomSet *lookupWithName(const IString &name) const=0;
57 virtual QStringList findAllGeomSets(bool allowDuringRestore) const=0;
59 virtual QStringList orderedGeomSets(bool allowDuringRestore) const=0;
60
63 virtual IGeomSet *create(const QString &name)=0;
65 virtual IGeomSet *removeSet(IGeomSet *set)=0;
66
70 virtual QString importFromFile(IGeomSet *set,const QString &filename,const QString &formatKeyword=QString(),const itasca::IGroupID &id=itasca::IGroupID(),bool merge=true)=0;
77 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(), uint32 *numberOfNodesExported=0, uint32 *numberOfPolysExported=0) const=0;
79 virtual QStringList getFileFormatMasks() const=0;
80
82 virtual QStringList getImportExportPluginNames()const=0;
83
87 virtual itasca::IGeomImportExport *matchImportExport(const QString &name)const=0;
88
92 virtual itasca::IGeomImportExport *findImportExportByFileExt(const QString &filename)const=0;
93
94
96 virtual void registerImportExport(itasca::IGeomImportExport *obj,uint version)=0;
97
111 virtual uint64 assignGroupsByProjection(itasca::IContainer *con,const DVect &proj,
112 const QList<const IGeomSet *> &sets,const QString &slot,
113 const IRange *filter)=0;
114
120 virtual uint getCurrentChangedCode() const=0;
122 virtual IGeometry * newLocalInstance()const=0;
124 virtual void destroy()=0;
125 };
126} // namespace itascaxd
127// EoF
Definition istring.h:14
Definition idef.h:50
Interface for containers of IThings.
Definition icontainer.h:21
shared::Signal< const IThing *, const IContainer * > signal_type
Defines the Signal2<> type used for removed, added, and destroy signals sent from the container.
Definition icontainer.h:27
Definition igeomimportexport.h:14
Definition igroup.h:82
A container for a single "set" of geometric elements. A geometric set is a named collection of geomet...
Definition igeomset.h:27
Interface for the global list of all geomtric data sets IGeomSet.
Definition igeometry.h:23
virtual QString importFromFile(IGeomSet *set, const QString &filename, const QString &formatKeyword=QString(), const itasca::IGroupID &id=itasca::IGroupID(), bool merge=true)=0
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition igeometry.h:26
virtual const IGeomSet * getCurrent() const =0
Returns a pointer to the current IGeomSet.
virtual itasca::IGeomImportExport * findImportExportByFileExt(const QString &filename) const =0
virtual itasca::IGeomImportExport * matchImportExport(const QString &name) const =0
virtual itasca::IContainer::signal_type * getAnyRemovedSignal2() const =0
Returns a signal that gets called every time anything is removed.
virtual itasca::IContainer::signal_type * getAnyAddedSignal2() const =0
Returns a signal that gets called every time anything is added.
virtual uint32 getIGeomPolyType() const =0
Returns the type identifier for IGeomPoly objects.
virtual QStringList findAllGeomSets(bool allowDuringRestore) const =0
Returns all geometry sets.
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(), uint32 *numberOfNodesExported=0, uint32 *numberOfPolysExported=0) const =0
virtual QStringList getFileFormatMasks() const =0
Returns the list of file masks that will be autodetected as a supported geometry import format.
virtual const IGeomSet * lookupWithID(uint64 id) const =0
Returns a pointer to the IGeomSet with matching id, or 0 if it doesn't exist. Guaranteed to take less...
virtual uint getCurrentChangedCode() const =0
Returns a notification code (see INoticeManager) indicating a current geometry set changed.
virtual IGeomSet * create(const QString &name)=0
virtual const IGeomSet * getFirstGeomSet() const =0
Returns a pointer to the first IGeomSet in the list, or 0 if none are present. See the IGeomSet::getN...
virtual uint32 getIGeomPointType() const =0
Returns the type identifier for IGeomPoint objects.
virtual IGeometry * newLocalInstance() const =0
Creates new empty local instance of Geometry object, it is not the global engine singleton,...
virtual IGeomSet * lookupWithName(const IString &name)=0
Returns a pointer to the IGeomSet with matching name, or 0 if it doesn't exist. Guaranteed to take le...
virtual uint32 getIGeomEdgeType() const =0
Returns the type identifier for IGeomEdge objects.
virtual QStringList orderedGeomSets(bool allowDuringRestore) const =0
Returns all geometry sets in order.
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 * getFirstGeomSet()=0
Returns a pointer to the first IGeomSet in the list, or 0 if none are present. See the IGeomSet::getN...
virtual void registerImportExport(itasca::IGeomImportExport *obj, uint version)=0
Register import-export object.
virtual void destroy()=0
Destroys-delete local instance of geometry object.
virtual uint64 assignGroupsByProjection(itasca::IContainer *con, const DVect &proj, const QList< const IGeomSet * > &sets, const QString &slot, const IRange *filter)=0
virtual QStringList getImportExportPluginNames() const =0
get names list of all registered import-export plugins
virtual IGeomSet * lookupWithID(uint64 id)=0
Returns a pointer to the IGeomSet with matching id, or 0 if it doesn't exist. Guaranteed to take less...
virtual uint32 getIGeomSetType() const =0
Returns the type identifier for IGeomSet objects.
virtual const itasca::IContainer * getIContainer() const =0
Returns an IContainer interface for the list of all IGeomSet objects.
virtual itasca::IContainer * getIContainer()=0
Returns an IContainer interface for the list of all IGeomSet objects.
virtual const IGeomSet * lookupWithName(const IString &name) const =0
Returns a pointer to the IGeomSet with matching name, or 0 if it doesn't exist. Guaranteed to take le...
Interface to a filter, used as the main method for filtering objects.
Definition irange.h:32
DIM - Provides code portability between 2D and 3D codes.
uint32 TType
class type indicator
Definition basedef.h:46
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:154
Interface for container of IThings.
namespace Itasca
Definition basememory.cpp:10
Itasca Library standard namespace, specific to 2D or 3D.
Definition icontactmodule.h:4