codac
1.5.6
Loading...
Searching...
No Matches
src
core
domains
codac2_Domain.h
Go to the documentation of this file.
1
9
10
#pragma once
11
12
#include <cstdio>
13
#include <vector>
14
#include <string>
15
16
namespace
codac2
17
{
18
class
Domain
19
{
20
public
:
21
22
virtual
~Domain() =
default
;
23
};
24
25
template
<
typename
T,
typename
V>
26
class
DomainInterface :
public
Domain
27
{
28
public
:
29
30
DomainInterface()
31
{ }
32
33
~DomainInterface()
34
{ }
35
36
virtual
V lb()
const
= 0;
37
virtual
V ub()
const
= 0;
38
virtual
V mid()
const
= 0;
39
virtual
V mag()
const
= 0;
40
virtual
V mig()
const
= 0;
41
virtual
V rad()
const
= 0;
42
virtual
V diam()
const
= 0;
43
virtual
double
volume()
const
= 0;
44
virtual
void
set_empty() = 0;
45
virtual
bool
is_empty()
const
= 0;
46
virtual
bool
contains(
const
V& x)
const
= 0;
47
virtual
bool
interior_contains(
const
V& x)
const
= 0;
48
virtual
bool
is_unbounded()
const
= 0;
49
virtual
bool
is_degenerated()
const
= 0;
50
virtual
bool
intersects(
const
T &x)
const
= 0;
51
virtual
bool
is_disjoint(
const
T& x)
const
= 0;
52
virtual
bool
overlaps(
const
T &x)
const
= 0;
53
virtual
bool
is_subset(
const
T& x)
const
= 0;
54
virtual
bool
is_strict_subset(
const
T& x)
const
= 0;
55
virtual
bool
is_interior_subset(
const
T& x)
const
= 0;
56
virtual
bool
is_strict_interior_subset(
const
T& x)
const
= 0;
57
virtual
bool
is_superset(
const
T& x)
const
= 0;
58
virtual
bool
is_strict_superset(
const
T& x)
const
= 0;
59
};
60
61
}
Generated by
1.13.0