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

Interface for a generic wall. This is the interface for a generic wall. Specific wall types must derive from this. A wall is meant to be some geometric object with which other model components (balls and clumps) can interact but walls do not react. Thus they act to provide boundary conditions. This interface provides basic functionality for accessing the Body and Pieces associated with a wall. The properties that can be accessed through this interface are the position, rotation point, velocity, angular velocity, displacement, angular displacement, force, and moment. The meaning of the position is implementation dependent. All of these properties can be set with the exception of the force and moment. More...

#include <iwall.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 IWallgetNext ()=0
 Return the next IWall object in the global list, or 0 if it is the last set.
 
virtual const IWallgetNext () const =0
 Return the next const IWall object in the global list, or 0 if it is the last set.
 
virtual IPiecegetFirstIPiece ()=0
 Return the first IPiece in this wall.
 
virtual const IPiecegetFirstIPiece () const =0
 Return the first const IPiece in this wall.
 
virtual IPieceMechanicalgetFirstIPieceMechanical ()=0
 Return the first IPieceMechanical in this wall.
 
virtual const IPieceMechanicalgetFirstIPieceMechanical () const =0
 Return the first const IPieceMechanical in this wall.
 
virtual IBodygetIBody ()=0
 Return an IBody pointer.
 
virtual const IBodygetIBody () const =0
 Return a const IBody pointer.
 
virtual bool isFWall () const =0
 Boolean to denote whether or not this is a faceted wall.
 
virtual DVect getPosition () const =0
 Return a unique QStringList for each wall.
 
virtual DVect getCentRot () const =0
 Return the center of rotation about which a wall can rotate.
 
virtual DVect getVelocity () const =0
 Return the translational velocity of the wall.
 
virtual DAVect getAngVelocity () const =0
 Return the angular velocity of the wall.
 
virtual DVect getDisplacement () const =0
 Return the accumulated displacement of the point corresponding to position.
 
virtual DVect getForce () const =0
 Return the sum of all contact forces to which the wall does not react.
 
virtual DAVect getMoment () const =0
 Return the moment of all contacts with with wall.
 
virtual Quat getOrient () const =0
 Return the current orientation.
 
virtual void setPosition (const DVect &p)=0
 Set the wall position to p.
 
virtual void setCentRot (const DVect &p)=0
 Set the wall center of rotation to p.
 
virtual void setVelocity (const DVect &p)=0
 Set the wall translational velocity to p.
 
virtual void setAngVelocity (const DAVect &p)=0
 Set the wall angular velocity to p.
 
virtual void setDisplacement (const DVect &v)=0
 Set the wall accumulated displacement to v.
 
virtual void setOrient (const Quat &q)=0
 Set the orientation.
 
virtual void rotate (const DVect &rotp, const DVect &axis, const double &w, bool update=true, bool noThrow=false)=0
 
virtual bool setProperty (const QString &name, const QVariant &v)=0
 Set the properties in prop to v for all PieceMechanicals that are in this wall.
 
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 double getServoGainFactor () const =0
 Get wall servo gain relaxation factor.
 
virtual double getServoGain () const =0
 Get wall servo gain.
 
virtual double getServoVmax () const =0
 Get wall servo cap velocity.
 
virtual DVect getServoForce () const =0
 Get wall servo force.
 
virtual bool getServoActive () const =0
 Get wall servo activity status.
 
virtual int getServoGainUpdate () const =0
 Get wall servo gain update interval.
 
virtual void setServoGainFactor (const double &d)=0
 Set servo gain relaxation factor.
 
virtual void setServoGain (const double &d)=0
 Set servo gain.
 
virtual void setServoVmax (const double &d)=0
 Set servo cap velocity.
 
virtual void setServoForce (const DVect &f)=0
 Set servo force.
 
virtual void setServoActive (bool b)=0
 Set servo active status.
 
virtual void setServoGainUpdate (int i)=0
 Set servo gain update interval.
 

Static Public Attributes

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

Detailed Description

Interface for a generic wall. This is the interface for a generic wall. Specific wall types must derive from this. A wall is meant to be some geometric object with which other model components (balls and clumps) can interact but walls do not react. Thus they act to provide boundary conditions. This interface provides basic functionality for accessing the Body and Pieces associated with a wall. The properties that can be accessed through this interface are the position, rotation point, velocity, angular velocity, displacement, angular displacement, force, and moment. The meaning of the position is implementation dependent. All of these properties can be set with the exception of the force and moment.

Member Function Documentation

◆ getPosition()

virtual DVect pfc::IWall::getPosition ( ) const
pure virtual

Return a unique QStringList for each wall.

Return the wall position. This is implementation dependent.

◆ rotate()

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

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