8 #include "utility/interface/igroup.h" 28 enum blockType{Hexahedron=1, Tetrahedron, Wedge, Default};
31 WrongTopologyFaceAttachment=-7,
38 AFaceHasAttachedBlocksFromOneSide,
46 inline static const TType type_=0x53a34354;
48 virtual const IThing * getIThing()
const=0;
50 virtual IThing * getIThing()=0;
52 virtual quint32 getSize()
const=0;
54 virtual quint32 getSizeEdges()
const=0;
56 virtual quint32 getSizePoints()
const=0;
58 virtual IGeomPoly* getFace(quint32 index)=0;
60 virtual const IGeomPoly* getFace(quint32 index)
const =0;
62 virtual const IGeomEdge * getEdge(
const quint32 index)
const=0;
64 virtual IGeomEdge * getEdge(quint32 index)=0;
66 virtual const IGeomPoint * getPoint(quint32 index)
const=0;
68 virtual IGeomPoint * getPoint(quint32 index)=0;
70 virtual bool isValid()
const=0;
72 virtual DVect getCentroid()
const=0;
74 virtual double getArea()
const=0;
76 virtual double getVolume(
double tol=1.0e-9)
const=0;
80 virtual QString getValidStateString()
const=0;
82 virtual void getEdgesOrder(
FArray<QPair<quint32,quint32>> &edgesOrder)
const=0;
88 virtual bool isIn(
const DVect &v,
const double &tolerance=1e-7)
const=0;
90 virtual DVect getClosestPoint(
const DVect &v)
const=0;
92 virtual quint32 getMultiplier()
const=0;
94 virtual void setMultiplier(quint32 m)=0;
96 virtual bool getGUIselect()
const=0;
98 virtual void setGUIselect(
bool flag)
const=0;
100 virtual bool getOKdegeneracyFlag()
const=0;
102 virtual void setOKdegeneracyFlag(
bool OK)
const=0;
namespace Itasca
Definition: basememory.cpp:9
Base class for items that will be stored in containers.
Definition: ithing.h:31
blockType
Type of block enumeration ({Hexahedron=1, Tetrahedron, Wedge, Default}). Default usually means Hexahe...
Definition: ibodyblock.h:28
An array class that attempts to minimize unnecessary heap access.
blockValidState
Type of valid state.
Definition: ibodyblock.h:30
A class representing a single closed polygon made up of a list of edges.
Definition: igeompoly.h:23
unsigned int TType
class type indicator
Definition: basedef.h:41
Interface for a user-defined geometric point.
Definition: igeompoint.h:18
Interface for a user-defined geometric edge, defined as the line between two IGeomPoint objects.
Definition: igeomedge.h:24
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4
An array class that attempts to minimize unnecessary heap access.
Definition: farray.h:27
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:145
Interface to provide acces to BodyBlock.
Definition: ibodyblock.h:24