| 
    Simbody
    3.8
    
   | 
 
A constant force f (a signed scalar) which acts along the line between two points, specified as a station on each of two bodies. More...
 Inheritance diagram for SimTK::Force::TwoPointConstantForce:Public Member Functions | |
| TwoPointConstantForce (GeneralForceSubsystem &forces, const MobilizedBody &body1, const Vec3 &station1, const MobilizedBody &body2, const Vec3 &station2, Real force) | |
| Create a TwoPointConstantForce.  More... | |
| TwoPointConstantForce () | |
| Default constructor creates an empty handle.  More... | |
| SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS (TwoPointConstantForce, TwoPointConstantForceImpl, Force) | |
  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 constant force f (a signed scalar) which acts along the line between two points, specified as a station on each of two bodies.
A positive force acts to separate the points; negative pulls them together. The force magnitude is independent of the separation between the points. This force does not contribute to the potential energy, so adding it to a system will cause energy not to be conserved. It is an error if the two points become coincident, since we are unable to determine a direction for the force in that case.
| SimTK::Force::TwoPointConstantForce::TwoPointConstantForce | ( | GeneralForceSubsystem & | forces, | 
| const MobilizedBody & | body1, | ||
| const Vec3 & | station1, | ||
| const MobilizedBody & | body2, | ||
| const Vec3 & | station2, | ||
| Real | force | ||
| ) | 
Create a TwoPointConstantForce.
| forces | the subsystem to which this force should be added | 
| body1 | the first body to which the force should be applied | 
| station1 | the location on the first body at which the force should be applied | 
| body2 | the second body to which the force should be applied | 
| station2 | the location on the second body at which the force should be applied | 
| force | the magnitude of the force to apply | 
Default constructor creates an empty handle.
| SimTK::Force::TwoPointConstantForce::SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS | ( | TwoPointConstantForce | , | 
| TwoPointConstantForceImpl | , | ||
| Force | |||
| ) |