Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
isellink.h
Go to the documentation of this file.
1 #pragma once
2 // ISELLink.h
3 
9 #include "isellinkmodel.h"
10 
11 namespace itasca {
12  class IThing;
13 }
14 
15 namespace sel {
16  using namespace itasca;
17  class ISELNode;
18 
20 
26  class ISELLink {
27  public:
29  inline static const TType type_ = 0x4c815bfe;
31  enum AttachType {
32  AttachFree=0,
34  AttachDeform
35  };
36 
38  virtual const IThing * getIThing() const=0;
40  virtual IThing * getIThing()=0;
43  virtual const ISELLink * getNext() const=0;
46  virtual ISELLink * getNext() =0;
48  virtual const ISELNode * getSourceNode() const=0;
50  virtual quint32 getSide() const=0;
53  virtual quint64 getTargetID() const=0;
55  virtual TType getType() const=0;
58  virtual TType getUsedBySELType() const=0;
60  virtual AttachType getAttachCondition(quint32 dof) const =0;
66  virtual QString getAttachConditionSymbol(quint32 dof) const=0;
69  virtual TType getConstitType(quint32 dof) const =0;
72  virtual bool getSlide() const =0;
75  virtual void setSlide(bool)=0;
78  virtual double getSlideTol() const =0;
81  virtual void setSlideTol(const double&)=0;
83  virtual ISELLinkModel * getConstitModel(quint32 dof) const =0;
85  virtual const IThing * getTarget() const=0;
87  virtual QString getTargetKeyword() const=0;
89  virtual QString getTargetTypeName() const = 0;
91  virtual TType getTargetType() const = 0;
92  virtual DVect getTargetPosition() const = 0;
94  //virtual IThing * findTargetWithID(quint64 id) const=0;
96  //virtual IThing * findTargetFromPosition(const DVect &pos,const ISELNode *node,uint side) const=0;
99  virtual void setTarget(IThing *thing)=0;
100  virtual double getTargetPorePressure() const=0;
101  virtual std::vector<std::pair<QString,QVariant>> getTypeEntryData() const=0;
106  virtual bool findDowelPosFromPos(const DVect& p1, const DVect& p2, double charDist, std::vector< std::pair<DVect, DVect> >* intersections) const = 0;
107  };
108 } // namespace sel
109 // EoF
Interface to the structural elements base class.
Definition: imodulesel.h:5
namespace Itasca
Definition: basememory.cpp:9
Base class for items that will be stored in containers.
Definition: ithing.h:31
unsigned int TType
class type indicator
Definition: basedef.h:41
Interface to provide access to a structural element constitutive model.
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:145
Interface to provide access to structural element nodes.
Definition: iselnode.h:39