Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
ireinforcementthing.h
Go to the documentation of this file.
1 #pragma once
2 // ireinforcementthing.h
3 
4 #include "iblockdef.h"
5 
14 namespace itasca
15 {
16  class IThing;
17 }
18 
19 namespace block
20 {
24 
25  class IBlockThing;
26  class IContactThing;
27  class IFaceThing;
28 
30  {
31  public:
32 
34  inline static const TType type_ = 0x52b3460a;
36  virtual const itasca::IThing * getIThing() const=0;
38  virtual itasca::IThing * getIThing()=0;
40  virtual quint64 getReinforcementID() const=0;
42  virtual quint64 getSELCollectionID() const=0;
44  virtual FInt getFortranOffset() const=0;
46  virtual DVect3 getLocation() const=0;
48  virtual const IBlockThing * getBlock1() const=0;
50  virtual const IBlockThing * getBlock2() const=0;
52  virtual const IFaceThing * getFace1() const=0;
54  virtual const IFaceThing * getFace2() const=0;
56  virtual const IContactThing *getContact() const=0;
58  virtual int getMaterial() const=0;
60  virtual DVect3 getShearDisplacement() const=0;
62  virtual DVect3 getShearForce() const=0;
64  virtual double getShearStrain() const = 0;
66  virtual double getAxialDisplacement() const=0;
68  virtual double getAxialForce() const=0;
70  virtual double getAxialStrain() const = 0;
72  virtual DVect3 getNormal() const=0;
74  virtual QString getStateString() const=0;
76  // 1 yield in past
77  // 2 shear yield
78  // 3 axial yield
79  // 4 axial rupture
80  // 5 shear rupture
81  virtual int getState() const = 0;
83  virtual double getHalfLength() const=0;
84  // other properties
85  virtual double getAxialStiffness() const=0;
86  virtual double getShearStiffness() const=0;
87  virtual double getAxialYield() const=0;
88  virtual double getShearYield() const=0;
89  virtual double getAxialRuptureStrain() const=0;
90  virtual double getShearRuptureStrain() const=0;
91  // get axial and shear force as a percentage of strength
92  virtual double getShearForcePcStrength() const=0;
93  virtual double getAxialForcePcStrength() const=0;
94  };
95 
96 } // end namespace block
97 // EOF
virtual const IFaceThing * getFace1() const =0
Return first face connected.
Definition: icontactthing.h:30
virtual const IContactThing * getContact() const =0
Return contact associated with reinforcement element.
namespace Itasca
Definition: basememory.cpp:9
Int FInt
Interface to provide access to 3DEC modules, global data, list of 3DEC entities, etc.
Definition: iblockdef.h:19
Base class for items that will be stored in containers.
Definition: ithing.h:31
virtual const IBlockThing * getBlock1() const =0
Return first block connected.
virtual int getState() const =0
return reinforcement state integer
Fortran to C++ type declarations.
virtual DVect3 getShearDisplacement() const =0
Return the shear displacement vector.
virtual const IFaceThing * getFace2() const =0
Return second face connected.
virtual int getMaterial() const =0
Return material number.
virtual DVect3 getLocation() const =0
Returns element position.
virtual const itasca::IThing * getIThing() const =0
Returns a const IThing pointer.
Definition: ireinforcementthing.h:29
This is the interface for BlockThing, a class that holds extra data not in the fortran arrays....
Definition: iblockthing.h:31
unsigned int TType
class type indicator
Definition: basedef.h:41
virtual QString getStateString() const =0
return reinforcement state string
virtual double getAxialDisplacement() const =0
Return the normal displacement.
static const TType type_
type used in IThing typing system
Definition: ireinforcementthing.h:34
virtual FInt getFortranOffset() const =0
Return element fortran offset.
virtual double getAxialForce() const =0
Return the normal force.
virtual quint64 getReinforcementID() const =0
Get ID of element in C++ container (not Fortran offset)
virtual DVect3 getShearForce() const =0
Return the shear force vector.
virtual double getAxialStrain() const =0
Return the axial strain.
virtual const IBlockThing * getBlock2() const =0
Return second block connected.
This is the interface for FaceThing, a class that holds extra data not in the fortran arrays....
Definition: ifacething.h:32
virtual quint64 getSELCollectionID() const =0
Return ID of collection of reinforcement elements.
virtual double getShearStrain() const =0
Return the shear strain.
virtual double getHalfLength() const =0
Return the half-length ("active" length) of the element (from property)
virtual DVect3 getNormal() const =0
Return the normal vector.