Itasca C++ Interface
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;
49  virtual const ISELNode * getSourceNode() const=0;
51  virtual uint32 getSide() const=0;
54  virtual uint64 getTargetID() const=0;
56  virtual TType getType() const=0;
59  virtual TType getUsedBySELType() const=0;
62  virtual AttachType getAttachCondition(uint32 dof) const =0;
70  virtual QString getAttachConditionSymbol(uint32 dof) const=0;
73  virtual TType getConstitType(uint32 dof) const =0;
76  virtual bool getSlide() const =0;
79  virtual void setSlide(bool)=0;
82  virtual double getSlideTol() const =0;
85  virtual void setSlideTol(const double&)=0;
87  virtual ISELLinkModel * getConstitModel(uint32 dof) const =0;
89  virtual const IThing * getTarget() const=0;
91  virtual QString getTargetKeyword() const=0;
93  virtual QString getTargetTypeName() const = 0;
95  virtual TType getTargetType() const = 0;
97  virtual DVect getTargetPosition() const = 0;
99  virtual DVect getTargetCentroid() const = 0;
102  virtual void setTarget(IThing *thing)=0;
103  virtual double getTargetPorePressure() const=0;
104  virtual std::vector<std::pair<QString,QVariant>> getTypeEntryData() const=0;
109  virtual bool findDowelPosFromPos(const DVect& p1, const DVect& p2, double charDist, std::vector< std::pair<DVect, DVect> >* intersections) const = 0;
113  virtual DVect getNearestFaceNormal(const DVect& pos, const DVect& dir) const = 0;
114  };
115 } // namespace sel
116 // EoF
Base class for items that will be stored in containers.
Definition: ithing.h:30
Interface to provide access to structural element nodes.
Definition: iselnode.h:44
uint32 TType
class type indicator
Definition: basedef.h:46
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:150
Interface to provide access to a structural element constitutive model.
namespace Itasca
Definition: basememory.cpp:10