codac 1.5.6
Loading...
Searching...
No Matches
codac2_SepCtcBoundary.h
Go to the documentation of this file.
1
9
10#pragma once
11
12#include <functional>
13#include "codac2_Sep.h"
14#include "codac2_CtcWrapper.h"
15#include "codac2_Collection.h"
16#include "codac2_BoolInterval.h"
18
19namespace codac2
20{
21 class SepCtcBoundary : public Sep<SepCtcBoundary>
22 {
23 public:
24
25 template<typename C>
26 requires IsCtcBaseOrPtr<C,IntervalVector>
27 SepCtcBoundary(const C& ctc_boundary, const std::function<BoolInterval(const Vector&)>& inside_test)
28 : Sep<SepCtcBoundary>(size_of(ctc_boundary)), _ctc_boundary(ctc_boundary), _inside_test(inside_test)
29 { }
30
31 BoxPair separate(const 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