Itasca C++ Interface
|
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 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 IWall * | getNext ()=0 |
Return the next IWall object in the global list, or 0 if it is the last set. | |
virtual const IWall * | getNext () const =0 |
Return the next const IWall object in the global list, or 0 if it is the last set. | |
virtual IPiece * | getFirstIPiece ()=0 |
Return the first IPiece in this wall. | |
virtual const IPiece * | getFirstIPiece () const =0 |
Return the first const IPiece in this wall. | |
virtual IPieceMechanical * | getFirstIPieceMechanical ()=0 |
Return the first IPieceMechanical in this wall. | |
virtual const IPieceMechanical * | getFirstIPieceMechanical () const =0 |
Return the first const IPieceMechanical in this wall. | |
virtual IBody * | getIBody ()=0 |
Return an IBody pointer. | |
virtual const IBody * | getIBody () 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. | |
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.
|
pure virtual |
Return a unique QStringList for each wall.
Return the wall position. This is implementation dependent.
|
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