codac 1.5.6
Loading...
Searching...
No Matches
codac2_AbstractConstTube.h
Go to the documentation of this file.
1
12#ifndef __CODAC2_ABSTRACTCONSTTUBE_H__
13#define __CODAC2_ABSTRACTCONSTTUBE_H__
14
15#include <list>
16#include <memory>
17
18#include "codac_Interval.h"
21#include "codac_BoolInterval.h"
22
23namespace codac2
24{
27 using codac::Interval;
28 using codac::BoolInterval;
29
30 template<typename W, typename T>
31 class AbstractConstTube
32 {
33 public:
34
35 AbstractConstTube()
36 {
37
38 }
39
40 AbstractConstTube(const T& x);
41
42 virtual ~AbstractConstTube()
43 {
44
45 }
46
47 virtual size_t size() const = 0;
48 virtual BoolInterval contains(const TrajectoryVector& value) const = 0;
49 virtual Interval t0_tf() const = 0;
50 virtual W codomain() const = 0;
51 // virtual W operator()(double t) const = 0;
52 //virtual W operator()(const Interval& t) const = 0;
53
54 //TubeVectorComponent operator[](size_t index);
55 //const TubeVectorComponent operator[](size_t index) const;
56
57 //friend std::ostream& operator<<(std::ostream& os, const TubeVector_& x);
58 void print(std::ostream& os) const
59 {
60 os << t0_tf()
61 << "↦" << codomain()
62 << std::flush;
63 }
64 };
65
66} // namespace codac
67
68#endif
One dimensional trajectory , defined as a temporal map of values.
Definition codac_Trajectory.h:35
n-dimensional trajectory , defined as a temporal map of vector values
Definition codac_TrajectoryVector.h:38