Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
ipiecemechanical.h
1 #pragma once
2 // ipiecemechanical.h
3 
4 // Interface for functionality common to all mechanical pieces.
5 // They all define surface properties, used by mechanical surface contacts.
6 // They also all need to define a velocity.
7 
8 namespace itascaxd {
9  class IPiece;
10 
12  public:
14  inline static const TType type_ = 0x4c815b91;
15  virtual const IPiece * getIPiece() const=0;
16  virtual IPiece * getIPiece()=0;
17  virtual DVect getVelocity() const=0;
18  virtual DAVect getAngVelocity() const=0;
19  virtual DVect getPosition() const=0;
20  virtual DMatrix<dim,dim> getUnscaledStress(const DVect &) const=0;
21  virtual bool isBonded(const TType &type=0,const IPiece *p2=0) const = 0;
22  };
23 } // namespace itascaxd
24 
25 // EoF
DMatrix is a Matrix that defaults to type double...
Definition: matrix.h:719
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition: ipiecemechanical.h:14
Definition: ipiece.h:15
Definition: ipiecemechanical.h:11
unsigned int TType
class type indicator
Definition: basedef.h:41
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4
DAVect3 DAVect
Angular vector of doubles, either 2D or 3D.
Definition: dim.h:151
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:145