bitrl & cuberl Documentation
Simulation engine for reinforcement learning agents
Loading...
Searching...
No Matches
dynamics_matrix_descriptor.h
Go to the documentation of this file.
1#ifndef DYNAMICS_MATRIX_DESCRIPTOR_H
2#define DYNAMICS_MATRIX_DESCRIPTOR_H
3
4#include "bitrl/bitrl_types.h"
5
6#include <map>
7#include <string>
8
9namespace bitrl
10{
11namespace dynamics
12{
13
19{
20
21 public:
24
25 typedef std::map<std::string, matrix_type>::iterator matrix_iterator;
26 typedef std::map<std::string, matrix_type>::const_iterator const_matrix_iterator;
27
28 typedef std::map<std::string, vector_type>::iterator vector_iterator;
29 typedef std::map<std::string, vector_type>::const_iterator const_vector_iterator;
30
35
40
44 matrix_iterator find_matrix(const std::string &name);
45
49 const_matrix_iterator find_matrix(const std::string &name) const;
50
54 vector_iterator find_vector(const std::string &name);
55
59 const_vector_iterator find_vector(const std::string &name) const;
60
61 matrix_type &get_matrix(const std::string &name);
62 const matrix_type &get_matrix(const std::string &name) const;
63 void set_matrix(const std::string &name, const matrix_type &mat)
64 {
65 matrices_.insert_or_assign(name, mat);
66 }
67 bool has_matrix(const std::string &name) const;
68
69 vector_type &get_vector(const std::string &name);
70 const vector_type &get_vector(const std::string &name) const;
71 void set_vector(const std::string &name, const vector_type &vec)
72 {
73 vectors_.insert_or_assign(name, vec);
74 }
75
81 const_matrix_iterator matrix_begin() const { return matrices_.cbegin(); }
82 const_matrix_iterator matrix_end() const { return matrices_.cend(); }
83
89 const_vector_iterator vector_begin() const { return vectors_.cbegin(); }
90 const_vector_iterator vector_end() const { return vectors_.cend(); }
91
92 protected:
93 std::map<std::string, matrix_type> matrices_;
94 std::map<std::string, vector_type> vectors_;
95};
96
97} // namespace dynamics
98} // namespace bitrl
99
100#endif // DYNAMICS_MATRIX_DESCRIPTOR_H
The DynamicsMatrixDescriptor class. Helper class to model the matrix representon of dynamical systems...
Definition dynamics_matrix_descriptor.h:19
const_vector_iterator vector_begin() const
Definition dynamics_matrix_descriptor.h:89
std::map< std::string, matrix_type > matrices_
Definition dynamics_matrix_descriptor.h:93
matrix_iterator find_matrix(const std::string &name)
find the matrix with the given name
Definition dynamics_matrix_descriptor.cpp:12
vector_type & get_vector(const std::string &name)
Definition dynamics_matrix_descriptor.cpp:68
std::map< std::string, matrix_type >::const_iterator const_matrix_iterator
Definition dynamics_matrix_descriptor.h:26
vector_iterator vector_end()
Definition dynamics_matrix_descriptor.h:88
~DynamicsMatrixDescriptor()
Destructor.
Definition dynamics_matrix_descriptor.h:39
vector_iterator vector_begin()
iterators
Definition dynamics_matrix_descriptor.h:87
matrix_iterator matrix_end()
Definition dynamics_matrix_descriptor.h:80
std::map< std::string, vector_type > vectors_
Definition dynamics_matrix_descriptor.h:94
DynamicsMatrixDescriptor()
Constructor.
Definition dynamics_matrix_descriptor.cpp:9
const_matrix_iterator matrix_end() const
Definition dynamics_matrix_descriptor.h:82
matrix_type & get_matrix(const std::string &name)
Definition dynamics_matrix_descriptor.cpp:42
void set_matrix(const std::string &name, const matrix_type &mat)
Definition dynamics_matrix_descriptor.h:63
const_vector_iterator vector_end() const
Definition dynamics_matrix_descriptor.h:90
matrix_iterator matrix_begin()
iterators
Definition dynamics_matrix_descriptor.h:79
std::map< std::string, vector_type >::const_iterator const_vector_iterator
Definition dynamics_matrix_descriptor.h:29
bool has_matrix(const std::string &name) const
Definition dynamics_matrix_descriptor.cpp:35
const_matrix_iterator matrix_begin() const
Definition dynamics_matrix_descriptor.h:81
std::map< std::string, matrix_type >::iterator matrix_iterator
Definition dynamics_matrix_descriptor.h:25
DynMat< real_t > matrix_type
Definition dynamics_matrix_descriptor.h:22
void set_vector(const std::string &name, const vector_type &vec)
Definition dynamics_matrix_descriptor.h:71
std::map< std::string, vector_type >::iterator vector_iterator
Definition dynamics_matrix_descriptor.h:28
DynVec< real_t > vector_type
Definition dynamics_matrix_descriptor.h:23
vector_iterator find_vector(const std::string &name)
find the matrix with the given name
Definition dynamics_matrix_descriptor.cpp:24
Definition bitrl_consts.h:14
Eigen::RowVectorX< T > DynVec
Dynamically sized row vector.
Definition bitrl_types.h:74
Eigen::MatrixX< T > DynMat
Dynamically sized matrix to use around the library.
Definition bitrl_types.h:49