codac 2.0.0
Loading...
Searching...
No Matches
codac2_TSlice.h
Go to the documentation of this file.
1
9
10#pragma once
11
12#include <map>
13#include <memory>
14
15namespace codac2
16{
17 class Interval;
18 class SliceBase;
19 class SlicedTubeBase;
20
33 class TSlice : public Interval
34 {
35 public:
36
42 explicit TSlice(const Interval& tdomain);
43
53 TSlice(const TSlice& tslice, const Interval& tdomain); // performs a deep copy on slices
54
63 bool is_gate() const;
64
74 const std::map<const SlicedTubeBase*,std::shared_ptr<SliceBase>>& slices() const;
75
76 using Interval::operator==;
77
78 protected:
79
83 std::map<const SlicedTubeBase*,std::shared_ptr<SliceBase>> _slices;
84
85 friend class TDomain;
86 friend class SlicedTubeBase;
87 template<typename T>
88 friend class SlicedTube;
89 };
90}
Interval class, for representing closed and connected subsets of .
Definition codac2_Interval.h:49
Interval()
Creates an interval .
Definition codac2_Interval_impl.h:23
Base class for codomain slices attached to a temporal slice.
Definition codac2_SliceBase.h:36
Base class for tubes defined over a sliced temporal domain.
Definition codac2_SlicedTubeBase.h:35
const std::map< const SlicedTubeBase *, std::shared_ptr< SliceBase > > & slices() const
Returns the slices attached to this temporal slice.
bool is_gate() const
Tests whether this temporal slice is a gate.
std::map< const SlicedTubeBase *, std::shared_ptr< SliceBase > > _slices
Slices attached to each sliced tube over this temporal interval.
Definition codac2_TSlice.h:83
TSlice(const TSlice &tslice, const Interval &tdomain)
Creates a temporal slice from another one over a new time interval.
TSlice(const Interval &tdomain)
Creates a temporal slice over the given time interval.
Definition codac2_OctaSym.h:21