| 
    Simbody
    3.6
    
   | 
 
A linear damper that acts along or around a mobility coordinate to apply a generalized force there. More...
 Inheritance diagram for SimTK::Force::MobilityLinearDamper:Public Member Functions | |
| MobilityLinearDamper (GeneralForceSubsystem &forces, const MobilizedBody &mobod, MobilizerUIndex whichU, Real defaultDamping) | |
| Create a MobilityLinearDamper force element on a particular mobility (generalized speed).  More... | |
| MobilityLinearDamper () | |
| Default constructor creates an empty handle that can be assigned to refer to any MobilityLinearDamper object.  More... | |
| MobilityLinearDamper & | setDefaultDamping (Real defaultDamping) | 
| Provide a new value for the default damping constant c of this damper.  More... | |
| Real | getDefaultDamping () const | 
| Return the default value for the damper's damping constant c.  More... | |
| const MobilityLinearDamper & | setDamping (State &state, Real damping) const | 
| Change the value of the damping constant c in the given state; this may differ from the default value supplied at construction.  More... | |
| Real | getDamping (const State &state) const | 
| Return the value for the damping constant c that is stored in the given state.  More... | |
Deprecated  | |
Methods here are for backwards compatibility but have been replaced with better ones that you should use.  | |
| MobilityLinearDamper (GeneralForceSubsystem &forces, const MobilizedBody &mobod, int whichU, Real defaultDamping) | |
| Deprecated: Alternate signature for backwards compatibility – for safety you should prefer using the other constructor signature that takes a MobilizerUIndex rather than a plain int.  More... | |
  Public Member Functions inherited from SimTK::Force | |
| void | disable (State &) const | 
| Disable this force element, effectively removing it from the System for computational purposes (it is still using its ForceIndex, however).  More... | |
| void | enable (State &) const | 
| Enable this force element if it was previously disabled.  More... | |
| bool | isDisabled (const State &) const | 
| Test whether this force element is currently disabled in the supplied State.  More... | |
| void | setDisabledByDefault (bool shouldBeDisabled) | 
| Normally force elements are enabled when defined and can be disabled later.  More... | |
| bool | isDisabledByDefault () const | 
| Test whether this force element is disabled by default in which case it must be explicitly enabled before it will take effect.  More... | |
| void | calcForceContribution (const State &state, Vector_< SpatialVec > &bodyForces, Vector_< Vec3 > &particleForces, Vector &mobilityForces) const | 
| Calculate the force that would be applied by this force element if the given state were realized to Dynamics stage.  More... | |
| Real | calcPotentialEnergyContribution (const State &state) const | 
| Calculate the potential energy contribution that is made by this force element at the given state.  More... | |
| Force () | |
| Default constructor for Force handle base class does nothing.  More... | |
| operator ForceIndex () const | |
| Implicit conversion to ForceIndex when needed.  More... | |
| const GeneralForceSubsystem & | getForceSubsystem () const | 
| Get the GeneralForceSubsystem of which this Force is an element.  More... | |
| ForceIndex | getForceIndex () const | 
| Get the index of this force element within its parent force subsystem.  More... | |
  Public Member Functions inherited from SimTK::PIMPLHandle< Force, ForceImpl, true > | |
| bool | isEmptyHandle () const | 
| Returns true if this handle is empty, that is, does not refer to any implementation object.  More... | |
| bool | isOwnerHandle () const | 
| Returns true if this handle is the owner of the implementation object to which it refers.  More... | |
| bool | isSameHandle (const Force &other) const | 
| Determine whether the supplied handle is the same object as "this" PIMPLHandle.  More... | |
| void | disown (Force &newOwner) | 
| Give up ownership of the implementation to an empty handle.  More... | |
| PIMPLHandle & | referenceAssign (const Force &source) | 
| "Copy" assignment but with shallow (pointer) semantics.  More... | |
| PIMPLHandle & | copyAssign (const Force &source) | 
| This is real copy assignment, with ordinary C++ object ("value") semantics.  More... | |
| void | clearHandle () | 
| Make this an empty handle, deleting the implementation object if this handle is the owner of it.  More... | |
| const ForceImpl & | getImpl () const | 
| Get a const reference to the implementation associated with this Handle.  More... | |
| ForceImpl & | updImpl () | 
| Get a writable reference to the implementation associated with this Handle.  More... | |
| int | getImplHandleCount () const | 
| Return the number of handles the implementation believes are referencing it.  More... | |
Additional Inherited Members | |
  Public Types inherited from SimTK::PIMPLHandle< Force, ForceImpl, true > | |
| typedef PIMPLHandle< Force, ForceImpl, PTR > | HandleBase | 
| typedef HandleBase | ParentHandle | 
  Protected Member Functions inherited from SimTK::Force | |
| Force (ForceImpl *r) | |
| Use this in a derived Force handle class constructor to supply the concrete implementation object to be stored in the handle base.  More... | |
  Protected Member Functions inherited from SimTK::PIMPLHandle< Force, ForceImpl, true > | |
| PIMPLHandle () | |
| The default constructor makes this an empty handle.  More... | |
| PIMPLHandle (ForceImpl *p) | |
| This provides consruction of a handle referencing an existing implementation object.  More... | |
| PIMPLHandle (const PIMPLHandle &source) | |
| The copy constructor makes either a deep (value) or shallow (reference) copy of the supplied source PIMPL object, based on whether this is a "pointer
semantics" (PTR=true) or "object (value) semantics" (PTR=false, default) class.  More... | |
| ~PIMPLHandle () | |
| Note that the destructor is non-virtual.  More... | |
| PIMPLHandle & | operator= (const PIMPLHandle &source) | 
| Copy assignment makes the current handle either a deep (value) or shallow (reference) copy of the supplied source PIMPL object, based on whether this is a "pointer sematics" (PTR=true) or "object (value) semantics" (PTR=false, default) class.  More... | |
| void | setImpl (ForceImpl *p) | 
| Set the implementation for this empty handle.  More... | |
| bool | hasSameImplementation (const Force &other) const | 
| Determine whether the supplied handle is a reference to the same implementation object as is referenced by "this" PIMPLHandle.  More... | |
A linear damper that acts along or around a mobility coordinate to apply a generalized force there.
The damping constant c is provided, with the generated force being -c*u where u is the mobility's generalized speed. This is meaningful on any mobility, since all our generalized speeds have physical meaning. This is not a potential force and hence does not contribute to potential energy.
| SimTK::Force::MobilityLinearDamper::MobilityLinearDamper | ( | GeneralForceSubsystem & | forces, | 
| const MobilizedBody & | mobod, | ||
| MobilizerUIndex | whichU, | ||
| Real | defaultDamping | ||
| ) | 
Create a MobilityLinearDamper force element on a particular mobility (generalized speed).
| [in,out] | forces | The subsystem to which this force should be added. | 
| [in] | mobod | Mobilizer to which the force should be applied. | 
| [in] | whichU | To which of the mobilizer's mobilities (generalized speeds) u should this force be applied (first is 0)? | 
| [in] | defaultDamping | The default value for the damping constant c. | 
Default constructor creates an empty handle that can be assigned to refer to any MobilityLinearDamper object.
      
  | 
  inline | 
Deprecated: Alternate signature for backwards compatibility – for safety you should prefer using the other constructor signature that takes a MobilizerUIndex rather than a plain int.
| MobilityLinearDamper& SimTK::Force::MobilityLinearDamper::setDefaultDamping | ( | Real | defaultDamping | ) | 
Provide a new value for the default damping constant c of this damper.
This is a topological change because it affects the value that the containing System's default state will have when realizeTopology() is called. This is for use during construction, not for during a simulation where you should be using setDamping() to set the damping constant in a State rather than in the System.
| [in] | defaultDamping | The default value for the damping constant c. | 
| Real SimTK::Force::MobilityLinearDamper::getDefaultDamping | ( | ) | const | 
Return the default value for the damper's damping constant c.
This is normally set at construction but can be modified with setDefaultDamping().
| const MobilityLinearDamper& SimTK::Force::MobilityLinearDamper::setDamping | ( | State & | state, | 
| Real | damping | ||
| ) | const | 
Change the value of the damping constant c in the given state; this may differ from the default value supplied at construction.
| [in,out] | state | The State in which the damping constant is to be changed. | 
| [in] | damping | The new damping constant c (>= 0) that overrides the default. | 
Changing the damping constant invalidates Stage::Dynamics and above in the state since it can affect force generation.
Return the value for the damping constant c that is stored in the given state.
Note that this is not the same thing as the default damping constant that was supplied on construction or in setDefaultDamping().