MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
SubScalarFunction Class Reference

#include <ScalarFunctionsImpl.h>

Inheritance diagram for SubScalarFunction:
Collaboration diagram for SubScalarFunction:

Public Member Functions

 SubScalarFunction (const BasicScalarFunction *const b1, const BasicScalarFunction *const b2)
 
virtual ~SubScalarFunction (void)
 
virtual doublereal operator() (const doublereal x) const
 
virtual doublereal ComputeDiff (const doublereal t, const integer order=1) const
 
- Public Member Functions inherited from DifferentiableScalarFunction
virtual ~DifferentiableScalarFunction ()
 
- Public Member Functions inherited from BasicScalarFunction
virtual ~BasicScalarFunction ()
 

Private Attributes

const
DifferentiableScalarFunction
*const 
a1
 
const
DifferentiableScalarFunction
*const 
a2
 

Detailed Description

Definition at line 179 of file ScalarFunctionsImpl.h.

Constructor & Destructor Documentation

SubScalarFunction::SubScalarFunction ( const BasicScalarFunction *const  b1,
const BasicScalarFunction *const  b2 
)

Definition at line 842 of file ScalarFunctionsImpl.cc.

References NO_OP.

845 : a1(ptr_cast<const DifferentiableScalarFunction*const>(b1)),
846 a2(ptr_cast<const DifferentiableScalarFunction*const>(b2))
847 {
848  NO_OP;
849 }
#define NO_OP
Definition: myassert.h:74
const DifferentiableScalarFunction *const a1
const DifferentiableScalarFunction *const a2
SubScalarFunction::~SubScalarFunction ( void  )
virtual

Definition at line 851 of file ScalarFunctionsImpl.cc.

References NO_OP.

852 {
853  NO_OP;
854 }
#define NO_OP
Definition: myassert.h:74

Member Function Documentation

doublereal SubScalarFunction::ComputeDiff ( const doublereal  t,
const integer  order = 1 
) const
virtual

Implements DifferentiableScalarFunction.

Definition at line 863 of file ScalarFunctionsImpl.cc.

References a1, a2, ASSERTMSGBREAK, DifferentiableScalarFunction::ComputeDiff(), and operator()().

864 {
865  ASSERTMSGBREAK(order >= 0, "Error in SubScalarFunction::ComputeDiff, order<0");
866  switch (order) {
867  case 0:
868  return operator()(x);
869 
870  default:
871  return a1->ComputeDiff(x, order)
872  - a2->ComputeDiff(x, order);
873  }
874 }
#define ASSERTMSGBREAK(expr, msg)
Definition: myassert.h:222
const DifferentiableScalarFunction *const a1
enum @55 order
virtual doublereal operator()(const doublereal x) const
virtual doublereal ComputeDiff(const doublereal x, const integer order=1) const =0
const DifferentiableScalarFunction *const a2

Here is the call graph for this function:

doublereal SubScalarFunction::operator() ( const doublereal  x) const
virtual

Implements DifferentiableScalarFunction.

Definition at line 857 of file ScalarFunctionsImpl.cc.

References a1, and a2.

Referenced by ComputeDiff().

858 {
859  return a1->operator()(x) - a2->operator()(x);
860 }
const DifferentiableScalarFunction *const a1
const DifferentiableScalarFunction *const a2

Member Data Documentation

const DifferentiableScalarFunction* const SubScalarFunction::a1
private

Definition at line 181 of file ScalarFunctionsImpl.h.

Referenced by ComputeDiff(), and operator()().

const DifferentiableScalarFunction* const SubScalarFunction::a2
private

Definition at line 182 of file ScalarFunctionsImpl.h.

Referenced by ComputeDiff(), and operator()().


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