Itasca C++ Interface
Main Page
Modules
+
Namespaces
Namespace List
+
Namespace Members
All
Functions
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Variables
a
c
d
e
g
i
m
n
o
p
r
s
t
v
w
+
Typedefs
c
d
f
i
l
n
p
s
t
u
v
Enumerations
+
Enumerator
a
b
c
d
f
g
h
i
k
l
n
p
r
s
u
v
Related Functions
+
Files
File List
+
File Members
+
All
_
a
b
c
d
f
g
i
l
o
q
r
s
t
u
v
+
Functions
c
d
g
i
o
r
s
t
Typedefs
Macros
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Modules
Pages
common
module
interface
ibodymechanical.h
1
#pragma once
2
// ibodymechanical.h
3
4
// Interface for functionality of all mechanical bodies. There can be a mixture of methods for both
5
// rigid and deformable bodies. The distinction must be made between rigid and deformable bodies as deformable
6
// bodies may require quite different storage when compared with rigid bodies.
7
8
namespace
itascaxd
{
9
using namespace
itasca
;
10
class
IBody;
11
class
IPieceMechanical;
12
13
class
IBodyMechanical
{
14
public
:
16
inline
static
const
TType
type_ = 0x4e67b814;
18
virtual
const
IBody
*getIBody()
const
=0;
20
virtual
IBody
*getIBody()=0;
22
virtual
bool
getFix(quint32 dof)
const
=0;
24
virtual
QString getFixLabel()
const
=0;
26
virtual
QVariant getPieceProperty(
const
QString &name,
const
IPiece
*p=0)
const
=0;
28
virtual
double
getDensity()
const
=0;
30
virtual
double
getVolume()
const
=0;
32
virtual
double
getInertialMass()
const
=0;
34
virtual
double
getMass()
const
=0;
36
virtual
DVect
getContactForce()
const
=0;
38
virtual
DAVect
getContactMoment()
const
=0;
40
virtual
DVect
getAppliedForce()
const
=0;
42
virtual
DAVect
getAppliedMoment()
const
=0;
44
virtual
DVect
getUnbalancedForce()
const
=0;
46
virtual
DAVect
getUnbalancedMoment()
const
=0;
48
virtual
double
getLocalDamping()
const
=0;
50
virtual
void
setFix(quint32 dof,
bool
b)=0;
52
virtual
bool
setPieceProperty(
const
QString &name,
const
QVariant &v,
IPiece
*p=0) =0;
54
virtual
void
setDensity(
const
double
&d)=0;
56
virtual
void
setVolume(
const
double
&d)=0;
58
virtual
void
setContactForce(
const
DVect
&v)=0;
60
virtual
void
setContactMoment(
const
DAVect
&v)=0;
62
virtual
void
setAppliedForce(
const
DVect
&v)=0;
64
virtual
void
setAppliedMoment(
const
DAVect
&v)=0;
66
virtual
void
setLocalDamping(
const
double
&d)=0;
68
virtual
void
scaleVolumePreserveMass(
const
double
&d,
bool
checkState=
true
,
bool
lock=
false
)=0;
69
70
71
};
72
}
// namespace itascaxd
73
74
// EoF
itasca
namespace Itasca
Definition:
basememory.cpp:9
itascaxd::IPiece
Definition:
ipiece.h:15
TType
unsigned int TType
class type indicator
Definition:
basedef.h:41
itascaxd::IBodyMechanical
Definition:
ibodymechanical.h:13
itascaxd
Itasca Library standard namespace, specific to 2D or 3D.
Definition:
icontactmodule.h:4
DAVect
DAVect3 DAVect
Angular vector of doubles, either 2D or 3D.
Definition:
dim.h:151
DVect
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition:
dim.h:145
itascaxd::IBody
Definition:
ibody.h:20
Generated by
1.8.15