codac 2.0.0
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 Interval;
18 class TSlice;
19 class SlicedTubeBase;
20
36 {
37 public:
38
42 virtual ~SliceBase() = default;
43
49 virtual std::shared_ptr<SliceBase> copy() const = 0;
50
54 virtual void init() = 0;
55
59 virtual void set_empty() = 0;
60
66 const Interval& t0_tf() const;
67
73 const TSlice& tslice() const;
74
84 std::shared_ptr<const SliceBase> prev_slice() const;
85
95 std::shared_ptr<const SliceBase> next_slice() const;
96
97 protected:
98
105 SliceBase(const SlicedTubeBase& tube, const std::list<TSlice>::iterator& it_tslice);
106
111
115 std::list<TSlice>::iterator _it_tslice;
116
117 friend class TDomain;
118 };
119}
Interval class, for representing closed and connected subsets of .
Definition codac2_Interval.h:49
SliceBase(const SlicedTubeBase &tube, const std::list< TSlice >::iterator &it_tslice)
Creates a slice attached to a tube and a temporal slice.
virtual ~SliceBase()=default
Virtual destructor.
virtual void init()=0
Initializes this slice to its unbounded codomain.
virtual std::shared_ptr< SliceBase > copy() const =0
Duplicates this slice.
virtual void set_empty()=0
Sets this slice to the empty codomain.
const TSlice & tslice() const
Returns the temporal slice associated with this object.
std::list< TSlice >::iterator _it_tslice
Iterator to the associated temporal slice.
Definition codac2_SliceBase.h:115
const SlicedTubeBase & _tube
Parent sliced tube.
Definition codac2_SliceBase.h:110
const Interval & t0_tf() const
Returns the temporal domain of this slice.
std::shared_ptr< const SliceBase > next_slice() const
Returns the next slice of the same tube.
std::shared_ptr< const SliceBase > prev_slice() const
Returns the previous slice of the same tube.
Base class for tubes defined over a sliced temporal domain.
Definition codac2_SlicedTubeBase.h:35
Temporal slice shared by sliced tubes.
Definition codac2_TSlice.h:34
Definition codac2_OctaSym.h:21