39 m_restLengthDiff(restLengthDiff)
41 if (restLengthDiff < 0.0)
43 throw std::invalid_argument(
"You tried to push a rope!");
51 const std::vector<tgLinearString*> muscles = subject.
getAllMuscles();
54 for (
size_t i = 0; i < muscles.size(); ++i)
57 assert(pMuscle != NULL);
65 double desiredRestLength = pMuscle->
getStartLength() - m_restLengthDiff;
76 throw std::invalid_argument(
"dt is not positive");
82 const std::vector<tgLinearString*> muscles = subject.
getAllMuscles();
85 for (
size_t i = 0; i < muscles.size(); ++i)
88 assert(pMuscle != NULL);
91 double desiredRestLength = pMuscle->
getStartLength() - m_restLengthDiff;
T6RestLengthController(const double restLengthDiff=4)
Contains the definition of class T6Model. $Id$.
void setRestLength(double newLength, float dt)
Contains the definition of class T6RestLengthController.
Contains the definition of class tgLinearString.
virtual void onSetup(T6Model &subject)
const std::vector< tgLinearString * > & getAllMuscles() const
virtual const double getStartLength() const
virtual void onStep(T6Model &subject, double dt)