codac
codac_CtcDeriv.h
Go to the documentation of this file.
1 
12 #ifndef __CODAC_CTCDERIV_H__
13 #define __CODAC_CTCDERIV_H__
14 
15 #include "codac_DynCtc.h"
16 #include "codac_Slice.h"
17 #include "codac2_Tube.h"
18 
19 namespace codac
20 {
21  class Domain;
22 
30  class CtcDeriv : public DynCtc
31  {
32  public:
33 
37  CtcDeriv();
38 
39  /*
40  * \brief Contracts a set of abstract domains
41  *
42  * This method makes the contractor available in the CN framework.
43  *
44  * \param v_domains vector of Domain pointers
45  */
46  void contract(std::vector<Domain*>& v_domains);
47 
59  void contract(Tube& x, const Tube& v, TimePropag t_propa = TimePropag::FORWARD | TimePropag::BACKWARD);
60 
72  void contract(TubeVector& x, const TubeVector& v, TimePropag t_propa = TimePropag::FORWARD | TimePropag::BACKWARD);
73  void contract(codac2::Tube<Interval>& x, const codac2::Tube<Interval>& v, TimePropag t_propa = TimePropag::FORWARD | TimePropag::BACKWARD);
74  void contract(codac2::Tube<IntervalVector>& xv, TimePropag t_propa = TimePropag::FORWARD | TimePropag::BACKWARD);
75  void contract(codac2::Tube<IntervalVector>& x, int i, codac2::Tube<IntervalVector>& v, int j, TimePropag t_propa = TimePropag::FORWARD | TimePropag::BACKWARD);
76 
88  void contract(Slice& x, const Slice& v, TimePropag t_propa = TimePropag::FORWARD | TimePropag::BACKWARD);
89 
90  protected:
91 
103  void contract_gates(Slice& x, const Slice& v);
104 
105  friend class CtcEval; // contract_gates used by CtcEval
106 
107  static const std::string m_ctc_name;
108  static std::vector<std::string> m_str_expected_doms;
109  friend class ContractorNetwork;
110  };
111 }
112 
113 #endif
FixPoint of a separator The fixpoint of a separator is computed by calling the "::"separate function ...
Definition: codac_capd_helpers.h:9
Contractor interface.
Definition: codac_DynCtc.h:60
Slice of a one dimensional tube and made of an envelope and two gates.
Definition: codac_Slice.h:33
Graph of contractors and domains that model a problem in the constraint programming framework...
Definition: codac_ContractorNetwork.h:48
backward in time (from to )
that contracts a tube with respect to its derivative tube and a measurement according to the cons...
Definition: codac_CtcEval.h:26
n-dimensional tube , defined as an interval of n-dimensional trajectories
Definition: codac_TubeVector.h:38
CtcDeriv()
Creates a contractor object .
One dimensional tube , defined as an interval of scalar trajectories.
Definition: codac_Tube.h:47
forward in time (from to )
void contract_gates(Slice &x, const Slice &v)
Contracts input and output gates of a slice regarding its derivative set.
that contracts a tube with respect to its derivative tube according to the constraint ...
Definition: codac_CtcDeriv.h:30
static const std::string m_ctc_name
class name (mainly used for CN Exceptions)
Definition: codac_CtcDeriv.h:107
static std::vector< std::string > m_str_expected_doms
allowed domains signatures (mainly used for CN Exceptions)
Definition: codac_CtcDeriv.h:108
TimePropag
Specifies the temporal propagation way (forward or backward in time)
Definition: codac_DynCtc.h:26