chrono::ChFunctionSetpointCallback Class Referenceabstract

## Description

Interface for functions that uses a callback to return a Y value, as a ZERO_ORDER_HOLD (zero order hold) block.

This means that the Y value does NOT change if you call GetVal(double x) with different values of x, unless you keep the setpoint Y updated via multiple callback calls. Also first two derivatives (speed, accel.) will persist until next SetSetpoint() call. Derived classes must implement the SetpointCallback() function.

`#include <ChFunctionSetpoint.h>`

Inheritance diagram for chrono::ChFunctionSetpointCallback:

Collaboration diagram for chrono::ChFunctionSetpointCallback:

## Public Member Functions | |

ChFunctionSetpointCallback (const ChFunctionSetpointCallback &other) | |

virtual double | SetpointCallback (double x)=0 |

Set the setpoint, and compute its derivatives (speed, acceleration). | |

virtual void | Update (double x) override |

Update the function by invoking the callback function SetpointCallback. | |

Public Member Functions inherited from chrono::ChFunctionSetpoint | |

ChFunctionSetpoint (const ChFunctionSetpoint &other) | |

virtual ChFunctionSetpoint * | Clone () const override |

"Virtual" copy constructor (covariant return type). | |

virtual double | GetVal (double x) const override |

Return the function output for input x. More... | |

virtual double | GetDer (double x) const override |

Return the first derivative of the function. More... | |

virtual double | GetDer2 (double x) const override |

Return the second derivative of the function. More... | |

virtual void | SetSetpoint (double setpoint, double x) |

Set the setpoint, and compute its derivatives (speed, acceleration) automatically by backward differentiation (only if x is called at increasing small steps). More... | |

virtual void | SetSetpointAndDerivatives (double setpoint, double setpoint_dx, double setpoint_dxdx) |

Set the setpoint, and also its derivatives. More... | |

double | GetSetpoint () |

Get the last set setpoint. | |

virtual void | ArchiveOut (ChArchiveOut &archive_out) override |

Method to allow serialization of transient data to archives. | |

virtual void | ArchiveIn (ChArchiveIn &archive_in) override |

Method to allow de-serialization of transient data from archives. | |

Public Member Functions inherited from chrono::ChFunction | |

ChFunction (const ChFunction &other) | |

virtual Type | GetType () const |

Return the unique function type identifier. | |

virtual double | GetDer3 (double x) const |

Return the third derivative of the function. More... | |

virtual double | GetDerN (double x, int der_order) const |

Return the Nth derivative of the function (up to 3rd derivative). More... | |

virtual double | GetWeight (double x) const |

Return the weight of the function (useful for applications where you need to mix different weighted ChFunctions) | |

virtual double | GetMax (double xmin, double xmax, double sampling_step, int der_order) const |

Estimate the maximum of the function (or its der_order derivative) in the range [xmin, xmax], using sampling method. | |

virtual double | GetMin (double xmin, double xmax, double sampling_step, int der_order) const |

Estimate the minimum of the function (or its der_order derivative) in the range [xmin, xmax], using sampling method. | |

virtual double | GetMean (double xmin, double xmax, double sampling_step, int der_order) const |

Estimate the mean of the function (or its der_order derivative) in the range [xmin, xmax], using sampling method. | |

virtual double | GetSquaredMean (double xmin, double xmax, double sampling_step, int der_order) const |

Estimate the squared mean of the function (or its der_order derivative) in the range [xmin, xmax], using sampling method. | |

virtual double | GetIntegral (double xmin, double xmax, double sampling_step, int der_order) const |

Estimate the integral of the function (or its der_order derivative) over the range [xmin, xmax], using sampling method. | |

virtual double | GetPositiveAccelerationCoeff () const |

Computes the positive acceleration coefficient (inherited classes should override this). | |

virtual double | GetNegativeAccelerationCoeff () const |

Compute the negative acceleration coefficient (inherited classes should override this). | |

virtual double | GetVelocityCoefficient () const |

Compute the velocity coefficient (inherited classes must override this). | |

virtual void | OutputToASCIIFile (std::ostream &file, double xmin, double xmax, int samples, char delimiter) |

Store X-Y pairs to an ASCII File. More... | |

virtual ChMatrixDynamic | SampleUpToDerN (double xmin, double xmax, double step, int derN=0) |

Sample function on given interval [xmin, xmax], up to derN derivative (0 being the function ouput itself). More... | |

double | operator() (double arg) const |

Alias operator of the GetVal function. | |

## Additional Inherited Members | |

Public Types inherited from chrono::ChFunction | |

enum | Type { BSPLINE,
CONSTANT,
CONSTACC,
CONSTJERK,
CUSTOM,
CYCLOIDAL,
DERIVATIVE,
FILLET3,
INTEGRAL,
INTERP,
LAMBDA,
MIRROR,
OPERATOR,
POLY,
POLY23,
POLY345,
RAMP,
REPEAT,
SEQUENCE,
SINE,
SINE_STEP
} |

Enumeration of function types. | |

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

- /builds/uwsbel/chrono/src/chrono/functions/ChFunctionSetpoint.h
- /builds/uwsbel/chrono/src/chrono/functions/ChFunctionSetpoint.cpp