Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
iudtypelist.h
Go to the documentation of this file.
1 #pragma once
2 // iudtypelist.h
3 
8 #include "utility/interface/igroup.h"
10 
11 namespace itasca {
12  class IContainer;
13 }
14 
15 namespace itascaxd {
16  using namespace itasca;
17 
19 
25  template <class T> class IUDTypeList {
26  public:
28  typedef T ivalue_type;
29 
31  virtual IThing *getIThing()=0;
33  virtual const IThing *getIThing() const=0;
34 
36  virtual IContainer *getIContainer()=0;
38  virtual const IContainer *getIContainer() const=0;
39 
41  virtual const T *getFirst() const=0;
42 
44  virtual T * getFirst()=0;
45 
47  virtual const T *lookupWithID(quint64 ul) const=0;
48 
50  virtual T * lookupWithID(quint64 ul)=0;
51 
53  virtual T *create()=0;
54 
56  virtual uint getExtraNotice() const=0;
58  virtual uint getGroupNotice() const=0;
60  virtual uint getPositionNotice() const=0;
62  virtual uint getValueNotice() const=0;
64  virtual uint getHideNotice() const=0;
66  virtual uint getSelectNotice() const=0;
67 
69  virtual TType getType() const=0;
71  virtual QString getLabel() const=0;
72 
74  virtual T * findNear(const DVect &pos,const double &rad=limits<double>::max())=0;
76  virtual const T *findNear(const DVect &pos,const double &rad=limits<double>::max()) const=0;
78  virtual void erase(T *pnt)=0;
80  virtual bool importFromFile(const QString &filename,const IGroupID &group)=0;
84  virtual bool exportToFile(const QString &filename,bool binary,const IRange *filter=0,const QString &comment=QString())=0;
85  };
86 } // namespace itascaxd
T ivalue_type
The type T that this list contains.
Definition: iudtypelist.h:28
Interface to a filter, used as the main method for filtering objects.
Definition: irange.h:31
namespace Itasca
Definition: basememory.cpp:9
Base class for items that will be stored in containers.
Definition: ithing.h:31
Interface to a container of user-define data value types.
Definition: iudtypelist.h:25
debug checked shorthand for std::numeric_limits<T>::
Definition: limit.h:25
Definition: igroup.h:91
unsigned int TType
class type indicator
Definition: basedef.h:41
Interface to a filter, used as the main method for filtering objects.
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4
Interface for containers of IThings.
Definition: icontainer.h:23
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:145