codac 2.0.0
Loading...
Searching...
No Matches
codac2_CtcCtcBoundary.h
Go to the documentation of this file.
1
9
10#pragma once
11
12#include <functional>
13#include "codac2_Ctc.h"
15#include "codac2_Collection.h"
16#include "codac2_BoolInterval.h"
18
19namespace codac2
20{
21 class CtcCtcBoundary : public Ctc<CtcCtcBoundary,IntervalVector>
22 {
23 public:
24
25 template<typename C>
26 requires IsCtcBaseOrPtr<C,IntervalVector>
27 CtcCtcBoundary(const C& ctc_boundary, const std::function<BoolInterval(const Vector&)>& inside_test)
28 : Ctc<CtcCtcBoundary,IntervalVector>(size_of(ctc_boundary)), _ctc_boundary(ctc_boundary), _inside_test(inside_test)
29 { }
30
31 void contract(IntervalVector& x) const;
32
33 protected:
34
35 const Collection<CtcBase<IntervalVector>> _ctc_boundary;
36 const std::function<BoolInterval(const Vector&)> _inside_test;
37 };
38}
BoolInterval
Enumeration representing a boolean interval.
Definition codac2_BoolInterval.h:23