| 
    Simbody
    3.7
    
   | 
 
This is a Function_ subclass whose output value y=f(x) is smoothly stepped from y=y0 to y1 as its input argument goes from x=x0 to x1. More...
 Inheritance diagram for SimTK::Function_< T >::Step:Public Member Functions | |
| Step (const T &y0, const T &y1, Real x0, Real x1) | |
| Create a Function_::Step object that smoothly interpolates its output through a given range as its input moves through its range.  More... | |
| void | setParameters (const T &y0, const T &y1, Real x0, Real x1) | 
| Change the four parameters that define the step function; see constructor for documentation.  More... | |
| T | calcValue (const Vector &xin) const override | 
| Calculate the value of this function at a particular point.  More... | |
| T | calcDerivative (const Array_< int > &derivComponents, const Vector &xin) const override | 
| Calculate a partial derivative of this function at a particular point.  More... | |
| int | getArgumentSize () const override | 
| Get the number of components expected in the input vector.  More... | |
| int | getMaxDerivativeOrder () const override | 
| Get the maximum derivative order this Function_ object can calculate.  More... | |
| Step * | clone () const override | 
| Create a new heap-allocated copy of this concrete Function.  More... | |
| T | calcDerivative (const std::vector< int > &derivComponents, const Vector &x) const | 
| This provides compatibility with std::vector without requiring any copying.  More... | |
  Public Member Functions inherited from SimTK::Function_< T > | |
| virtual | ~Function_ () | 
| T | calcDerivative (const std::vector< int > &derivComponents, const Vector &x) const | 
| This provides compatibility with std::vector without requiring any copying.  More... | |
This is a Function_ subclass whose output value y=f(x) is smoothly stepped from y=y0 to y1 as its input argument goes from x=x0 to x1.
This is an S-shaped function with first and second derivatives y'(x0)=y'(x1)=0 and y''(x0)=y''(x1)==0. The third derivative y''' exists and is continuous but we cannot guarantee anything about it at the end points.
      
  | 
  inline | 
Create a Function_::Step object that smoothly interpolates its output through a given range as its input moves through its range.
| y0 | Output value when (x-x0)*sign(x1-x0) <= 0. | 
| y1 | Output value when (x-x1)*sign(x1-x0) >= 0. | 
| x0 | Start of switching interval. | 
| x1 | End of switching interval (must not equal x0). | 
| T | The template type is the type of y0 and y1. This must be a type that supports subtraction and scalar multiplication by a Real so that we can compute an expression like y=y0 + f*(y1-y0) for some Real scalar f. | 
Note that the numerical values of x0 and x1 can be in either order x0 < x1 or x0 > x1, but they cannot be equal.
      
  | 
  inline | 
Change the four parameters that define the step function; see constructor for documentation.
      
  | 
  inlineoverridevirtual | 
Calculate the value of this function at a particular point.
| x | the Vector of input arguments. Its size must equal the value returned by getArgumentSize(). | 
Implements SimTK::Function_< T >.
      
  | 
  inlineoverridevirtual | 
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.
| 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().  | 
Implements SimTK::Function_< T >.
      
  | 
  inlineoverridevirtual | 
Get the number of components expected in the input vector.
Implements SimTK::Function_< T >.
      
  | 
  inlineoverridevirtual | 
Get the maximum derivative order this Function_ object can calculate.
Implements SimTK::Function_< T >.
      
  | 
  inlineoverridevirtual | 
Create a new heap-allocated copy of this concrete Function.
For backwards compatibility this is not pure virtual; it has a default implementation that throws an exception if called. However, it should always be implemented.
Reimplemented from SimTK::Function_< T >.
      
  | 
  inline | 
This provides compatibility with std::vector without requiring any copying.