OpenSim::PiecewiseLinearFunction Class Reference

#include <PiecewiseLinearFunction.h>

Inheritance diagram for OpenSim::PiecewiseLinearFunction:
OpenSim::Function OpenSim::Object

List of all members.

Public Member Functions

 PiecewiseLinearFunction ()
 Default constructor.
 PiecewiseLinearFunction (int aN, const double *aTimes, const double *aValues, const std::string &aName="")
 PiecewiseLinearFunction (const PiecewiseLinearFunction &aFunction)
 Copy constructor.
virtual ~PiecewiseLinearFunction ()
 Destructor.
virtual Objectcopy () const
 Copy this object.
virtual void init (Function *aFunction)
 Initialize the function with X and Y values.
PiecewiseLinearFunctionoperator= (const PiecewiseLinearFunction &aFunction)
 Assignment operator.
int getSize () const
 Get size or number of independent data points (or number of coefficients) used to construct the function.
const Array< double > & getX () const
 Get the array of independent variables used to construct the function.
const Array< double > & getY () const
 Get the array of Y values for the function.
virtual const double * getXValues () const
 Get the array of independent variables used to construct the function.
virtual const double * getYValues () const
 Get the array of dependent variables used to construct the function.
virtual int getNumberOfPoints () const
virtual double getX (int aIndex) const
virtual double getY (int aIndex) const
virtual double getZ (int aIndex) const
virtual void setX (int aIndex, double aValue)
virtual void setY (int aIndex, double aValue)
virtual bool deletePoint (int aIndex)
virtual bool deletePoints (const Array< int > &indices)
virtual int addPoint (double aX, double aY)
double calcValue (const SimTK::Vector &x) const
 Calculate the value of this function at a particular point.
double calcDerivative (const std::vector< int > &derivComponents, const SimTK::Vector &x) const
 Calculate a partial derivative of this function at a particular point.
int getArgumentSize () const
 Get the number of components expected in the input vector.
int getMaxDerivativeOrder () const
 Get the maximum derivative order this Function object can calculate.
SimTK::Function * createSimTKFunction () const
virtual void updateFromXMLNode ()
 Update this object based on its XML node.

Protected Attributes

PropertyDblArray _propX
 Array of values for the independent variables (i.e., the knot sequence).
Array< double > & _x
PropertyDblArray _propY
 Y values.
Array< double > & _y

Constructor & Destructor Documentation

PiecewiseLinearFunction::PiecewiseLinearFunction (  ) 

Default constructor.

OpenSim::PiecewiseLinearFunction::PiecewiseLinearFunction ( int  aN,
const double *  aTimes,
const double *  aValues,
const std::string &  aName = "" 
)
PiecewiseLinearFunction::PiecewiseLinearFunction ( const PiecewiseLinearFunction aFunction  ) 

Copy constructor.

All data members of the specified function are copied.

Parameters:
aFunction PiecewiseLinearFunction object to be copied.
PiecewiseLinearFunction::~PiecewiseLinearFunction (  )  [virtual]

Destructor.


Member Function Documentation

int PiecewiseLinearFunction::addPoint ( double  aX,
double  aY 
) [virtual]
double OpenSim::PiecewiseLinearFunction::calcDerivative ( const std::vector< int > &  derivComponents,
const SimTK::Vector &  x 
) const [virtual]

Calculate a partial derivative of this function at a particular point.

Which derivative to take is specified by listing the input components with which to take it. For example, if derivComponents=={0}, that indicates a first derivative with respective to component 0. If derivComponents=={0, 0, 0}, that indicates a third derivative with respective to component 0. If derivComponents=={4, 7}, that indicates a partial second derivative with respect to components 4 and 7.

Parameters:
derivComponents the input components with respect to which the derivative should be taken. Its size must be less than or equal to the value returned by getMaxDerivativeOrder().
x the Vector of input arguments. Its size must equal the value returned by getArgumentSize().

Reimplemented from OpenSim::Function.

double OpenSim::PiecewiseLinearFunction::calcValue ( const SimTK::Vector &  x  )  const [virtual]

Calculate the value of this function at a particular point.

Parameters:
x the Vector of input arguments. Its size must equal the value returned by getArgumentSize().

Reimplemented from OpenSim::Function.

Object * PiecewiseLinearFunction::copy (  )  const [virtual]

Copy this object.

Returns:
Pointer to a copy of this object.

Implements OpenSim::Function.

SimTK::Function * PiecewiseLinearFunction::createSimTKFunction (  )  const [virtual]

Implements OpenSim::Function.

bool PiecewiseLinearFunction::deletePoint ( int  aIndex  )  [virtual]
bool PiecewiseLinearFunction::deletePoints ( const Array< int > &  indices  )  [virtual]
int PiecewiseLinearFunction::getArgumentSize (  )  const [virtual]

Get the number of components expected in the input vector.

Reimplemented from OpenSim::Function.

int PiecewiseLinearFunction::getMaxDerivativeOrder (  )  const [virtual]

Get the maximum derivative order this Function object can calculate.

Reimplemented from OpenSim::Function.

virtual int OpenSim::PiecewiseLinearFunction::getNumberOfPoints (  )  const [inline, virtual]
int PiecewiseLinearFunction::getSize (  )  const

Get size or number of independent data points (or number of coefficients) used to construct the function.

Returns:
Number of data points (or number of coefficients).
double PiecewiseLinearFunction::getX ( int  aIndex  )  const [virtual]
const Array< double > & PiecewiseLinearFunction::getX (  )  const

Get the array of independent variables used to construct the function.

For the number of independent variable data points use getN().

Returns:
Pointer to the independent variable data points.
See also:
getN();
const double * PiecewiseLinearFunction::getXValues (  )  const [virtual]

Get the array of independent variables used to construct the function.

For the number of independent variable data points use getN().

Returns:
Pointer to the independent variable data points.
See also:
getN();
double PiecewiseLinearFunction::getY ( int  aIndex  )  const [virtual]
const Array< double > & PiecewiseLinearFunction::getY (  )  const

Get the array of Y values for the function.

For the number of Y values use getNX().

Returns:
Pointer to the coefficients.
See also:
getCoefficients();
const double * PiecewiseLinearFunction::getYValues (  )  const [virtual]

Get the array of dependent variables used to construct the function.

Returns:
Pointer to the dependent variable data points.
virtual double OpenSim::PiecewiseLinearFunction::getZ ( int  aIndex  )  const [inline, virtual]
void PiecewiseLinearFunction::init ( Function aFunction  )  [virtual]

Initialize the function with X and Y values.

Parameters:
aN the number of X and Y values
aXValues the X values
aYValues the Y values
PiecewiseLinearFunction & PiecewiseLinearFunction::operator= ( const PiecewiseLinearFunction aFunction  ) 

Assignment operator.

Note that data members of the base class are also assigned.

Returns:
Reference to this object.

Reimplemented from OpenSim::Function.

void PiecewiseLinearFunction::setX ( int  aIndex,
double  aValue 
) [virtual]
void PiecewiseLinearFunction::setY ( int  aIndex,
double  aValue 
) [virtual]
void PiecewiseLinearFunction::updateFromXMLNode (  )  [virtual]

Update this object based on its XML node.

Reimplemented from OpenSim::Object.


Member Data Documentation

Array of values for the independent variables (i.e., the knot sequence).

This array must be monotonically increasing.

Y values.


The documentation for this class was generated from the following files:

Generated on Sun Sep 25 00:19:49 2011 for OpenSim by  doxygen 1.6.1