Project Chrono: chrono::ChFunctionLambda Class Reference

Public Member Functions | Protected Attributes | List of all members
chrono::ChFunctionLambda Class Reference
Chrono::Engine » Function objects

## Description

Lambda function wrapper Allows the usage of C++ lambda functions as ChFunction objects.

`#include <ChFunctionLambda.h>`

Inheritance diagram for chrono::ChFunctionLambda:
[legend]
Collaboration diagram for chrono::ChFunctionLambda:
[legend]

## Public Member Functions
virtual ChFunctionLambda * | Clone () const override
| "Virtual" copy constructor.
void | SetFunction (std::function< double(double)> function)
std::function< double(double)> | GetFunction () const
virtual double | GetVal (double x) const override
| Return the function output for input x.
virtual Type | GetType () const override
| Return the unique function type identifier.
Public Member Functions inherited from chrono::ChFunction
| ChFunction (const ChFunction &other)
virtual double | GetDer (double x) const
| Return the first derivative of the function.
virtual double | GetDer2 (double x) const
| Return the second derivative of the function.
virtual double | GetDer3 (double x) const
| Return the third derivative of the function.
virtual double | GetDerN (double x, int der_order) const
| Return the Nth derivative of the function (up to 3rd derivative).
virtual double | GetWeight (double x) const
| Return the weight of the function (useful for applications where you need to mix different weighted ChFunctions).
virtual void | Update (double x)
| Update could be implemented by children classes, ex. to launch callbacks.
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.
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).
double | operator() (double arg) const
| Alias operator of the GetVal function.
virtual void | ArchiveOut (ChArchiveOut &archive_out)
| Method to allow serialization of transient data to archives.
virtual void | ArchiveIn (ChArchiveIn &archive_in)
| Method to allow de-serialization of transient data from archives.

## Protected Attributes
std::function< double(double)> | m_function

## Additional Inherited Members
Public Types inherited from chrono::ChFunction
enum class | 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.

## Member Function Documentation

## ◆ Clone()

virtual ChFunctionLambda * chrono::ChFunctionLambda::Clone | ( |  | ) | const
| inlineoverridevirtual

"Virtual" copy constructor.

Implements chrono::ChFunction.

## ◆ GetType()

virtual Type chrono::ChFunctionLambda::GetType | ( |  | ) | const
| inlineoverridevirtual

Return the unique function type identifier.

Reimplemented from chrono::ChFunction.

## ◆ GetVal()

virtual double chrono::ChFunctionLambda::GetVal | ( | double | x | ) | const
| inlineoverridevirtual

Return the function output for input x.

Must be overridden by specialized classes.

Implements chrono::ChFunction.

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

- D:/W/B/src/chrono-9.0.1/src/chrono/functions/ChFunctionLambda.h