Go to the documentation of this file.    1 #ifndef AIKIDO_STATESPACE_STATESPACE_HPP_ 
    2 #define AIKIDO_STATESPACE_STATESPACE_HPP_ 
   13 namespace statespace {
 
  151   virtual void expMap(
const Eigen::VectorXd& _tangent, 
State* _out) 
const = 0;
 
  159   virtual void logMap(
const State* _in, Eigen::VectorXd& _tangent) 
const = 0;
 
  164   virtual void print(
const State* _state, std::ostream& _os) 
const = 0;
 
  182 #endif // ifndef AIKIDO_STATESPACE_STATESPACE_HPP_ 
 
 
~State()=default
It is unsafe to call this, since it is a non-virtual destructor.
 
virtual void freeState(State *_state) const
Free a state previously created by allocateState.
 
virtual void expMap(const Eigen::VectorXd &_tangent, State *_out) const =0
Exponential mapping of Lie algebra element to a Lie group element.
 
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
 
virtual void logMap(const State *_in, Eigen::VectorXd &_tangent) const =0
Log mapping of Lie group element to a Lie algebra element.
 
virtual void print(const State *_state, std::ostream &_os) const =0
Print the state to the output stream.
 
virtual State * allocateStateInBuffer(void *_buffer) const =0
Create a new state in a pre-allocated buffer.
 
virtual void getInverse(const State *_state, State *_out) const =0
Gets the inverse of _in in this Lie group, such that:
 
virtual State * allocateState() const
Allocate a new state.
 
State()=default
This is a base class that should only only be used in derived classes.
 
ScopedState createState() const
Helper function to create a ScopedState.
 
Wrap a State with its StateSpace to provide convenient accessor methods.
Definition: StateHandle.hpp:16
 
virtual std::size_t getDimension() const =0
Get the dimension of this Lie group.
 
Represents a Lie group and its associated Lie algebra, i.e.
Definition: StateSpace.hpp:33
 
virtual void getIdentity(State *_out) const =0
Gets the identity element for this Lie group, such that:
 
virtual void freeStateInBuffer(State *_state) const =0
Free a state previously created by allocateStateInBuffer.
 
virtual void compose(const State *_state1, const State *_state2, State *_out) const =0
Lie group operation for this StateSpace.
 
ScopedState cloneState(const State *stateIn) const
Creates an identical clone of stateIn.
 
Definition: StateSpace.hpp:167
 
virtual ~StateSpace()=default
 
#define AIKIDO_DECLARE_POINTERS(X)
Definition: pointers.hpp:21
 
virtual void copyState(const StateSpace::State *_source, StateSpace::State *_destination) const =0
Copy a state.
 
virtual std::size_t getStateSizeInBytes() const =0
Gets the size of a State, in bytes.