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
ibody.h
1
#pragma once
2
// ibody.h
3
4
// Interface for a Body which can be composed of multiple Pieces.
5
// Also properties.
6
// Other utility functions required by cell space.
7
8
#include "
dim.h
"
9
namespace
itasca
{
10
class
IFishParam;
11
class
IGroup;
12
class
IThing;
13
}
14
15
namespace
itascaxd
{
16
using namespace
itasca
;
17
class
IPiece;
18
20
class
IBody
{
21
public
:
23
inline
static
const
TType
type_ = 0x4c815b83;
24
26
enum
InOutMode
{ FullyOut=0, FullyIn, IntersectOut, IntersectIn, Surround};
27
29
virtual
IThing
* getIThing()=0;
30
virtual
const
IThing
* getIThing()
const
=0;
31
33
virtual
IPiece
* getFirstPiece()=0;
34
virtual
const
IPiece
* getFirstPiece()
const
=0;
35
virtual
IThing
* getFirstIThing()=0;
37
virtual
const
IThing
* getFirstIThing()
const
=0;
38
virtual
QStringList getAllAttributes()
const
=0;
41
virtual
QVariant getAttribute(
const
QString &name)
const
= 0;
42
43
// Return the extent of a body
44
virtual
DExtent3 getExtent()
const
=0;
45
// Return a boolean indicating whether or not a box is completely inside the body
46
virtual
bool
isBoxIn(
const
DExtent
&d,
const
double
&tol=1e-7)
const
=0;
47
// Return a boolean indicating whether or not the body intersects a DExtent
48
virtual
bool
intersectsBox(
const
DExtent
&d,
const
double
&tol=1e-7)
const
=0;
49
// Return the in/out state
50
virtual
InOutMode checkInOutSphere(
const
DVect
&,
const
double
&)
const
=0;
51
52
virtual
Quat
getOrient()
const
=0;
53
54
// Get/set the fragment index
55
virtual
int
getFragmentIndex()
const
=0;
56
virtual
void
setFragmentIndex(
int
ind)=0;
57
58
// Reset the time step contributions
59
virtual
void
resetTimeStepContributions()=0;
60
61
// Get the stress from the previous timestep
62
#ifdef TWOD
63
virtual
void
getOldStress(std::array<double,3> &)
const
=0;
64
#else
65
virtual
void
getOldStress(std::array<double,6> &)
const
=0;
66
#endif
67
// Get the volume
68
virtual
double
getVolume()
const
=0;
69
// Returns true if any DOF is fixed
70
virtual
bool
getAnyFixed()
const
=0;
71
virtual
bool
getAllFixed()
const
=0;
72
virtual
DVect
getPosition()
const
=0;
73
virtual
std::vector<quint64> getSurfaceTriangles()
const
=0;
74
75
};
76
}
// namespace itascaxd
77
// EoF
itasca
namespace Itasca
Definition:
basememory.cpp:9
itasca::IThing
Base class for items that will be stored in containers.
Definition:
ithing.h:31
dim.h
DIM - Provides code portability between 2D and 3D codes.
itascaxd::IPiece
Definition:
ipiece.h:15
TType
unsigned int TType
class type indicator
Definition:
basedef.h:41
DExtent
DExtent3 DExtent
A DExtent2 in 2D, a DExtent3 in 3D.
Definition:
dim.h:149
itascaxd::IBody::InOutMode
InOutMode
Enumerator for defining the geometric attributes of a body relative to a geometric shape.
Definition:
ibody.h:26
itascaxd
Itasca Library standard namespace, specific to 2D or 3D.
Definition:
icontactmodule.h:4
DVect
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition:
dim.h:145
Quat3
3D quaternion utility class.
Definition:
quat.h:103
itascaxd::IBody
Definition:
ibody.h:20
Generated by
1.8.15