codac 2.0.0
Loading...
Searching...
No Matches
codac2_CtcSegment.h
Go to the documentation of this file.
1
9
10#pragma once
11
12#include "codac2_Ctc.h"
14#include "codac2_Segment.h"
15
16namespace codac2
17{
18 class CtcSegment : public Ctc<CtcSegment,IntervalVector>
19 {
20 public:
21
22 CtcSegment(const IntervalVector& a, const IntervalVector& b)
23 : Ctc<CtcSegment,IntervalVector>(2), _ab(Segment(a,b))
24 {
25 assert_release(a.size() == 2 && b.size() == 2 && "only 2d segments are supported");
26 }
27
28 CtcSegment(const Segment& ab)
29 : Ctc<CtcSegment,IntervalVector>(2), _ab(ab)
30 { }
31
32 void contract(IntervalVector& x) const;
33
34 protected:
35
36 const Segment _ab;
37 };
38}