Itasca C++ Interface
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
block::IBlockThing Class Referenceabstract

This is the interface for BlockThing, a class that holds extra data not in the fortran arrays. This will be stored in a container and the ID will be stored in offset $KBID in the fortran block linked list. This inherits from Thing so we can use groups and extra variables. More...

#include <iblockthing.h>

Public Types

enum  MasterSlaveStatus { NONE , MASTER , SLAVE }
 Master/Slave status.
 

Public Member Functions

virtual const itasca::IThinggetIThing () const =0
 Returns a const IThing pointer.
 
virtual itasca::IThinggetIThing ()=0
 Returns a IThing pointer.
 
virtual FInt getFortranOffset () const =0
 Return block fortran offset. Necessary for gui queries.
 
virtual quint64 getBlockID () const =0
 Return Thing ID.
 
virtual DVect3 getLocation () const =0
 Returns block centroid position.
 
virtual int getMaterialNumber () const =0
 Return block material number.
 
virtual int getModelNumber () const =0
 Return block model number.
 
virtual bool getFix () const =0
 Return block fixity condition.
 
virtual void setFix (bool b)=0
 Set block fixity condition.
 
virtual QString getFixString () const =0
 return string indicating fix condition
 
virtual DVect3 getVelocity () const =0
 Return block velocity.
 
virtual void setVelocity (const DVect3 &)=0
 Set block velocity (rigid)
 
virtual DVect3 getDisplacement () const =0
 Get displacement (average of node displacements)
 
virtual DVect3 getAngularVelocity () const =0
 Return block angular velocity.
 
virtual void setAngularVelocity (const DVect3 &)=0
 Set block angular velocity (rigid)
 
virtual double getVolume () const =0
 Return block volume.
 
virtual double getMass () const =0
 Return block mass.
 
virtual DVect3 getInertia () const =0
 Return block moment of inertia.
 
virtual SymTensor getInertiaTensor () const =0
 Return moment of inertia tensor.
 
virtual DVect3 getForce () const =0
 Return block centroid force sum (rigid)
 
virtual DVect3 getMoment () const =0
 Return block centroid moment (rigid)
 
virtual void setMoment (const DVect3 &)=0
 set block centroid moment (rigid)
 
virtual DVect3 getLoad () const =0
 Return load applied to block centroid (rigid)
 
virtual void setLoad (const DVect3 &)=0
 Return load applied to block centroid (rigid)
 
virtual int getMasterSlaveStatus () const =0
 Return block master/slave condition: 0 = none, 1 = master, 2 = slave.
 
virtual FInt getMasterOffset () const =0
 Return fortran index of master block (0 if none)
 
virtual bool isExcavated () const =0
 Returns true if block is marked as excavated.
 
virtual bool isRemoved () const =0
 Returns true if block is removed.
 
virtual bool getHidden () const =0
 Returns true if block is hidden.
 
virtual bool isWall () const =0
 Returns true if block is a wall.
 
virtual bool isRigid () const =0
 Returns true if block is rigid (unzoned)
 
virtual void getEdgeAngle (double *max, double *min) const =0
 Get maximum and minimum angle between block (not zone) faces in degrees. Angle > 180 = concave.
 
virtual double getMinEdge () const =0
 Returns the minimum edge length.
 
virtual double getMaxAspect () const =0
 Return maximum aspect ratio (edge length / volume^(1/3))
 
virtual double getMinFaceArea () const =0
 Return minimum face area (rigid faces, not zones)
 
virtual double getSurfaceArea () const =0
 Return surface area.
 
virtual bool isConcave (double d=180.0) const =0
 
virtual bool isValid () const =0
 Return true if BlockThing and Fortran block are in sync.
 
virtual bool getBit (int bit) const =0
 
virtual void setBit (int bit, bool b) const =0
 
virtual QVariant getValue (int index) const =0
 
virtual void setValue (int index, const QVariant &v) const =0
 Note - this is const through some hack so that we can use const BlockThings when getting data.
 
virtual double getDensity () const =0
 
virtual void setDensity (double d)=0
 
virtual double getDensityScalingFactor () const =0
 Return density scaling factor.
 
virtual FArray< const IFaceThing * > getFaces (bool rigid) const =0
 
virtual FArray< const IZoneThing * > getZones () const =0
 Get array of ZoneThings that make up this block.
 
virtual FArray< quint64 > getZoneIDs () const =0
 Get array of zone ids that make up this block.
 
virtual bool isSlave () const =0
 Return true if this block is a slave. False otherwise.
 
virtual quint64 getMasterID () const =0
 Returns id of master block. Return 0 if not a slave.
 
virtual FArray< FArray< const IVertexThing * > > getFaceVertices () const =0
 Returns vertices on each original face.
 
virtual FArray< const IVertexThing * > getVertices () const =0
 Returns all vertices.
 
virtual quint32 numGP () const =0
 Return number of vertices.
 
virtual FArray< const IContactThing * > getContacts () const =0
 Get all of the ContactThings associated with the block.
 
virtual FArray< const IFElementThing * > getFElements () const =0
 Get list of finite elements associated with block.
 
virtual FArray< const IFEFaceThing * > getFEFaces () const =0
 Get list of finite element faces associated with block.
 
virtual uint getFreeField () const =0
 Return dynamic free field code (0-4?)
 
virtual FInt addGridpoint (int ifac, double x, double y, double z)=0
 
virtual void addTetZone (FInt n0, FInt n1, FInt n2, FInt n3)=0
 
virtual void block_import_post ()=0
 
virtual bool isInternal () const =0
 Return if block is internal (has face blocks)
 
virtual bool isFaceBlock () const =0
 Return if block is a face block.
 
virtual const IBlockThinggetHostBlock () const =0
 Return host block if face block. Otherwise return null.
 
virtual quint64 getHostID () const =0
 return host block ID for face blocks. Otherwise return 0
 
virtual const IVertexThingfindVertex (DVect3 v) const =0
 Find vertex of block.
 
virtual double getBlockCondition (int i) const =0
 get block condition
 

Static Public Attributes

static const TType type_ = 0x4f01ef15
 type used in IThing typing system
 

Detailed Description

This is the interface for BlockThing, a class that holds extra data not in the fortran arrays. This will be stored in a container and the ID will be stored in offset $KBID in the fortran block linked list. This inherits from Thing so we can use groups and extra variables.

Member Function Documentation

◆ getBit()

virtual bool block::IBlockThing::getBit ( int bit) const
pure virtual

Returns the boolean stored in utility bit bit in the block.

◆ getDensity()

virtual double block::IBlockThing::getDensity ( ) const
pure virtual

Get density of block. This is the only property for rigid blocks. All other properties should be retrieved through zones

◆ getFaces()

virtual FArray< const IFaceThing * > block::IBlockThing::getFaces ( bool rigid) const
pure virtual

Get array of FaceThings that make up this block. By default, this will attempt to return the zone faces if they exist. The user may optionally enter a boolean to indicate a rigid block. If true is input, the original rigid block faces are returned, even if the block is zoned.

◆ getValue()

virtual QVariant block::IBlockThing::getValue ( int index) const
pure virtual

Retrieves the value stored in the utility array at index.

◆ isConcave()

virtual bool block::IBlockThing::isConcave ( double d = 180.0) const
pure virtual

Returns true if block has concave face or edge. Input edge/face angle above which block is considered concave

◆ setBit()

virtual void block::IBlockThing::setBit ( int bit,
bool b ) const
pure virtual

Sets the boolean stored in utility bit bit in the block. This function is const, to indicate that setting bit values does not impact the calculation logic in any way.

  • bit must be a bit index previouly returned from IBlockArray::claimBit(). Note - this is const through some hack so that we can use const BlockThings when getting data

◆ setDensity()

virtual void block::IBlockThing::setDensity ( double d)
pure virtual

Set density of block. This is the only property for rigid blocks. All other properties should be retrieved through zones

◆ setValue()

virtual void block::IBlockThing::setValue ( int index,
const QVariant & v ) const
pure virtual

Note - this is const through some hack so that we can use const BlockThings when getting data.

Sets the value stored in the utility array at index. This is const to indicate that these bit values do not modify the model in any way.


The documentation for this class was generated from the following file: