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...
|  | 
| virtual IThing * | getIThing ()=0 | 
|  | Return an IThing interface for this object. 
 | 
|  | 
| virtual const IThing * | getIThing () const =0 | 
|  | Return a const IThing interface for this object. 
 | 
|  | 
| virtual IClump * | getNext ()=0 | 
|  | Return the next IClump object in the global list, or 0 if it is the last set. 
 | 
|  | 
| virtual const IClump * | getNext () const =0 | 
|  | Return the next const IClump object in the global list, or 0 if it is the last set. 
 | 
|  | 
| virtual IPiece * | getFirstIPiece ()=0 | 
|  | Return the first IPiece in this clump. 
 | 
|  | 
| virtual const IPiece * | getFirstIPiece () const =0 | 
|  | Return the first const IPiece in this clump. 
 | 
|  | 
| virtual IPebble * | getFirstPebble ()=0 | 
|  | Return the first IPebble in this clump. 
 | 
|  | 
| virtual const IPebble * | getFirstPebble () const =0 | 
|  | Return the first const IPebble in this clump. 
 | 
|  | 
| virtual IPieceMechanical * | getFirstIPieceMechanical ()=0 | 
|  | Return the first IPieceMechanical in this clump. 
 | 
|  | 
| virtual const IPieceMechanical * | getFirstIPieceMechanical () const =0 | 
|  | Return the first const IPieceMechanical in this clump. 
 | 
|  | 
| virtual IBody * | getIBody ()=0 | 
|  | Return an IBody pointer. 
 | 
|  | 
| virtual const IBody * | getIBody () const =0 | 
|  | Return a const IBody pointer. 
 | 
|  | 
| virtual IBodyMechanical * | getIBodyMechanical ()=0 | 
|  | Return an IBodyMechanical pointer. 
 | 
|  | 
| virtual const IBodyMechanical * | getIBodyMechanical () const =0 | 
|  | Return a const IBodyMechanical pointer. 
 | 
|  | 
| virtual IRigidBodyMechanical * | getIRigidBodyMechanical ()=0 | 
|  | Return an IRigidBodyMechanical pointer. 
 | 
|  | 
| virtual const IRigidBodyMechanical * | getIRigidBodyMechanical () 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 IContainer * | getClumpAsPebbleContainer ()=0 | 
|  | Return the IContainer pointer of the ChildContainer corresponding to this clump. 
 | 
|  | 
| virtual const IContainer * | getClumpAsPebbleContainer () const =0 | 
|  | Return the const IContainer pointer of the ChildContainer corresponding to this clump. 
 | 
|  | 
| virtual const ITriPoly * | getSurfaceDescription () 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 IPebble * | createAndAddPebble (const double &rad, const DVect &pos, IContainer *, uint64 id=0)=0 | 
|  | Add a pebble to this clump. 
 | 
|  | 
| virtual IClumpTemplate * | getMyClumpTemplate ()=0 | 
|  | Return the IClumpTemplate pointer. 
 | 
|  | 
| virtual const IClumpTemplate * | getMyClumpTemplate () 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 string | getFixLabel () const =0 | 
|  | Return a fixity label. 
 | 
|  | 
| virtual base::Property | getPieceProperty (const string &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 string &name, const base::Property &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 | 
|  | 
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.