3#include "base/src/mat.h" 
    6#include "shared/interface/signal.h" 
   22    class IContactModelMechanical;
 
   24    class IPieceMechanical;
 
   44        using fid_signal = shared::Signal<IContactModel *,const IContact *>;
 
   65        virtual DVect2                         getEnd1Curvature() 
const=0;
 
   67        virtual DVect2                         getEnd2Curvature() 
const=0;
 
   69        virtual DVect2                         getEnd1Extent() 
const=0;
 
   71        virtual DVect2                         getEnd2Extent() 
const=0;
 
   73        virtual const IContactModel *          
getModel() 
const=0;
 
   74        virtual IContactModel *                
getModel()=0;
 
   79        virtual IContactModel *                
setModel(
const IContactModel *toClone,
bool validate=
true)=0;
 
  140        virtual DAVect                         getEffectiveRotationalStiffness()    
const =0;
 
  147        virtual void                           setFullUpdate(
bool)=0;
 
  148        virtual bool                           getFullUpdate() 
const=0;
 
  149        virtual DVect                          localForceFromStress(
const Mat &) 
const=0;
 
  150        virtual void                           setForce(
const DVect &vin) = 0;
 
 
  158        return safeDiv(1.0,c->getEnd1Curvature().y()) + safeDiv(1.0,c->getEnd2Curvature().y());
 
  161    inline double calcRSQ(
const IContactMechanical *c) {
 
  162        return safeDiv(1.0,std::max(c->getEnd1Curvature().y(),c->getEnd2Curvature().y()));
 
Base class for items that will be stored in containers.
Definition ithing.h:31
Definition ipiecemechanical.h:11
uint32 TType
class type indicator
Definition basedef.h:47
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:156
DAVect3 DAVect
Angular vector of doubles, either 2D or 3D.
Definition dim.h:164
namespace Itasca
Definition basememory.cpp:14
Itasca Library standard namespace, specific to 2D or 3D.
Definition icontactmodule.h:6
A overflow checked shorthand for static_cast<T>().