Itasca C++ Interface
Loading...
Searching...
No Matches
ifacething.h
Go to the documentation of this file.
1#pragma once
2// ifacething.h
3
4#include "fortconv/fortdefc.h"
5
6#include "fortconv/fortdefc.h"
7#include "base/src/farray.h"
8
14namespace itasca
15{
16 class IThing;
17}
18
19namespace block
20{
21
22 class IBlockThing;
23 class IZoneThing;
24 class IVertexThing;
25 class IFlowPlaneThing;
26
33 {
34 public:
35
37 static const FInt cpp = 12; // C++ extension from Fortran array
38
40 virtual const itasca::IThing * getIThing() const=0;
44 inline static const TType type_ = 0x521615ab;
46 virtual FInt getFortranOffset() const=0;
48 virtual quint64 getFaceID() const=0;
50 virtual IBlockThing* getBlockThing() const=0;
52 virtual IZoneThing* getZoneThing() const=0;
54 virtual quint64 getBlockThingID() const=0;
56 virtual quint64 getZoneThingID() const=0;
60 virtual FArray<quint64> getVertexIDs() const = 0;
64 virtual DVect getVertexLocation(quint32 i) const=0;
66 virtual quint32 getJointsetID() const=0;
68 virtual quint32 getFractureID() const=0;
70 virtual DVect3 getNormal() const=0;
72 virtual bool getHidden() const=0;
74 virtual double getArea() const=0;
76 virtual FInt getFEFaceOffset() const=0;
78 virtual bool isFaceFace(const IBlockThing *bt) const=0;
81 virtual bool isZoneFace() const = 0;
83 virtual bool isValid() const=0;
85 virtual IFlowPlaneThing * getFlowPlane() const=0;
87 virtual quint32 getNumGP() const=0;
89 virtual IVertexThing * getGP(quint32 n) const=0;
91 virtual bool isExcavated() const=0;
93 virtual bool isRemoved() const=0;
95 virtual bool isPlanar() const = 0;
97 virtual double getMinEdgeLength() const = 0;
99 virtual IBlockThing* getFaceBlockThing() const = 0;
101 virtual double getFactorOfSafety() const = 0;
103 virtual void setFactorOfSafety(double d) = 0;
105 virtual bool getBit() const=0;
107 virtual void setBit(bool b) const =0;
108 };
109
110} // end namespace block
111// EOF
An array class that attempts to minimize unnecessary heap access.
Definition farray.h:25
This is the interface for BlockThing, a class that holds extra data not in the fortran arrays....
Definition iblockthing.h:32
This is the interface for FaceThing, a class that holds extra data not in the fortran arrays....
Definition ifacething.h:33
virtual bool isFaceFace(const IBlockThing *bt) const =0
returns true if there is no f-f contact between the face and input block
virtual void setBit(bool b) const =0
Sets the boolean bit of the face.
virtual bool isValid() const =0
Return true if FaceThing and Fortran face are in sync.
virtual bool isExcavated() const =0
Return true if face is on an excavated block.
virtual bool isPlanar() const =0
Return true if face is planar.
virtual quint64 getZoneThingID() const =0
Return host zonething id. Returns 0 if unzoned (rigid).
virtual FInt getFortranOffset() const =0
Return block fortran offset. Necessary for gui queries.
virtual quint64 getFaceID() const =0
Return Thing ID.
virtual bool isRemoved() const =0
Return true if face is on a removed block.
virtual IVertexThing * getGP(quint32 n) const =0
Return gridpoint n (0 < n < 2)
virtual quint32 getJointsetID() const =0
Return face joint set id number (this is joint id resulting from jset command)
static const FInt cpp
offset for FaceThing ID
Definition ifacething.h:37
virtual bool getHidden() const =0
Returns true if face or host zone or host block is hidden.
virtual FArray< const IVertexThing * > getVertices() const =0
Get a list of vertexthings that make up this face.
virtual IFlowPlaneThing * getFlowPlane() const =0
Return flow plane associated with the face. Return nullptr if none.
virtual const itasca::IThing * getIThing() const =0
Returns a const IThing pointer.
virtual IBlockThing * getFaceBlockThing() const =0
Return host fblockthing (nullptr if not a faceblock)
virtual itasca::IThing * getIThing()=0
Returns a IThing pointer.
virtual double getArea() const =0
Return the area of the face.
virtual bool getBit() const =0
Returns the boolean bit of the face.
virtual double getMinEdgeLength() const =0
Return the minumum edge length of the face.
virtual FInt getFEFaceOffset() const =0
Return offset of corresponding Finite Element face. Required for ranges.
virtual FArray< quint64 > getVertexIDs() const =0
Get list of vertexids.
virtual bool isZoneFace() const =0
virtual FArray< DVect > getVertexLocations() const =0
Get a list of vertex locations that make up this face.
virtual DVect getVertexLocation(quint32 i) const =0
get location for specified vertex (0 based)
virtual DVect3 getNormal() const =0
Return normal vector to face.
virtual void setFactorOfSafety(double d)=0
Set the safety factor of the face.
virtual IBlockThing * getBlockThing() const =0
Return host blockthing.
virtual IZoneThing * getZoneThing() const =0
Return host zonething. Returns NULL if unzoned (rigid).
virtual quint32 getFractureID() const =0
Return face fracture id number (this is id of a single fracture)
virtual double getFactorOfSafety() const =0
Return the safety factor of the face.
virtual quint32 getNumGP() const =0
Return number of gridpoints.
static const TType type_
type used in IThing typing system
Definition ifacething.h:44
virtual quint64 getBlockThingID() const =0
Return host blockthing id.
Definition iflowplanething.h:28
This is the interface for VertexThing. This will be stored in a container and the ID will be stored i...
Definition ivertexthing.h:29
This is the interface for ZoneThing, a class that holds extra data not in the fortran arrays....
Definition izonething.h:35
Base class for items that will be stored in containers.
Definition ithing.h:30
An array class that attempts to minimize unnecessary heap access.
uint32 TType
class type indicator
Definition basedef.h:46
int32 FInt
Interface to provide access to 3DEC modules, global data, list of 3DEC entities, etc.
Definition iblockdef.h:19
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:154
namespace Itasca
Definition basememory.cpp:10