codac
codac2_AbstractSlice.h
Go to the documentation of this file.
1 
12 #ifndef __CODAC2_ABSTRACTSLICE_H__
13 #define __CODAC2_ABSTRACTSLICE_H__
14 
15 #include <list>
16 #include <variant>
17 #include <memory>
18 #include "codac_Interval.h"
19 #include "codac_IntervalVector.h"
20 #include "codac_TrajectoryVector.h"
21 #include "codac_Exception.h"
23 
24 namespace codac2
25 {
26  using codac::Interval;
28 
29  class TSlice;
30 
31  class AbstractSlice
32  {
33  public:
34 
35  AbstractSlice(const AbstractSlicedTube& tubevector, const std::list<TSlice>::iterator& _it_tslice);
36  virtual std::shared_ptr<AbstractSlice> duplicate() const = 0;
37  virtual size_t size() const = 0;
38  virtual void set_unbounded() = 0;
39 
40  const Interval& t0_tf() const;
41  const TSlice& tslice() const;
42 
43  const std::shared_ptr<AbstractSlice> prev_abstract_slice_ptr() const;
44  const std::shared_ptr<AbstractSlice> next_abstract_slice_ptr() const;
45 
46 
47  protected:
48 
49  const AbstractSlicedTube& _tubevector;
50  std::list<TSlice>::iterator _it_tslice;
51 
52  friend class TDomain;
53  };
54 }
55 
56 #endif
Definition: codac2_eigen.h:38
n-dimensional trajectory , defined as a temporal map of vector values
Definition: codac_TrajectoryVector.h:37