Itasca C++ Interface
Loading...
Searching...
No Matches
ibodylogic.h
1//ibodylogic.h
2#pragma once
3
5
6namespace 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
Definition istring.h:14
Definition ibodylogic.h:7
DIM - Provides code portability between 2D and 3D codes.
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:154