17 class IPieceMechanical;
19 class IBodyMechanical;
20 class IRigidBodyMechanical;
38 inline static const TType type_ = 0x51c13f16;
41 virtual IThing * getIThing()=0;
43 virtual const IThing * getIThing()
const=0;
45 virtual IPiece * getIPiece()=0;
47 virtual const IPiece * getIPiece()
const=0;
53 virtual IBody * getIBody()=0;
55 virtual const IBody * getIBody()
const=0;
65 virtual DExtent getCellExtent()
const=0;
67 virtual DExtent getToleranceExtent()
const=0;
71 virtual double getInertialMoi()
const=0;
73 virtual double getMoi()
const=0;
75 virtual double getRadius()
const=0;
77 virtual int getFragmentIndex()
const=0;
79 virtual void setFragmentIndex(
int ind)=0;
81 virtual bool getIsIn(
const DVect &)
const = 0;
86 virtual void setRadius(
const double &d,
bool lock=
false)=0;
87 virtual void setRadiusNoLock(
const double &d)=0;
91 virtual bool getFix(quint32 dof)
const=0;
93 virtual QString getFixLabel()
const=0;
95 virtual QVariant getPieceProperty(
const QString &name,
const IPiece *p=0)
const=0;
97 virtual double getDensity()
const=0;
99 virtual double getInertialMass()
const=0;
101 virtual double getMass()
const=0;
103 virtual DVect getContactForce()
const=0;
105 virtual DAVect getContactMoment()
const=0;
107 virtual DVect getAppliedForce()
const=0;
109 virtual DAVect getAppliedMoment()
const=0;
111 virtual DVect getUnbalancedForce()
const=0;
113 virtual DAVect getUnbalancedMoment()
const=0;
115 virtual double getLocalDamping()
const=0;
117 virtual void setFix(quint32 dof,
bool b)=0;
119 virtual bool setPieceProperty(
const QString &name,
const QVariant &v,
IPiece *p=0) =0;
121 virtual void setDensity(
const double &d)=0;
123 virtual void setContactForce(
const DVect &v)=0;
125 virtual void setContactMoment(
const DAVect &v)=0;
127 virtual void setAppliedForce(
const DVect &v)=0;
129 virtual void setAppliedMoment(
const DAVect &v)=0;
131 virtual void setLocalDamping(
const double &d)=0;
133 virtual void scaleVolumePreserveMass(
const double &d,
bool checkState=
true,
bool lock=
false)=0;
138 virtual double getAngDisplacement()
const=0;
140 virtual DVect getCentroid()
const=0;
141 virtual DVect getVelocity()
const=0;
142 virtual DAVect getAngVelocity()
const=0;
143 virtual DVect getDisplacement()
const=0;
144 virtual double getVolume()
const=0;
145 virtual Quat getOrient()
const=0;
148 virtual void setAngDisplacement(
const double &v)=0;
150 virtual void setCentroid(
const DVect &p)=0;
151 virtual void setVelocity(
const DVect &p)=0;
152 virtual void setAngVelocity(
const DAVect &p)=0;
153 virtual void setDisplacement(
const DVect &v)=0;
154 virtual void setOrient(
const Quat &q)=0;
156 virtual DVect getEulerFromOrient()
const=0;
157 virtual void setOrientFromEuler(
const DVect3 &d)=0;
namespace Itasca
Definition: basememory.cpp:9
DMatrix is a Matrix that defaults to type double...
Definition: matrix.h:719
Base class for items that will be stored in containers.
Definition: ithing.h:31
PFC namespace.
Definition: iballfluid.h:15
Definition: irigidbodymechanical.h:7
Definition: ipiecemechanical.h:11
unsigned int TType
class type indicator
Definition: basedef.h:41
DExtent3 DExtent
A DExtent2 in 2D, a DExtent3 in 3D.
Definition: dim.h:149
Definition: ibodymechanical.h:13
A template-based matrix class, size fixed at compile time.
Interface for a ball.
Definition: iball.h:35
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
3D quaternion utility class.
Definition: quat.h:103