codac  1.5.7
codac2_AbstractSlicedTube.h
Go to the documentation of this file.
1 
12 #ifndef __CODAC2_ABSTRACTTUBE_H__
13 #define __CODAC2_ABSTRACTTUBE_H__
14 
15 #include "codac2_TDomain.h"
16 
17 namespace codac2
18 {
19  class AbstractSlice;
20 
21  class AbstractSlicedTube
22  {
23  public:
24 
25  AbstractSlicedTube(const std::shared_ptr<TDomain>& tdomain);
26 
27  virtual const std::shared_ptr<AbstractSlice>& first_abstract_slice_ptr() const = 0;
28  virtual const std::shared_ptr<AbstractSlice>& last_abstract_slice_ptr() const = 0;
29 
30  std::shared_ptr<TDomain>& tdomain();
31  const std::shared_ptr<TDomain>& tdomain() const;
32  Interval t0_tf() const;
33 
34 
35  protected:
36 
37  std::shared_ptr<TDomain> _tdomain;
38  };
39 } // namespace codac
40 
41 #endif