1 #ifndef SimTK_SIMBODY_CABLE_SPRING_H_
2 #define SimTK_SIMBODY_CABLE_SPRING_H_
117 Real defaultStiffness,
118 Real defaultSlackLength,
119 Real defaultDissipationCoef);
200 Real stiffness)
const;
209 Real slackLength)
const;
218 Real dissipationCoef)
const;
This file declares the CablePath and CableObstacle classes.
#define SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS(DERIVED, DERIVED_IMPL, PARENT)
Definition: PrivateImplementation.h:343
Includes internal headers providing declarations for the basic SimTK Core classes,...
Every Simbody header and source file should include this header before any other Simbody header.
#define SimTK_SIMBODY_EXPORT
Definition: Simbody/include/simbody/internal/common.h:68
This class represents the path of a frictionless cable from an origin point fixed to a body,...
Definition: CablePath.h:92
This force element implements a passive elastic element (like a rubber band) that follows a frictionl...
Definition: CableSpring.h:90
Real getLengthDot(const State &state) const
Return the current rate of length change (time derivative of length) of the CablePath that underlies ...
const CableSpring & setDissipationCoef(State &state, Real dissipationCoef) const
Set the dissipation coefficient c that will be used for this cable spring when evaluated using this S...
Real getDefaultSlackLength() const
Return the slack length L0 that will be used by default for this cable spring.
CableSpring & setDefaultDissipationCoef(Real dissipation)
Set the dissipation coefficient c that will be used by default for this cable spring; must be nonnega...
CableSpring(GeneralForceSubsystem &forces, const CablePath &path, Real defaultStiffness, Real defaultSlackLength, Real defaultDissipationCoef)
Create an elastic force element that follows a given CablePath and add it to a GeneralForceSubsystem.
Real getSlackLength(const State &state) const
Return the slack length L0 currently being used for this cable spring by this State.
Real getPowerDissipation(const State &state) const
Obtain the rate at which energy is being dissipated by this cable spring, that is,...
Real getDissipatedEnergy(const State &state) const
Obtain the total amount of energy dissipated by this cable spring since some arbitrary starting point...
CableSpring & setDefaultStiffness(Real stiffness)
Set the stiffness (spring constant) k that will be used by default for this cable spring; must be non...
Real getTension(const State &state) const
Return the current level of tension in the cable spring.
const CablePath & getCablePath() const
Get a reference to the CablePath that is used to determine the routing of this cable spring force ele...
Real getLength(const State &state) const
Return the current length of the CablePath that underlies this cable spring element.
Real getDefaultDissipationCoef() const
Return the dissipation coefficient c that will be used by default for this cable spring.
const CableSpring & setStiffness(State &state, Real stiffness) const
Set the stiffness (spring constant) k that will be used for this cable spring when evaluated using th...
Real getDefaultStiffness() const
Return the stiffnesses k that will be used by default for this cable spring.
CableSpring()
Default constructor creates an empty handle.
Definition: CableSpring.h:122
void setDissipatedEnergy(State &state, Real energy) const
Set the accumulated dissipated energy to an arbitrary value.
Real getStiffness(const State &state) const
Return the stiffness (spring constant) k currently being used for this cable spring by this State.
Real getPotentialEnergy(const State &state) const
Obtain the potential energy stored in this cable spring in the current configuration.
Real getDissipationCoef(const State &state) const
Return the dissipation coefficient c currently being used for this cable spring by this State.
const CableSpring & setSlackLength(State &state, Real slackLength) const
Set the slack length L0 that will be used for this cable spring when evaluated using this State.
CableSpring & setDefaultSlackLength(Real slackLength)
Set the slack length L0 that will be used by default for this cable spring; must be nonnegative.
This is the base class from which all Force element handle classes derive.
Definition: Force.h:50
This is a concrete subsystem which can apply arbitrary forces to a MultibodySystem.
Definition: GeneralForceSubsystem.h:47
This object is intended to contain all state information for a SimTK::System, except topological info...
Definition: State.h:280
This is the top-level SimTK namespace into which all SimTK names are placed to avoid collision with o...
Definition: Assembler.h:37
SimTK_Real Real
This is the default compiled-in floating point type for SimTK, either float or double.
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:607