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...
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...
const CablePath & getCablePath() const
Get a reference to the CablePath that is used to determine the routing of this cable spring force ele...
Real getDefaultSlackLength() const
Return the slack length L0 that will be used by default for this cable spring.
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...
Real getTension(const State &state) const
Return the current level of tension in the cable spring.
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.
CableSpring & setDefaultDissipationCoef(Real dissipation)
Set the dissipation coefficient c that will be used by default for this cable spring; must be nonnega...
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
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.
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.
CableSpring & setDefaultStiffness(Real stiffness)
Set the stiffness (spring constant) k that will be used by default for this cable spring; must be non...
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.
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:606