18 class CtcCross :
public Ctc<CtcCross,IntervalVector>
22 CtcCross(
const Segment& e,
const IntervalVector &r)
23 : Ctc<CtcCross,IntervalVector>(2), _e(e), _r(r)
25 assert_release(_r.size() == 2 &&
"only 2d segments are supported");
28 void contract(IntervalVector& x)
const;
33 const IntervalVector _r;
36 class CtcNoCross :
public Ctc<CtcNoCross,IntervalVector>
40 CtcNoCross(
const Segment& e,
const IntervalVector &r)
41 : Ctc<CtcNoCross,IntervalVector>(2), _e(e), _r(r)
43 assert_release(_r.size() == 2 &&
"only 2d segments are supported");
46 void contract(IntervalVector& x)
const;
51 const IntervalVector _r;