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...
 | 
| 
virtual const itasca::IThing *  | getIThing () const =0 | 
|   | Returns a const IThing pointer. 
  | 
|   | 
| 
virtual itasca::IThing *  | getIThing ()=0 | 
|   | Returns a IThing pointer. 
  | 
|   | 
| 
virtual FInt  | getFortranOffset () const =0 | 
|   | Return block fortran offset. Necessary for gui queries. 
  | 
|   | 
| 
virtual uint64  | 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 string  | 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 base::Property  | getValue (int index) const =0 | 
|   | 
| virtual void  | setValue (int index, const base::Property &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< uint64 >  | 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 uint64  | 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 uint32  | 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 uint32  | 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 IBlockThing *  | getHostBlock () const =0 | 
|   | Return host block if face block. Otherwise return null. 
  | 
|   | 
| 
virtual uint64  | getHostID () const =0 | 
|   | return host block ID for face blocks. Otherwise return 0 
  | 
|   | 
| 
virtual const IVertexThing *  | findVertex (DVect3 v) const =0 | 
|   | Find vertex of block. 
  | 
|   | 
| 
virtual double  | getBlockCondition (int i) const =0 | 
|   | get block condition 
  | 
|   | 
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.