Force::MobilityConstantForceImpl::MobilityConstantForceImpl (const MobilizedBody& mobod, MobilizerUIndex whichU, Real defaultForce) : m_matter(mobod.getMatterSubsystem()), m_mobodIx(mobod.getMobilizedBodyIndex()), m_whichU(whichU), m_defaultForce(defaultForce) { }
Force::MobilityLinearDamperImpl:: MobilityLinearDamperImpl(const MobilizedBody& mobod, MobilizerUIndex whichU, Real defaultDamping) : m_matter(mobod.getMatterSubsystem()), m_mobodIx(mobod.getMobilizedBodyIndex()), m_whichU(whichU), m_defaultDamping(defaultDamping) { }
Force::MobilityLinearSpringImpl:: MobilityLinearSpringImpl(const MobilizedBody& mobod, MobilizerQIndex whichQ, Real defaultStiffness, Real defaultQZero) : m_matter(mobod.getMatterSubsystem()), m_mobodIx(mobod.getMobilizedBodyIndex()), m_whichQ(whichQ), m_defaultStiffness(defaultStiffness), m_defaultQZero(defaultQZero) { }
Force::MobilityLinearStopImpl::MobilityLinearStopImpl (const MobilizedBody& mobod, MobilizerQIndex whichQ, Real defaultStiffness, Real defaultDissipation, Real defaultQLow, Real defaultQHigh) : m_matter(mobod.getMatterSubsystem()), m_mobodIx(mobod.getMobilizedBodyIndex()), m_whichQ(whichQ), m_defStiffness(defaultStiffness), m_defDissipation(defaultDissipation), m_defQLow(defaultQLow), m_defQHigh(defaultQHigh) { }
Force::ConstantTorqueImpl::ConstantTorqueImpl(const MobilizedBody& body, const Vec3& torque) : matter(body.getMatterSubsystem()), body(body.getMobilizedBodyIndex()), torque(torque) { }
Force::TwoPointLinearSpringImpl::TwoPointLinearSpringImpl(const MobilizedBody& body1, const Vec3& station1, const MobilizedBody& body2, const Vec3& station2, Real k, Real x0) : matter(body1.getMatterSubsystem()), body1(body1.getMobilizedBodyIndex()), station1(station1), body2(body2.getMobilizedBodyIndex()), station2(station2), k(k), x0(x0) { }
Force::ConstantForceImpl::ConstantForceImpl(const MobilizedBody& body, const Vec3& station, const Vec3& force) : matter(body.getMatterSubsystem()), body(body.getMobilizedBodyIndex()), station(station), force(force) { }
Force::TwoPointConstantForceImpl::TwoPointConstantForceImpl(const MobilizedBody& body1, const Vec3& station1, const MobilizedBody& body2, const Vec3& station2, Real force) : matter(body1.getMatterSubsystem()), body1(body1.getMobilizedBodyIndex()), station1(station1), body2(body2.getMobilizedBodyIndex()), station2(station2), force(force) { }
Force::TwoPointLinearDamperImpl::TwoPointLinearDamperImpl(const MobilizedBody& body1, const Vec3& station1, const MobilizedBody& body2, const Vec3& station2, Real damping) : matter(body1.getMatterSubsystem()), body1(body1.getMobilizedBodyIndex()), station1(station1), body2(body2.getMobilizedBodyIndex()), station2(station2), damping(damping) { }
MyTorqueLimitedMotor (const MobilizedBody& mobod, MobilizerUIndex whichU, Real gain, Real torqueLimit) : m_matter(mobod.getMatterSubsystem()), m_mobod(mobod), m_whichU(whichU), m_torqueGain(gain), m_torqueLimit(torqueLimit) { assert(gain >= 0 && torqueLimit >= 0); }