Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
idomain.h
Go to the documentation of this file.
1 #pragma once
2 //
3 
10 #include "dim.h"
11 
12 namespace itasca {
13  class IThing;
14 }
15 
16 namespace itascaxd {
18 
21  using namespace itasca;
22  class IDomain {
23  public:
25  inline static const TType type_ = 0x4c815b87;
26 
28  virtual const QObject *getObject() const=0;
30  virtual const IThing *getIThing() const=0;
32  virtual IThing * getIThing()=0;
33 
35  virtual DExtent getDomainExtent() const=0;
37  virtual DVect getDomainLowerBound() const=0;
39  virtual DVect getDomainUpperBound() const=0;
41  virtual DMatrix<DIM,DIM> getStrainRate() const =0;
43  virtual double getRemapTolerance() const=0;
45  virtual void setDomainLowerBound(const DVect &)=0;
47  virtual void setDomainUpperBound(const DVect &)=0;
49  virtual void setStrainRate(const DMatrix<DIM,DIM> &)=0;
51  virtual void setRemapTolerance(const double &)=0;
52 
54  virtual int getCondition(quint32 dof) const=0;
55  virtual QString getCondition(const QString &dir) const=0;
57  virtual QStringList getConditionNames() const=0;
59  virtual bool hasPeriodic() const=0;
60 
62  virtual void setDomainExtent(const DExtent &e,bool=false)=0;
64  virtual void setCondition(quint32 dof,int condition)=0;
65  virtual void setCondition(const QString &dir,const QString &cond)=0;
66 
68  virtual bool getMPIDomain() const=0;
70  virtual void setMPIDomain(bool)=0;
71 
72  // Signals
74  virtual void domainExtentChanged(const DExtent &e,bool quiet=true)=0;
76  virtual void conditionChanged(quint32 dof,int cond)=0;
77 
78  #ifdef TWOD
79  virtual double getDepth() const=0;
80  //virtual void setDepth(const double &depth)=0;
81  //virtual void depthChanged(const double &d)=0; // SIGNAL
82  #endif
83  };
84 } // namespace itascaxd
85 // EoF
namespace Itasca
Definition: basememory.cpp:9
DMatrix is a Matrix that defaults to type double...
Definition: matrix.h:719
Base class for items that will be stored in containers.
Definition: ithing.h:31
DIM - Provides code portability between 2D and 3D codes.
unsigned int TType
class type indicator
Definition: basedef.h:41
DExtent3 DExtent
A DExtent2 in 2D, a DExtent3 in 3D.
Definition: dim.h:149
Definition: idomain.h:22
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:145