Lodestar
An integrated real-time control package in C++
Integrator.hpp
1
//
2
// Created by Hamza El-Kebir on 4/12/21.
3
//
4
5
#ifndef LODESTAR_INTEGRATOR_HPP
6
#define LODESTAR_INTEGRATOR_HPP
7
8
namespace
ls
{
9
namespace
primitives {
10
template
<
typename
TState>
11
class
Integrator
{
12
public
:
13
template
<
typename
>
friend
14
class
Integrator
;
15
16
virtual
void
updateState() = 0;
17
18
virtual
void
updateState(
double
samplingPeriod) = 0;
19
20
virtual
void
updateState(TState *curState) = 0;
21
22
virtual
void
updateState(
double
samplingPeriod, TState *curState) = 0;
23
24
virtual
const
TState *getState()
const
= 0;
25
26
virtual
void
setState(
const
TState &state) = 0;
27
28
virtual
double
updateTime() = 0;
29
30
virtual
double
updateTime(
double
samplingPeriod) = 0;
31
32
virtual
double
getTime()
const
= 0;
33
34
virtual
const
TState *getIntegral()
const
= 0;
35
36
protected
:
37
TState *state_;
38
TState *integral_;
39
40
double
samplingPeriod_;
41
double
time_;
42
};
43
}
44
}
45
46
#endif //LODESTAR_INTEGRATOR_HPP
ls::primitives::Integrator
Definition:
Integrator.hpp:11
ls
Main Lodestar code.
Definition:
BilinearTransformation.hpp:12
Lodestar
primitives
Integrator.hpp
Generated by
1.8.17