1#ifndef SMOOTHSEGMENTEDFUNCTION_H_
2#define SMOOTHSEGMENTEDFUNCTION_H_
42#include <rbdl/rbdl_config.h>
149 double x0,
double x1,
150 double y0,
double y1,
151 double dydx0,
double dydx1,
152 const std::string& name);
197 double x0,
double x1,
198 double y0,
double y1,
199 double dydx0,
double dydx1,
200 const std::string& name);
209 void shift(
double xShift,
double yShift);
221 void scale(
double xScale,
double yScale);
260 double xGuess)
const;
428 const std::string& fileNameWithoutExtension,
430 double domainMax)
const;
471 double domainMax)
const;
491 std::vector<RigidBodyDynamics::Math::VectorNd>
_mXVec;
494 std::vector<RigidBodyDynamics::Math::VectorNd>
_mYVec;
525 friend class SmoothSegmentedFunctionFactory;
544 std::vector<std::string>& colnames,
545 const std::string& path,
546 const std::string& filename)
const;
void scale(double xScale, double yScale)
int getArgumentSize() const
void shift(double xShift, double yShift)
SmoothSegmentedFunction(const RigidBodyDynamics::Math::MatrixNd &mX, const RigidBodyDynamics::Math::MatrixNd &mY, double x0, double x1, double y0, double y1, double dydx0, double dydx1, const std::string &name)
void getYControlPoints(RigidBodyDynamics::Math::MatrixNd &mat) const
double calcDerivative(const std::vector< int > &derivComponents, const RigidBodyDynamics::Math::VectorNd &x) const
std::vector< RigidBodyDynamics::Math::VectorNd > _mYVec
double calcValue(double x) const
void printCurveToCSVFile(const std::string &path, const std::string &fileNameWithoutExtension, double domainMin, double domainMax) const
double calcInverseValue(double y, double xGuess) const
void printMatrixToFile(RigidBodyDynamics::Math::MatrixNd &data, std::vector< std::string > &colnames, const std::string &path, const std::string &filename) const
SmoothSegmentedFunction()
std::string getName() const
double calcDerivative(double x, int order) const
RigidBodyDynamics::Math::MatrixNd calcSampledCurve(int maxOrder, double domainMin, double domainMax) const
void setName(const std::string &name)
void getXControlPoints(RigidBodyDynamics::Math::MatrixNd &mat) const
void updSmoothSegmentedFunction(const RigidBodyDynamics::Math::MatrixNd &mX, const RigidBodyDynamics::Math::MatrixNd &mY, double x0, double x1, double y0, double y1, double dydx0, double dydx1, const std::string &name)
std::vector< RigidBodyDynamics::Math::VectorNd > _mXVec
int getMaxDerivativeOrder() const
double calcValue(const RigidBodyDynamics::Math::VectorNd &x) const
RigidBodyDynamics::Math::VectorNd getCurveDomain() const