#include <rdSetPoint.h>
Inheritance diagram for rdSetPoint:

Public Member Functions | |
| rdSetPoint (int aBodyA=0, int aBodyB=0, int aNYP=3) | |
| Default constructor. | |
| rdSetPoint (IDOM_Element *aElement, int aNYP=3) | |
| Construct an actuator from an XML node. | |
| rdSetPoint (const rdSetPoint &aContact) | |
| Copy constructor. | |
| virtual | ~rdSetPoint () |
| Destructor. | |
| rdSetPoint & | operator= (const rdSetPoint &aSetPoint) |
| Assignment operator. | |
| virtual void | setPseudoStates (const double aYP[]) |
| Set the current values of the pseudostates. | |
| virtual void | getPseudoStates (double rYP[]) const |
| Get the current values of the pseudostates. | |
| void | setTangentialStiffness (double aKTP) |
| Set tangential stiffness. | |
| double | getTangentialStiffness () const |
| Get tangential stiffness. | |
| void | setTangentialViscosity (double aKTV) |
| Set tangential viscosity. | |
| double | getTangentialViscosity () const |
| Get tangential viscosity. | |
| void | setFriction (double aMU) |
| Set friction coefficient. | |
| double | getFriction () const |
| Get friction coefficient. | |
| virtual void | updatePseudoStates () |
| Update the pseudostates. | |
| virtual bool | check () const |
| Check that this force actuator has a valid set of states. | |
| double | computeTangentialForce (double aNormalForce, double rTangentForce[3], double rDFFric[3]) |
| Compute the tangential contact force exerted on BodyB expressed in the local frame of BodyA. | |
| bool | computeNewSetPoint (double aTangentForce, double rSetPoint[3]) const |
| Compute the setpoint (PointA) so that it is consistent with the displacement of PointB amd the elastic properties of the tangential spring. | |
| virtual void | updateObject (bool aDeep=true) |
| Update this object based on its XML node. | |
| virtual void | updateNode (bool aDeep=true) |
| Update the XML node representing this object. | |
| virtual void | generateNode (IDOM_Element *aParent) |
| Generate an XML node representing this object. | |
| void | updateData () |
| Update the member data of this object based on its XML node. | |
Static Public Attributes | |
| const char | PROP_TANGENTIAL_STIFFNESS [] = "tangential_stiffness" |
| const char | PROP_TANGENTIAL_VISCOSITY [] = "tangential_viscosity" |
| const char | PROP_FRICTION [] = "coefficient_of_friction" |
Protected Attributes | |
| double | _mu |
| Coefficient of friction. | |
Private Member Functions | |
| void | setNull () |
| Set the data members of this actuator to their null values. | |
The set point moves on the body whose direction and surface normal are active.
|
||||||||||||||||
|
Default constructor. rdSetPoint has three pseudo-states, which are the coordinates of contact PointA. Derived classes should be aware of this.
|
|
||||||||||||
|
Construct an actuator from an XML node. rdSetPoint has three pseudo-states, which are the coordinates of contact PointA. Derived classes should be aware of this.
|
|
|
Copy constructor.
|
|
||||||||||||
|
Compute the setpoint (PointA) so that it is consistent with the displacement of PointB amd the elastic properties of the tangential spring. The viscous properties are not considered in this calculation.
|
|
||||||||||||||||
|
Compute the tangential contact force exerted on BodyB expressed in the local frame of BodyA. Note that because of damping, the tangential force vector does not necessarily lie along the line directed from PointA to PointB. This method returns the correction made to the tangential force in order to maintain friction constraints. NOTE that this method neither sets the tangential force or friction correction in base class rdForce (rdForce::_ftA and rdForce::_dfFric). It is left to derived classes to set these member variables. This method does set the values of the elastic and viscous components of the tangent force. Corrections are not made to these quantities to enforce frictional constraints. Only the resultant tangential force has been changed to satisfy friction constraints.
|
|
|
Generate an XML node representing this object.
Reimplemented from rdContactForce. Reimplemented in rdLinearSetPoint, and rdPolynomialSetPoint. |
|
|
Get friction coefficient.
|
|
|
Get the current values of the pseudostates.
Reimplemented from rdActuator. |
|
|
Get tangential stiffness.
|
|
|
Get tangential viscosity.
|
|
|
Assignment operator.
|
|
|
Set friction coefficient. Sliding occurs when the tangential force exceeds the product of the fricitonal coefficient and the normal force.
|
|
|
Set the current values of the pseudostates.
Reimplemented from rdActuator. |
|
|
Set tangential stiffness.
|
|
|
Set tangential viscosity.
|
|
|
Update the member data of this object based on its XML node. Member objects (children) are not updated. Reimplemented from rdContactForce. Reimplemented in rdLinearSetPoint, and rdPolynomialSetPoint. |
|
|
Update the XML node representing this object.
Reimplemented from rdContactForce. Reimplemented in rdLinearSetPoint, and rdPolynomialSetPoint. |
|
|
Update this object based on its XML node.
Reimplemented from rdContactForce. Reimplemented in rdLinearSetPoint, and rdPolynomialSetPoint. |
|
|
Update the pseudostates. Pseudostates are quantities that are not integrated but that depend on the time history of an integration (e.g., spring set points). This method assumes that the model states are up-to-date (i.e., that model->set(t,x,y) or a similar method has been called). rdSetPoint has three pseudostates that are the coordinates of the contact point on BodyA.
Implements rdContactForce. |
1.3