Itasca C++ Interface
Loading...
Searching...
No Matches
rblock::IRBlock Class Referenceabstract

Public Member Functions

virtual IThinggetIThing ()=0
 Return an IThing interface for this object.
virtual const IThinggetIThing () const =0
 Return a const IThing interface for this object.
virtual IRBlockgetNextIRBlock ()=0
 Return the next IRBlock object in the global list, or 0 if it is the last set.
virtual const IRBlockgetNextIRBlock () const =0
 Return the next IRBlock object in the global list, or 0 if it is the last set.
virtual DExtent3 getExtent () const =0
 Return the DExtent3 extent.
virtual const DExtentgetCellExtent () const =0
virtual void getGeometry (FArray< DVect > *vert, FArray< int > *fac=0) const =0
 Get the list of vertices and facets. Nothing is done with the second array in 2D.
virtual DVect getBallOffset () const =0
 Returns the ball position containing the block.
virtual double getBallRadius () const =0
 Returns the ball radius containing the block.
virtual double getAspectRatio () const =0
 Returns the aspect ratio of the block.
virtual void getFacetGeometry (FArray< DVect > *vert) const =0
 Get the vertices listed out in facet format.
virtual DVect getVertexOfFacet (int fac, int ver) const =0
 Get the vertex of a facet.
virtual double getFacetArea (int fac) const =0
 Get the area of a facet.
virtual DVect getVertex (int ver) const =0
 Get the vertex.
virtual DVect getClosestPointOnFacet (const DVect &, int fac) const =0
 Get the closest point on a facet to a point in space.
virtual int getFacetClosestToPoint (const DVect &) const =0
virtual DVect getFacetNormal (int fac) const =0
 Get the facet normal.
virtual DVect getFacetPosition (int fac) const =0
 Get the facet position.
virtual bool getIsIn (const DVect &) const =0
 Returns a boolean indicating whether a point in space is inside or outside of the rigid block.
virtual int getNumberFacets () const =0
 Return the number of facets.
virtual int getNumberVertices () const =0
 Return the number of vertices.
virtual const IPiecegetIPiece () const =0
 Return the IPiece pointer.
virtual IPiecegetIPiece ()=0
virtual const IBodygetIBody () const =0
 Return the IBody pointer.
virtual IBodygetIBody ()=0
virtual const IBodyMechanicalgetIBodyMechanical () const =0
 Return the IBodyMechanical pointer.
virtual IBodyMechanicalgetIBodyMechanical ()=0
virtual const IRigidBodyMechanicalgetIRigidBodyMechanical () const =0
 Return the IRigidBodyMechanical pointer.
virtual IRigidBodyMechanicalgetIRigidBodyMechanical ()=0
virtual DAVect getMoi () const =0
 Return the inertia tensor in principal axis form.
virtual DAVect getInertialMoi () const =0
 Return the inertial (may be scaled) inertia tensor in principal axis form.
virtual double getMoiComp (int) const =0
virtual double getInertialMoiComp (int) const =0
virtual void setMoiComp (const double &, int)=0
 Set a component of the inertia tensor. Admissible values are: 11,12,13,22,23,33 in 3D.
virtual void setMoi (const DAVect &d)=0
 Set the principal values of the inertia tensor directly.
virtual void setMoiFix (bool b)=0
 When setting the MOI from FISH one needs make sure that it is not reset no matter what.
virtual bool isMoiFix ()=0
virtual bool isMoiFix () const =0
virtual void setVolumeNoScale (const double &d)=0
 Set the volume without scaling the rblock.
virtual void getContactList (FArray< IContact * > *ret, const TType &type=0, const IPiece *p2=0)=0
 Return a list of IContacts.
virtual void getContactList (FArray< const IContact * > *ret, const TType &type=0, const IPiece *p2=0) const =0
 Return a list of const IContacts.
virtual uint64 getContactCount (bool active, const TType &type=0, bool domainToo=false) const =0
 Return the number of contacts.
virtual DMatrix< DIM, DIM > getStress () const =0
 Return the current stress computed for this rblock.
virtual bool rotate (const DVect &rotp, const DVect &axis, const double &w, bool update=true, bool noThrow=false)=0
virtual bool scale (const double &)=0
 Scale the rblock to have this area or volume.
virtual void getSurfaceRotMatrix (DMatrix< dim, dim > *) const =0
 Get the rotation matrix with reference to the principal axis system.
virtual bool getFix (quint32 dof) const =0
 Return a boolean indicating the fixity condition.
virtual void setFix (quint32 dof, bool b)=0
 Set the fixity condition.
virtual double getVolume () const =0
 Get the volume.
virtual double getLocalDamping () const =0
 Return the local damping coefficient.
virtual void setLocalDamping (const double &d)=0
 Set the local damping coefficient.
virtual double getDensity () const =0
 Return the density.
virtual void setDensity (const double &d)=0
 Set the density.
virtual double getInertialMass () const =0
 Return the inertial mass.
virtual double getMass () const =0
 Return the mass.
virtual int getFragmentIndex () const =0
 Return the fragment index.
virtual void setFragmentIndex (int ind)=0
 Set the fragment index.
virtual DVect getCentroid () const =0
 Get the centroid.
virtual void setCentroid (const DVect &p)=0
 Set the centroid.
virtual DVect getDisplacement () const =0
 Get the displacement.
virtual void setDisplacement (const DVect &v)=0
 Set the displacement.
virtual DVect getVelocity () const =0
 Get the velocity.
virtual void setVelocity (const DVect &p)=0
 Set the velocity.
virtual DAVect getAngVelocity () const =0
 Get the angular velocity.
virtual void setAngVelocity (const DAVect &p)=0
 Set the angular velocity.
virtual DVect getAppliedForce () const =0
 Return the applied force.
virtual void setAppliedForce (const DVect &v)=0
 Set the applied force.
virtual DAVect getAppliedMoment () const =0
 Return the applied moment.
virtual void setAppliedMoment (const DAVect &v)=0
 Set the applied moment.
virtual DVect getContactForce () const =0
 Return the resultant of all contact forces.
virtual void setContactForce (const DVect &v)=0
 Set the contact force.
virtual DVect getUnbalancedForce () const =0
 Return the unbalanced force.
virtual DAVect getUnbalancedMoment () const =0
 Return the unbalanced moment.
virtual DAVect getContactMoment () const =0
 Return the resultant of all contact moments.
virtual void setContactMoment (const DAVect &v)=0
 Set the contact moment.
virtual DVect getPosition () const =0
 Return the rblock position. This is implementation dependent.
virtual double getRounding () const =0
 Return the rounding.
virtual QString getFaceGroupName (uint32 side, const ISlotID &slot=ISlotID()) const =0
 Support for face groups.
virtual bool getBit (int bit) const =0
virtual void setBit (int bit, bool b) const =0

Static Public Attributes

static const TType type_ = 0x5595cd9e
 TType for type casting.

Member Function Documentation

◆ getFacetClosestToPoint()

virtual int rblock::IRBlock::getFacetClosestToPoint ( const DVect & ) const
pure virtual

Get the facet index with point closest to a position in space. If 2 facets are equally close then the last one found is returned

◆ getInertialMoiComp()

virtual double rblock::IRBlock::getInertialMoiComp ( int ) const
pure virtual

Return a component of the inertial (may be scaled) inertia tensor. In 2D just the value is returned. In 3D the components are returned. Admissible values are: 11,12,13,22,23,33 in 3D

◆ getMoiComp()

virtual double rblock::IRBlock::getMoiComp ( int ) const
pure virtual

Return a component of the inertia tensor. In 2D just the value is returned. In 3D the components are returned. Admissible values are: 11,12,13,22,23,33 in 3D

◆ rotate()

virtual bool rblock::IRBlock::rotate ( const DVect & rotp,
const DVect & axis,
const double & w,
bool update = true,
bool noThrow = false )
pure virtual

Rotate the rblock about the axis axis through the rotation point rotp by the angle w (in radians). If orientation tracking is enabled then it is updated when the update boolean is set to true


The documentation for this class was generated from the following file:
  • C:/Source/itasca-suite/pfc/rblock/interface/irblock.h