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)