1 #ifndef SimTK_SIMBODY_FORCE_H_     2 #define SimTK_SIMBODY_FORCE_H_    33 class SimbodyMatterSubsystem;
    34 class GeneralForceSubsystem;
    42 #ifndef SimTK_SIMBODY_DEFINING_FORCE    43     extern template class PIMPLHandle<Force, ForceImpl, true>;
    62     void disable(
State&) 
const;
    66     void enable(
State&) 
const;
    70     bool isDisabled(
const State&) 
const;
    76     void setDisabledByDefault(
bool shouldBeDisabled);
    80     bool isDisabledByDefault() 
const;
   128     void calcForceContribution(
const State&          state,
   131                                Vector&               mobilityForces) 
const;
   143     Real calcPotentialEnergyContribution(
const State& state) 
const;
   185     class TwoPointLinearSpringImpl;
   186     class TwoPointLinearDamperImpl;
   187     class TwoPointConstantForceImpl;
   188     class MobilityLinearSpringImpl;
   189     class MobilityLinearDamperImpl;
   190     class MobilityConstantForceImpl;
   191     class MobilityLinearStopImpl;
   192     class MobilityDiscreteForceImpl;
   193     class DiscreteForcesImpl;
   194     class LinearBushingImpl;
   195     class ConstantForceImpl;
   196     class ConstantTorqueImpl;
   197     class GlobalDamperImpl;
   198     class ThermostatImpl;
   199     class UniformGravityImpl;
   383     Vec3 getGravity() 
const;
   384     void setGravity(
const Vec3& g);
   385     Real getZeroHeight() 
const;
   386     void setZeroHeight(
Real height);
   392 #endif // SimTK_SIMBODY_FORCE_H_ This is the base class from which all Force element handle classes derive. 
Definition: Force.h:50
 
A constant force applied to a body station. 
Definition: Force.h:313
 
This force element represents a bushing acting to connect a frame F fixed on one body (B1) to a frame...
Definition: Force_LinearBushing.h:101
 
This is a feedback-controlled force that uses Nose'-Hoover chains to maintain a particular temperatur...
Definition: Force_Thermostat.h:131
 
This is the vector class intended to appear in user code for large, variable size column vectors...
Definition: BigMatrix.h:171
 
This is the top-level SimTK namespace into which all SimTK names are placed to avoid collision with o...
Definition: Assembler.h:37
 
This force element represents a uniform gravitational field applied to a set of bodies. 
Definition: Force_Gravity.h:70
 
A linear spring that acts along or around a mobility coordinate to apply a generalized force there...
Definition: Force_MobilityLinearSpring.h:49
 
A force which resists changes in the distance between two points, acting along the line between those...
Definition: Force.h:254
 
TwoPointLinearDamper()
Default constructor creates an empty handle. 
Definition: Force.h:269
 
A discrete mobility (generalized) force f applied to a particular mobility that is specified at const...
Definition: Force_MobilityDiscreteForce.h:52
 
Model a compliant stop element that acts to keep a mobilizer coordinate q within specified bounds...
Definition: Force_MobilityLinearStop.h:65
 
Every Simbody header and source file should include this header before any other Simbody header...
 
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:593
 
This object is intended to contain all state information for a SimTK::System, except topological info...
Definition: State.h:276
 
A constant generalized force f (a scalar) applied to a mobility. 
Definition: Force_MobilityConstantForce.h:45
 
GlobalDamper()
Default constructor creates an empty handle. 
Definition: Force.h:359
 
This class is used to define new force elements. 
Definition: Force_Custom.h:193
 
Includes internal headers providing declarations for the basic SimTK Core classes, including Simmatrix. 
 
ConstantTorque()
Default constructor creates an empty handle. 
Definition: Force.h:335
 
This type represents the index of a Force element within its subsystem. 
 
#define SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS(DERIVED, DERIVED_IMPL, PARENT)
Definition: PrivateImplementation.h:343
 
Force()
Default constructor for Force handle base class does nothing. 
Definition: Force.h:152
 
A constant force f (a signed scalar) which acts along the line between two points, specified as a station on each of two bodies. 
Definition: Force.h:285
 
TwoPointLinearSpring()
Default constructor creates an empty handle. 
Definition: Force.h:237
 
ConstantForce()
Default constructor creates an empty handle. 
Definition: Force.h:318
 
A constant torque to a body. 
Definition: Force.h:330
 
Force(ForceImpl *r)
Use this in a derived Force handle class constructor to supply the concrete implementation object to ...
Definition: Force.h:206
 
This is a concrete subsystem which can apply arbitrary forces to a MultibodySystem. 
Definition: GeneralForceSubsystem.h:47
 
#define SimTK_SIMBODY_EXPORT
Definition: Simbody/include/simbody/internal/common.h:72
 
A linear damper that acts along or around a mobility coordinate to apply a generalized force there...
Definition: Force_MobilityLinearDamper.h:46
 
A MobilizedBody is Simbody's fundamental body-and-joint object used to parameterize a system's motion...
Definition: MobilizedBody.h:167
 
TwoPointConstantForce()
Default constructor creates an empty handle. 
Definition: Force.h:300
 
A linear spring between two points, specified as a station on each of two bodies. ...
Definition: Force.h:221
 
This subsystem contains the bodies ("matter") in the multibody system, the mobilizers (joints) that d...
Definition: SimbodyMatterSubsystem.h:133
 
Arbitrary discrete body forces and mobility (generalized) forces. Useful for applying external forces...
Definition: Force_DiscreteForces.h:41
 
A general energy "drain" on the system. 
Definition: Force.h:354