Itasca C++ Interface
Loading...
Searching...
No Matches
flac3d
zone
interface
ibodylogic.h
1
//ibodylogic.h
2
#pragma once
3
4
#include "
module/interface/dim.h
"
5
6
namespace
zone {
7
class
IBodyLogic
{
8
public
:
9
virtual
void
computeBody()
const
=0;
10
virtual
uint32 getBodyNotice()
const
=0;
11
12
virtual
DVect3 computeFaceGP(
int
fi,
int
g1,
int
g2)
const
=0;
13
virtual
DVect3 computeWedgeFaceGP(
int
fi,
double
g1,
double
g2)
const
=0;
14
// virtual DVect3 computeFaceSubGP(int fi, int g1, int g2, int s1, int s2, int m1, int m2) const=0;
15
virtual
DVect3 computeCellGP(
int
ci,
int
g1,
int
g2,
int
g3
/*, int n1, int n2, int n3*/
)
const
=0;
16
17
virtual
int
getVertCount()
const
=0;
18
virtual
int
getEdgeCount()
const
=0;
19
virtual
int
getFaceCount()
const
=0;
20
virtual
int
getCellCount()
const
=0;
21
virtual
int
getDimCount()
const
=0;
22
virtual
int
getSizeCount()
const
=0;
23
virtual
int
getRatCount()
const
=0;
24
virtual
bool
isVertUsed(
int
vi)
const
=0;
25
virtual
bool
isEdgeUsed(
int
ei)
const
=0;
26
virtual
bool
isFaceUsed(
int
fi)
const
=0;
27
virtual
bool
isCellUsed(
int
ci)
const
=0;
28
virtual
DVect
getVertexPos(
int
vi)
const
=0;
29
virtual
int
getEdgeType(
int
ei)
const
=0;
//0=linear, 1=arc
30
virtual
int
getEdgeVertexIndex1(
int
ei)
const
=0;
31
virtual
int
getEdgeVertexIndex2(
int
ei)
const
=0;
32
virtual
int
getEdgeArcDimIndex(
int
ei)
const
=0;
33
virtual
int
getEdgeArcCenterIndex(
int
ei)
const
=0;
34
virtual
int
getEdgeSizeIndex(
int
ei)
const
=0;
35
virtual
int
getEdgeRatioIndex(
int
ei)
const
=0;
36
virtual
int
getFaceVertexIndex(
int
fi,
int
n)
const
=0;
37
virtual
int
getFaceEdgeIndex(
int
fi,
int
n)
const
=0;
38
virtual
int
getFaceISizeValue(
int
fi)
const
=0;
39
virtual
int
getFaceJSizeValue(
int
fi)
const
=0;
40
virtual
bool
isFaceSimple(
int
fi)
const
=0;
41
virtual
bool
isFaceVisible(
int
fi)
const
=0;
42
virtual
int
getCellVertexIndex(
int
ci,
int
n)
const
=0;
// n=0..7
43
virtual
int
getCellEdgeIndex(
int
ci,
int
n)
const
=0;
// n=0..11
44
virtual
int
getCellFaceIndex(
int
ci,
int
n)
const
=0;
// n=0..5
45
virtual
bool
isCellFilled(
int
ci)
const
=0;
46
virtual
DVect
getCellCenter(
int
ci)
const
=0;
47
// virtual int getCellMultI(int ci) const=0;
48
// virtual int getCellMultJ(int ci) const=0;
49
// virtual int getCellMultK(int ci) const=0;
50
virtual
int
getCellGroupIndex(
int
ci)
const
=0;
51
// virtual int getCellFaceMultI(int ci, int findex) const=0; // findex=0..5
52
// virtual int getCellFaceMultJ(int ci, int findex) const=0;
53
virtual
int
getCellForm(
int
ci)
const
=0;
54
virtual
double
getDimValue(
int
di)
const
=0;
55
virtual
double
getRatioValue(
int
ri)
const
=0;
56
virtual
int
getSizeValue(
int
ni)
const
=0;
57
virtual
int
getGroupSize()
const
=0;
58
virtual
QString getGroupName(
int
gi)
const
=0;
59
virtual
IString
getName()
const
=0;
60
};
61
}
// namespace zone
62
// EoF
IString
Definition
istring.h:14
zone::IBodyLogic
Definition
ibodylogic.h:7
dim.h
DIM - Provides code portability between 2D and 3D codes.
DVect
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition
dim.h:154
Generated by
1.10.0