ocra-recipes
Doxygen documentation for the ocra-recipes repository
Public Types | Public Member Functions | Protected Member Functions | List of all members
ocra::IdentityFunction Class Reference

IdentityFunction class. More...

#include <IdentityFunction.h>

Inheritance diagram for ocra::IdentityFunction:
[legend]
Collaboration diagram for ocra::IdentityFunction:
[legend]

Public Types

typedef DiagonalLinearFunction functionType_t
 
- Public Types inherited from ocra::DiagonalLinearFunction
typedef LinearFunction functionType_t
 
- Public Types inherited from ocra::LinearFunction
typedef Function functionType_t
 

Public Member Functions

 IdentityFunction (Variable &x, bool resizable=true)
 
bool isResizable () const
 
- Public Member Functions inherited from ocra::DiagonalLinearFunction
void changeDiagonal (const VectorXd &d)
 
void changeDiagonal (const double diagonalElementValue, const bool changeDefault=true)
 
void changeDefaultDiagonalValue (const double v)
 
void changeDefaultbValue (const double v)
 
template<class VectorBase1 , class VectorBase2 >
 DiagonalLinearFunction (Variable &x, const VectorBase1 &d, const VectorBase2 &b, const bool useDefaultValue=false, const double defaultDiagValue=1., const double defaultbValue=0.)
 
template<class VectorBase >
 DiagonalLinearFunction (Variable &x, const double diagonalElementValue, const VectorBase &b, const bool useDefaultValue=false, const double defaultbValue=0.)
 
template<class VectorBase >
 DiagonalLinearFunction (Variable &x, const VectorBase &d, const double vectorElementValue, const bool useDefaultValue=false, const double defaultDiagValue=1.)
 
 DiagonalLinearFunction (Variable &x, const double diagonalElementValue, const double vectorElementValue, const bool useDefaultValue=false)
 
const VectorXd & getDiagonal () const
 
double getDefaultDiagonalValue () const
 
double getDefaultbValue () const
 
bool isUsingDefaultValue () const
 
- Public Member Functions inherited from ocra::LinearFunction
template<class Derived , class VectorBase >
 LinearFunction (Variable &x, const MatrixBase< Derived > &A, const VectorBase &b)
 
 ~LinearFunction ()
 
void invalidateb (int timestamp)
 
const MatrixXd & getA () const
 
const VectorXd & getb () const
 
void changeA (const MatrixXd &A)
 
void changeb (const VectorXd &b)
 
- Public Member Functions inherited from ocra::Function
virtual ~Function ()
 
int getDimension () const
 
virtual void updateFdot () const
 
virtual void updateFddot () const
 
virtual void updateJdotXdot () const
 
const VariablegetVariable () const
 
VariablegetVariable ()
 
template<eFunctionAbility Ability>
void invalidate ()
 
void invalidateAll (int timestamp)
 
void invalidateAll ()
 
template<eFunctionAbility Ability>
bool isValid () const
 
template<eFunctionAbility Ability>
bool canCompute () const
 
template<eFunctionAbility Ability>
const IFunction< Ability >::return_type & get () const
 
template<eFunctionAbility Ability>
IFunction< Ability >::return_sub_type get (int index) const
 
const VectorXd & getValue () const
 
double getValue (int index) const
 
const MatrixXd & getJacobian () const
 
MatrixXdRow getJacobian (int index) const
 
- Public Member Functions inherited from ocra::ObserverSubject
 ObserverSubject ()
 
virtual ~ObserverSubject ()
 
- Public Member Functions inherited from ocra::Observer
virtual ~Observer ()
 
template<int EVT>
void bind (SubjectBase< EVT > &subject)
 Call this method to automatically propagate observed events to observers connected to the subject given in argument. More...
 
template<int EVT>
void stopPropagation ()
 
- Public Member Functions inherited from ocra::ObserverBase< EVT_RESIZE >
void bind (subject_type &subject)
 Call this method to automatically propagate observed events to observers connected to the subject given in argument. More...
 
- Public Member Functions inherited from ocra::ObserverBase< EVT_CHANGE_DEPENDENCIES >
void bind (subject_type &subject)
 Call this method to automatically propagate observed events to observers connected to the subject given in argument. More...
 
- Public Member Functions inherited from ocra::ObserverBase< EVT_CHANGE_VALUE >
void bind (subject_type &subject)
 Call this method to automatically propagate observed events to observers connected to the subject given in argument. More...
 
- Public Member Functions inherited from ocra::Subject
virtual ~Subject ()
 
template<int EVT, class Derived , class Base >
void connect (Derived &object, void(Base::*newCallback)(int)) const
 Call this method to register a non-static method as a callback. More...
 
template<int EVT>
void connect (void(*newCallback)(int)) const
 Call this method to register a free function as a callback. More...
 
template<int EVT, class Derived , class Base >
void disconnect (Derived &object, void(Base::*callbackToErase)(int)) const
 Disconnect non-static method. More...
 
template<int EVT>
void disconnect (void(*callbackToErase)(int)) const
 Disconnect free function. More...
 
template<int EVT>
void propagate () const
 
template<int EVT>
void propagate (int timestamp) const
 
- Public Member Functions inherited from ocra::SubjectBase< EVT_RESIZE >
void connect (T &object, typename SubjectBaseTraits< EVT, T >::callback_type newCallback) const
 Call this method to register a non-static method as a callback. More...
 
void connect (typename SubjectBaseTraits< EVT, void >::callback_type newCallback) const
 Call this method to register a free function as a callback. More...
 
void disconnect (T &object, typename SubjectBaseTraits< EVT, T >::callback_type callback) const
 Disconnect non-static method. More...
 
void disconnect (typename SubjectBaseTraits< EVT, void >::callback_type callbackToErase) const
 Disconnect free function. More...
 
void propagate (int timestamp) const
 
void propagate () const
 
- Public Member Functions inherited from ocra::SubjectBase< EVT_CHANGE_DEPENDENCIES >
void connect (T &object, typename SubjectBaseTraits< EVT, T >::callback_type newCallback) const
 Call this method to register a non-static method as a callback. More...
 
void connect (typename SubjectBaseTraits< EVT, void >::callback_type newCallback) const
 Call this method to register a free function as a callback. More...
 
void disconnect (T &object, typename SubjectBaseTraits< EVT, T >::callback_type callback) const
 Disconnect non-static method. More...
 
void disconnect (typename SubjectBaseTraits< EVT, void >::callback_type callbackToErase) const
 Disconnect free function. More...
 
void propagate (int timestamp) const
 
void propagate () const
 
- Public Member Functions inherited from ocra::SubjectBase< EVT_CHANGE_VALUE >
void connect (T &object, typename SubjectBaseTraits< EVT, T >::callback_type newCallback) const
 Call this method to register a non-static method as a callback. More...
 
void connect (typename SubjectBaseTraits< EVT, void >::callback_type newCallback) const
 Call this method to register a free function as a callback. More...
 
void disconnect (T &object, typename SubjectBaseTraits< EVT, T >::callback_type callback) const
 Disconnect non-static method. More...
 
void disconnect (typename SubjectBaseTraits< EVT, void >::callback_type callbackToErase) const
 Disconnect free function. More...
 
void propagate (int timestamp) const
 
void propagate () const
 
- Public Member Functions inherited from ocra::IFunctionProperties
bool hasSeparableTimeDependancy (void) const
 
eFunctionLinearity getType (void) const
 
eFunctionConvexity getConvexityProperty (void) const
 
int getContinuityProperty (void) const
 
const std::string & getProperty (int i) const
 
int getNumberOfProperties (void) const
 
bool hasProperty (const std::string &functionProperty) const
 
bool isExplicitlyTimeDependant (void) const
 
- Public Member Functions inherited from ocra::NamedInstance
 NamedInstance (const std::string &name)
 
const std::string & getName () const
 
virtual ~NamedInstance ()
 
- Public Member Functions inherited from ocra::AbilitySet
AbilitySetadd (eFunctionAbility prop)
 
AbilitySetremove (eFunctionAbility prop)
 

Protected Member Functions

virtual void updateValue () const
 
virtual void doUpdateInputSizeBegin ()
 
virtual void doUpdateInputSizeEnd ()
 
virtual void doChangeA (const MatrixXd &A)
 
virtual void doChangeDiagonal (const VectorXd &d)
 
virtual void doChangeDiagonal (const double diagonalElementValue, const bool changeDefault=true)
 
virtual void doChangeDefaultDiagonalValue (const double v)
 
virtual void doChangeDefaultbValue (const double v)
 
- Protected Member Functions inherited from ocra::DiagonalLinearFunction
 DiagonalLinearFunction (Variable &x)
 
int computeDimensionFromInputSize () const
 
void doUpdateDimensionBegin (int newDimension)
 
- Protected Member Functions inherited from ocra::LinearFunction
 LinearFunction (Variable &x, int dimension)
 
virtual void updateb () const
 
virtual void updateJacobian () const
 
virtual void doChangeb (const VectorXd &b)
 
void inhibitPropagationFromb () const
 
void desinhibitPropagationFromb () const
 
- Protected Member Functions inherited from ocra::Function
 Function (Variable &x, int dimension, eFunctionLinearity linearity=LINEARITY_UNDEFINED, eFunctionConvexity convexity=CONVEXITY_UNDEFINED, int continuity=CONTINUITY_UNKNOWN, bool explicitlyTimeDependant=false, bool separableTimeDependancy=true)
 Function Constructor. More...
 
void disconnectVariable ()
 
void changeFunctionDimension (int newDimension)
 
void updateInputSize (int timestamp)
 
void resize ()
 
virtual void doUpdateDimensionEnd (int oldDimension)
 
- Protected Member Functions inherited from ocra::ObserverBase< EVT_RESIZE >
void stopPropagation ()
 Call this method from your callbacks to avoid propagation to the bound subject (if any). More...
 
 ObserverBase ()
 
 ~ObserverBase ()
 
- Protected Member Functions inherited from ocra::ObserverBase< EVT_CHANGE_DEPENDENCIES >
void stopPropagation ()
 Call this method from your callbacks to avoid propagation to the bound subject (if any). More...
 
 ObserverBase ()
 
 ~ObserverBase ()
 
- Protected Member Functions inherited from ocra::ObserverBase< EVT_CHANGE_VALUE >
void stopPropagation ()
 Call this method from your callbacks to avoid propagation to the bound subject (if any). More...
 
 ObserverBase ()
 
 ~ObserverBase ()
 
- Protected Member Functions inherited from ocra::SubjectBase< EVT_RESIZE >
 SubjectBase ()
 
 ~SubjectBase ()
 
- Protected Member Functions inherited from ocra::SubjectBase< EVT_CHANGE_DEPENDENCIES >
 SubjectBase ()
 
 ~SubjectBase ()
 
- Protected Member Functions inherited from ocra::SubjectBase< EVT_CHANGE_VALUE >
 SubjectBase ()
 
 ~SubjectBase ()
 
- Protected Member Functions inherited from ocra::IFunctionProperties
 IFunctionProperties (eFunctionLinearity linearity=LINEARITY_UNDEFINED, eFunctionConvexity convexity=CONVEXITY_UNDEFINED, int continuity=CONTINUITY_UNKNOWN, bool explicitlyTimeDependant=false, bool separableTimeDependancy=true)
 IFunctionProperties Constructor. More...
 
void changeType (eFunctionLinearity newType)
 
void changeConvexityProperty (eFunctionConvexity newProperty)
 
void changeContinuityProperty (int newProperty)
 
void addProperty (const std::string &functionProperty)
 
void removeProperty (const std::string &functionProperty)
 
void changeExplicitTimeDependancy (bool b)
 
void changeSeparableTimeDependancy (bool b)
 
- Protected Member Functions inherited from ocra::AbilitySet
 AbilitySet (const std::vector< bool > &usageSet)
 
const std::vector< bool > & getUsageSet () const
 
 AbilitySet (eFunctionAbility prop0=FUN_VALUE, eFunctionAbility prop1=FUN_VALUE)
 
 AbilitySet (eFunctionAbility prop0, eFunctionAbility prop1, eFunctionAbility prop2, eFunctionAbility prop3=FUN_VALUE, eFunctionAbility prop4=FUN_VALUE)
 
 AbilitySet (eFunctionAbility prop0, eFunctionAbility prop1, eFunctionAbility prop2, eFunctionAbility prop3, eFunctionAbility prop4, eFunctionAbility prop5, eFunctionAbility prop6=FUN_VALUE, eFunctionAbility prop7=FUN_VALUE, eFunctionAbility prop8=FUN_VALUE, eFunctionAbility prop9=FUN_VALUE)
 
- Protected Member Functions inherited from ocra::CoupledInputOutputSize
 CoupledInputOutputSize (bool coupledInputOutputSize)
 
bool inputAndOutputSizesAreCoupled () const
 

Additional Inherited Members

- Protected Types inherited from ocra::ObserverBase< EVT_RESIZE >
typedef SubjectBase< EVT > subject_type
 
typedef InvokerBase< EVT > invoker_type
 
- Protected Types inherited from ocra::ObserverBase< EVT_CHANGE_DEPENDENCIES >
typedef SubjectBase< EVT > subject_type
 
typedef InvokerBase< EVT > invoker_type
 
- Protected Types inherited from ocra::ObserverBase< EVT_CHANGE_VALUE >
typedef SubjectBase< EVT > subject_type
 
typedef InvokerBase< EVT > invoker_type
 
- Protected Attributes inherited from ocra::DiagonalLinearFunction
VectorXd _d
 
double _defaultDiagonalValue
 
double _defaultbValue
 
bool _useDefaultValue
 
- Protected Attributes inherited from ocra::LinearFunction
VectorXd _b
 
bool _bIsUpToDate
 
- Protected Attributes inherited from ocra::Function
Variablex
 
VectorXd & _value
 
MatrixXd & _jacobian
 
const int & _dim
 

Detailed Description

IdentityFunction class.

Warning
None

Identity function

Definition at line 27 of file IdentityFunction.h.

Member Typedef Documentation

Definition at line 31 of file IdentityFunction.h.

Constructor & Destructor Documentation

ocra::IdentityFunction::IdentityFunction ( Variable x,
bool  resizable = true 
)

Trivial constructor. If resizable is false, a runtime_error will be thrown upon resizing.

Definition at line 6 of file IdentityFunction.cpp.

Member Function Documentation

void ocra::IdentityFunction::doChangeA ( const MatrixXd &  A)
protectedvirtual

Overload checking if A is a diagonal matrix. It is here just in case, changing A on a Identity is not very helpfull...

Reimplemented from ocra::DiagonalLinearFunction.

Definition at line 62 of file IdentityFunction.cpp.

void ocra::IdentityFunction::doChangeDefaultbValue ( const double  v)
protectedvirtual

Reimplemented from ocra::DiagonalLinearFunction.

Definition at line 56 of file IdentityFunction.cpp.

void ocra::IdentityFunction::doChangeDefaultDiagonalValue ( const double  v)
protectedvirtual

Reimplemented from ocra::DiagonalLinearFunction.

Definition at line 50 of file IdentityFunction.cpp.

void ocra::IdentityFunction::doChangeDiagonal ( const VectorXd &  d)
protectedvirtual

This methods throw a runtime_error because diagonal and default value can't be changed for a IndentityFunction

Reimplemented from ocra::DiagonalLinearFunction.

Definition at line 38 of file IdentityFunction.cpp.

void ocra::IdentityFunction::doChangeDiagonal ( const double  diagonalElementValue,
const bool  changeDefault = true 
)
protectedvirtual

Reimplemented from ocra::DiagonalLinearFunction.

Definition at line 44 of file IdentityFunction.cpp.

void ocra::IdentityFunction::doUpdateInputSizeBegin ( )
protectedvirtual

Throw a runtime_error if this function is not resizable

Reimplemented from ocra::DiagonalLinearFunction.

Definition at line 27 of file IdentityFunction.cpp.

void ocra::IdentityFunction::doUpdateInputSizeEnd ( void  )
protectedvirtual

Rebuild the jacobian and b

Reimplemented from ocra::DiagonalLinearFunction.

Definition at line 33 of file IdentityFunction.cpp.

bool ocra::IdentityFunction::isResizable ( ) const

Trivial getter

Definition at line 17 of file IdentityFunction.cpp.

void ocra::IdentityFunction::updateValue ( ) const
protectedvirtual

Overloads of the Function methods

Reimplemented from ocra::DiagonalLinearFunction.

Definition at line 22 of file IdentityFunction.cpp.


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