Itasca C++ Interface
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members

Interface for a clump. This is the interface for a clump. A clump is a collection of pebbles that define the clump surface (see IPebble for more information). This interface provides basic functionality for accessing the Body Attributes and Piece properties associated with a clump. More...

#include <iclump.h>

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 IClumpgetNext ()=0
 Return the next IClump object in the global list, or 0 if it is the last set.
 
virtual const IClumpgetNext () const =0
 Return the next const IClump object in the global list, or 0 if it is the last set.
 
virtual IPiecegetFirstIPiece ()=0
 Return the first IPiece in this clump.
 
virtual const IPiecegetFirstIPiece () const =0
 Return the first const IPiece in this clump.
 
virtual IPebblegetFirstPebble ()=0
 Return the first IPebble in this clump.
 
virtual const IPebblegetFirstPebble () const =0
 Return the first const IPebble in this clump.
 
virtual IPieceMechanicalgetFirstIPieceMechanical ()=0
 Return the first IPieceMechanical in this clump.
 
virtual const IPieceMechanicalgetFirstIPieceMechanical () const =0
 Return the first const IPieceMechanical in this clump.
 
virtual IBodygetIBody ()=0
 Return an IBody pointer.
 
virtual const IBodygetIBody () const =0
 Return a const IBody pointer.
 
virtual IBodyMechanicalgetIBodyMechanical ()=0
 Return an IBodyMechanical pointer.
 
virtual const IBodyMechanicalgetIBodyMechanical () const =0
 Return a const IBodyMechanical pointer.
 
virtual IRigidBodyMechanicalgetIRigidBodyMechanical ()=0
 Return an IRigidBodyMechanical pointer.
 
virtual const IRigidBodyMechanicalgetIRigidBodyMechanical () const =0
 Return a const IRigidBodyMechanical pointer.
 
virtual uint32 getNumberPebbles () const =0
 Return the number of pebbles.
 
virtual void getPebbleList (FArray< IPebble * > *)=0
 Return a list of pebbles.
 
virtual void getPebbleList (FArray< const IPebble * > *) const =0
 Return a list of pebbles.
 
virtual double getSurfaceScaleFactor () const =0
 Return the scale factor going from the clump to the surface representation.
 
virtual double getMoiComp (int) const =0
 
virtual double getInertialMoiComp (int) const =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 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 &)=0
 Set the principal values of the inertia tensor directly.
 
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 clump to have this area or volume.
 
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 IContainergetClumpAsPebbleContainer ()=0
 Return the IContainer pointer of the ChildContainer corresponding to this clump.
 
virtual const IContainergetClumpAsPebbleContainer () const =0
 Return the const IContainer pointer of the ChildContainer corresponding to this clump.
 
virtual const ITriPolygetSurfaceDescription () const =0
 Return the ITriPoly surface description of the clump.
 
virtual double getSurfaceOrientation () const =0
 Get the double corresponding to the orientation relative to the clump template orientation.
 
virtual void getSurfaceRotMatrix (DMatrix< dim, dim > *) const =0
 Get the rotation matrix with reference to the clump template.
 
virtual void removeIPebble (IPebble *, IContainer *)=0
 Remove the pebble from the clump.
 
virtual IPebblecreateAndAddPebble (const double &rad, const DVect &pos, IContainer *, uint64 id=0)=0
 Add a pebble to this clump.
 
virtual IClumpTemplategetMyClumpTemplate ()=0
 Return the IClumpTemplate pointer.
 
virtual const IClumpTemplategetMyClumpTemplate () const =0
 Return the const IClumpTemplate pointer.
 
virtual void resetClumpTemplate ()=0
 Reset the clump template pointer.
 
virtual bool getIsClumpTemplate () const =0
 Return true if part of a clump template.
 
virtual void calcAndSetInertialAttributes (const double &per=0.01)=0
 
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 clump.
 
virtual double getEnclosingDiameter () const =0
 Calculate the diameter of the sphere enclosing the clump.
 
virtual int getFragmentIndex () const =0
 
virtual bool getFix (uint32 dof) const =0
 
virtual QString getFixLabel () const =0
 Return a fixity label.
 
virtual QVariant getPieceProperty (const QString &name, const IPiece *p=0) const =0
 Return the property of the piece.
 
virtual double getDensity () const =0
 Return the density.

 
virtual double getInertialMass () const =0
 Return the inertial mass.
 
virtual double getMass () const =0
 Return the mass.
 
virtual DVect getContactForce () const =0
 Return the resultant of all contact forces.
 
virtual DAVect getContactMoment () const =0
 Return the resultant of all contact moments.
 
virtual DVect getAppliedForce () const =0
 Return the applied force.
 
virtual DAVect getAppliedMoment () const =0
 Return the applied moment.
 
virtual DVect getUnbalancedForce () const =0
 Return the unbalanced force.
 
virtual DAVect getUnbalancedMoment () const =0
 Return the unbalanced moment.
 
virtual double getLocalDamping () const =0
 Return the local damping coefficient.
 
virtual void setFix (uint32 dof, bool b)=0
 Set the fixity condition.
 
virtual bool setPieceProperty (const QString &name, const QVariant &v, IPiece *p=0)=0
 Set the property name.
 
virtual void setDensity (const double &d)=0
 Set the density.
 
virtual void setContactForce (const DVect &v)=0
 Set the contact force.
 
virtual void setContactMoment (const DAVect &v)=0
 Set the contact moment.
 
virtual void setAppliedForce (const DVect &v)=0
 Set the applied force.
 
virtual void setAppliedMoment (const DAVect &v)=0
 Set the applied moment.
 
virtual void setLocalDamping (const double &d)=0
 Set the local damping coefficient.
 
virtual void scaleVolumePreserveMass (const double &d, bool checkState=true, bool lock=false)=0
 Scale the volume to the specified value while preserving the mass.
 
virtual void setFragmentIndex (int ind)=0
 
virtual bool getIsIn (const DVect &) const =0
 Returns a boolean indicating whether a point in space is inside or outside of the ball.
 
virtual DVect getCentroid () const =0
 IRigidBodyMechanical interface.
 
virtual DVect getVelocity () const =0
 
virtual DAVect getAngVelocity () const =0
 
virtual DVect getDisplacement () const =0
 
virtual double getVolume () const =0
 
virtual Quat getOrient () const =0
 
virtual void setCentroid (const DVect &p)=0
 
virtual void setVelocity (const DVect &p)=0
 
virtual void setAngVelocity (const DAVect &p)=0
 
virtual void setDisplacement (const DVect &v)=0
 
virtual void setOrient (const Quat &q)=0
 

Static Public Attributes

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

Detailed Description

Interface for a clump. This is the interface for a clump. A clump is a collection of pebbles that define the clump surface (see IPebble for more information). This interface provides basic functionality for accessing the Body Attributes and Piece properties associated with a clump.

Member Function Documentation

◆ calcAndSetInertialAttributes()

virtual void pfc::IClump::calcAndSetInertialAttributes ( const double & per = 0.01)
pure virtual

Calculate and set the inertial properties. Change the clump position but do not translate and no rotation occurs.

◆ getFix()

virtual bool pfc::IClump::getFix ( uint32 dof) const
pure virtual

Methods from the IBodyMechanical interface for convenience Return a boolean indicating the fixity condition.

◆ getInertialMoiComp()

virtual double pfc::IClump::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 pfc::IClump::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 pfc::IClump::rotate ( const DVect & rotp,
const DVect & axis,
const double & w,
bool update = true,
bool noThrow = false )
pure virtual

Rotate the clump 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: