codac
codac_CtcStatic.h
Go to the documentation of this file.
1 
12 #ifndef __CODAC_CTCSTATIC_H__
13 #define __CODAC_CTCSTATIC_H__
14 
15 #include "codac_Ctc.h"
16 #include "codac_DynCtc.h"
17 #include "codac_Domain.h"
18 
19 namespace codac
20 {
27  class CtcStatic : public DynCtc
28  {
29  public:
30 
38  CtcStatic(Ctc& ibex_ctc, bool temporal_ctc = false);
39 
40  /*
41  * \brief Contracts a set of abstract domains
42  *
43  * This method makes the contractor available in the CN framework.
44  *
45  * \param v_domains vector of Domain pointers
46  */
47  void contract(std::vector<Domain*>& v_domains);
48 
54  void contract(TubeVector& x);
55 
61  void contract(Tube& x1);
62 
69  void contract(Tube& x1, Tube& x2);
70 
78  void contract(Tube& x1, Tube& x2, Tube& x3);
79 
88  void contract(Tube& x1, Tube& x2, Tube& x3, Tube& x4);
89 
99  void contract(Tube& x1, Tube& x2, Tube& x3, Tube& x4, Tube& x5);
100 
111  void contract(Tube& x1, Tube& x2, Tube& x3, Tube& x4, Tube& x5, Tube& x6);
112 
121  void contract(Slice **v_x_slices, int n);
122 
123  protected:
124 
127 
128  static const std::string m_ctc_name;
129  static std::vector<std::string> m_str_expected_doms;
130  friend class ContractorNetwork;
131  };
132 }
133 
134 #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
int m_temporal_ctc
specifies either the temporal tdomain is part of the constraint or not
Definition: codac_CtcStatic.h:126
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
n-dimensional tube , defined as an interval of n-dimensional trajectories
Definition: codac_TubeVector.h:38
One dimensional tube , defined as an interval of scalar trajectories.
Definition: codac_Tube.h:47
Ctc & m_static_ctc
related static contractor
Definition: codac_CtcStatic.h:125
CtcStatic(Ctc &ibex_ctc, bool temporal_ctc=false)
Creates a static contractor object for tubes.
Generic static that contracts a tube with some IBEX contractor (for boxes, possibly including time)...
Definition: codac_CtcStatic.h:27
static std::vector< std::string > m_str_expected_doms
allowed domains signatures (mainly used for CN Exceptions)
Definition: codac_CtcStatic.h:129
static const std::string m_ctc_name
class name (mainly used for CN Exceptions)
Definition: codac_CtcStatic.h:128