1#ifndef MUSCLEFUNCTIONFACTORY_H_
2#define MUSCLEFUNCTIONFACTORY_H_
37#include "../geometry/SmoothSegmentedFunction.h"
38#include "../geometry/SegmentedQuinticBezierToolkit.h"
261 double minActiveForceLengthValue,
264 const std::string& curveName,
266 ::SmoothSegmentedFunction&
267 smoothSegmentedFunctionToUpdate);
398 double concCurviness,
400 const std::string& curveName,
402 SmoothSegmentedFunction&
403 smoothSegmentedFunctionToUpdate);
429 double concCurviness,
431 const std::string& muscleName,
433 SmoothSegmentedFunction&
434 smoothSegmentedFunctionToUpdate);
503 const std::string& curveName,
505 SmoothSegmentedFunction&
506 smoothSegmentedFunctionToUpdate);
581 const std::string& curveName,
583 SmoothSegmentedFunction&
584 smoothSegmentedFunctionToUpdate);
656 const std::string& curveName,
658 SmoothSegmentedFunction&
659 smoothSegmentedFunctionToUpdate);
740 const std::string& curveName,
742 SmoothSegmentedFunction&
743 smoothSegmentedFunctionToUpdate);
818 const std::string& curveName,
820 SmoothSegmentedFunction&
821 smoothSegmentedFunctionToUpdate);
static void createFiberForceVelocityCurve(double fmaxE, double dydxC, double dydxNearC, double dydxIso, double dydxE, double dydxNearE, double concCurviness, double eccCurviness, const std::string &curveName, RigidBodyDynamics::Addons::Geometry::SmoothSegmentedFunction &smoothSegmentedFunctionToUpdate)
static void createFiberForceLengthCurve(double eZero, double eIso, double kLow, double kIso, double curviness, const std::string &curveName, RigidBodyDynamics::Addons::Geometry::SmoothSegmentedFunction &smoothSegmentedFunctionToUpdate)
static void createFiberCompressiveForceLengthCurve(double l0, double kiso, double curviness, const std::string &curveName, RigidBodyDynamics::Addons::Geometry::SmoothSegmentedFunction &smoothSegmentedFunctionToUpdate)
static void createFiberForceVelocityInverseCurve(double fmaxE, double dydxC, double dydxNearC, double dydxIso, double dydxE, double dydxNearE, double concCurviness, double eccCurviness, const std::string &muscleName, RigidBodyDynamics::Addons::Geometry::SmoothSegmentedFunction &smoothSegmentedFunctionToUpdate)
static void createFiberActiveForceLengthCurve(double lce0, double lce1, double lce2, double lce3, double minActiveForceLengthValue, double plateauSlope, double curviness, const std::string &curveName, RigidBodyDynamics::Addons::Geometry ::SmoothSegmentedFunction &smoothSegmentedFunctionToUpdate)
static void createFiberCompressiveForcePennationCurve(double phi0, double kiso, double curviness, const std::string &curveName, RigidBodyDynamics::Addons::Geometry::SmoothSegmentedFunction &smoothSegmentedFunctionToUpdate)
static void createFiberCompressiveForceCosPennationCurve(double cosPhi0, double kiso, double curviness, const std::string &curveName, RigidBodyDynamics::Addons::Geometry::SmoothSegmentedFunction &smoothSegmentedFunctionToUpdate)
static void createTendonForceLengthCurve(double eIso, double kIso, double fToe, double curviness, const std::string &curveName, RigidBodyDynamics::Addons::Geometry::SmoothSegmentedFunction &smoothSegmentedFunctionToUpdate)