codac 1.5.6
Loading...
Searching...
No Matches
codac2_SliceBase.h
Go to the documentation of this file.
1
9
10#pragma once
11
12#include <list>
13#include <memory>
14
15namespace codac2
16{
17 class TSlice;
18 class SlicedTubeBase;
19
20 class SliceBase
21 {
22 public:
23
24 SliceBase(const SlicedTubeBase& tube, const std::list<TSlice>::iterator& it_tslice);
25
26 virtual std::shared_ptr<SliceBase> copy() const = 0;
27 virtual void init() = 0;
28 virtual void set_empty() = 0;
29
30 const Interval& t0_tf() const;
31 const TSlice& tslice() const;
32
33 std::shared_ptr<const SliceBase> prev_slice() const;
34 std::shared_ptr<const SliceBase> next_slice() const;
35
36
37 protected:
38
39 const SlicedTubeBase& _tube;
40 std::list<TSlice>::iterator _it_tslice;
41
42 friend class TDomain;
43 };
44}