3 #include "base/src/mat.h"
5 #include "shared/interface/signal.h"
21 class IContactModelMechanical;
23 class IPieceMechanical;
40 inline static const TType type_ = 0x04c815ba9;
43 using fid_signal = shared::Signal<IContactModel *,const IContact *>;
47 virtual IThing * getIThing()=0;
53 virtual IPiece * getEnd1()=0;
59 virtual IPiece * getEnd2()=0;
64 virtual DVect2 getEnd1Curvature()
const=0;
66 virtual DVect2 getEnd2Curvature()
const=0;
68 virtual DVect2 getEnd1Extent()
const=0;
70 virtual DVect2 getEnd2Extent()
const=0;
72 virtual const IContactModel *
getModel()
const=0;
73 virtual IContactModel * getModel()=0;
76 virtual IContactModelMechanical * getModelMechanical()=0;
78 virtual IContactModel *
setModel(
const IContactModel *toClone,
bool validate=
true)=0;
88 virtual bool setProperty(
const QVariant &v,
const QString &name)=0;
138 virtual DVect2 getEffectiveTranslationalStiffness()
const =0;
139 virtual DAVect getEffectiveRotationalStiffness()
const =0;
146 virtual void setFullUpdate(
bool)=0;
147 virtual bool getFullUpdate()
const=0;
148 virtual DVect localForceFromStress(
const Mat &)
const=0;
149 virtual void setForce(
const DVect &vin) = 0;
Base class for items that will be stored in containers.
Definition: ithing.h:30
Definition: ipiecemechanical.h:11
uint32 TType
class type indicator
Definition: basedef.h:46
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:150
DAVect3 DAVect
Angular vector of doubles, either 2D or 3D.
Definition: dim.h:158
namespace Itasca
Definition: basememory.cpp:10
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4