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;
167 class TwoPointLinearSpring;
168 class TwoPointLinearDamper;
169 class TwoPointConstantForce;
170 class MobilityLinearSpring;
171 class MobilityLinearDamper;
172 class MobilityConstantForce;
173 class MobilityLinearStop;
174 class MobilityDiscreteForce;
175 class DiscreteForces;
178 class ConstantTorque;
181 class UniformGravity;
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_