chrono::ChFunction_Repeat Class Reference

Description

Repeat function: y = __/__/__/.

Repeats a 'window' of a function, periodically. Evaluates a fa(t) function as:

fa(t) = fa(window_start + mod(t + window_phase, window_length))

Note: for infinite window_length and zero window_start, you can use window_phase to simply 'translate' the function on abscissa.

#include <ChFunction_Repeat.h>

Inheritance diagram for chrono::ChFunction_Repeat:
Collaboration diagram for chrono::ChFunction_Repeat:

Public Member Functions

 ChFunction_Repeat (const ChFunction_Repeat &other)
 
virtual ChFunction_RepeatClone () const override
 "Virtual" copy constructor (covariant return type).
 
virtual FunctionType Get_Type () const override
 Return the unique function type identifier.
 
virtual double Get_y (double x) const override
 Return the y value of the function, at position x.
 
void Set_window_start (double m_v)
 
double Get_window_start () const
 
void Set_window_length (double m_v)
 
double Get_window_length () const
 
void Set_window_phase (double m_v)
 
double Get_window_phase () const
 
void Set_fa (std::shared_ptr< ChFunction > m_fa)
 
std::shared_ptr< ChFunctionGet_fa ()
 
virtual void Estimate_x_range (double &xmin, double &xmax) const override
 Return an estimate of the range of the function argument. More...
 
virtual void ArchiveOUT (ChArchiveOut &marchive) override
 Method to allow serialization of transient data to archives.
 
virtual void ArchiveIN (ChArchiveIn &marchive) override
 Method to allow deserialization of transient data from archives.
 
- Public Member Functions inherited from chrono::ChFunction
 ChFunction (const ChFunction &other)
 
virtual double Get_y_dx (double x) const
 Return the dy/dx derivative of the function, at position x. More...
 
virtual double Get_y_dxdx (double x) const
 Return the ddy/dxdx double derivative of the function, at position x. More...
 
virtual double Get_weight (double x) const
 Return the weight of the function (useful for applications where you need to mix different weighted ChFunctions)
 
virtual void Estimate_y_range (double xmin, double xmax, double &ymin, double &ymax, int derivate) const
 Return an estimate of the range of the function value. More...
 
virtual double Get_y_dN (double x, int derivate) const
 Return the function derivative of specified order at the given point. More...
 
virtual double Compute_max (double xmin, double xmax, double sampling_step, int derivate) const
 Compute the maximum of y(x) in a range xmin-xmax, using a sampling method.
 
virtual double Compute_min (double xmin, double xmax, double sampling_step, int derivate) const
 Compute the minimum of y(x) in a range xmin-xmax, using a sampling method.
 
virtual double Compute_mean (double xmin, double xmax, double sampling_step, int derivate) const
 Compute the mean value of y(x) in a range xmin-xmax, using a sampling method.
 
virtual double Compute_sqrmean (double xmin, double xmax, double sampling_step, int derivate) const
 Compute the square mean val. of y(x) in a range xmin-xmax, using sampling.
 
virtual double Compute_int (double xmin, double xmax, double sampling_step, int derivate) const
 Compute the integral of y(x) in a range xmin-xmax, using a sampling method.
 
virtual double Get_Ca_pos () const
 Computes the positive acceleration coefficient (inherited classes should customize this).
 
virtual double Get_Ca_neg () const
 Compute the positive acceleration coefficient (inherited classes should customize this).
 
virtual double Get_Cv () const
 Compute the speed coefficient (inherited classes must customize this).
 
virtual int HandleNumber () const
 Return the number of handles of the function.
 
virtual bool HandleAccess (int handle_id, double mx, double my, bool set_mode)
 Get the x and y position of handle, given identifier. More...
 
virtual int FilePostscriptPlot (ChFile_ps *m_file, int plotY, int plotDY, int plotDDY)
 Plot function in graph space of the ChFile_ps postscript file where zoom factor, centering, color, thickness etc. More...
 
virtual int FileAsciiPairsSave (ChStreamOutAscii &m_file, double xmin=0, double xmax=1, int msamples=200)
 Save function as X-Y pairs separated by space, with CR at each pair, into an ASCII file. More...
 

Additional Inherited Members

- Public Types inherited from chrono::ChFunction
enum  FunctionType {
  FUNCT_CUSTOM, FUNCT_CONST, FUNCT_CONSTACC, FUNCT_DERIVE,
  FUNCT_FILLET3, FUNCT_INTEGRATE, FUNCT_MATLAB, FUNCT_MIRROR,
  FUNCT_MOCAP, FUNCT_NOISE, FUNCT_OPERATION, FUNCT_OSCILLOSCOPE,
  FUNCT_POLY, FUNCT_POLY345, FUNCT_RAMP, FUNCT_RECORDER,
  FUNCT_REPEAT, FUNCT_SEQUENCE, FUNCT_SIGMA, FUNCT_SINE,
  FUNCT_LAMBDA
}
 Enumeration of function types.
 

Member Function Documentation

void chrono::ChFunction_Repeat::Estimate_x_range ( double &  xmin,
double &  xmax 
) const
overridevirtual

Return an estimate of the range of the function argument.

(Can be used for automatic zooming in a GUI)

Reimplemented from chrono::ChFunction.