$extrastylesheet
Olena
User documentation 2.1
An Image Processing Platform
Scribo
Modules
Namespaces
Classes
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
dmax_hrules.hh
1
// Copyright (C) 2011 EPITA Research and Development Laboratory (LRDE)
2
//
3
// This file is part of Olena.
4
//
5
// Olena is free software: you can redistribute it and/or modify it under
6
// the terms of the GNU General Public License as published by the Free
7
// Software Foundation, version 2 of the License.
8
//
9
// Olena is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
// General Public License for more details.
13
//
14
// You should have received a copy of the GNU General Public License
15
// along with Olena. If not, see <http://www.gnu.org/licenses/>.
16
//
17
// As a special exception, you may use this file as part of a free
18
// software project without restriction. Specifically, if other files
19
// instantiate templates or use macros or inline functions from this
20
// file, or you compile this file and link it with other files to produce
21
// an executable, this file does not by itself cause the resulting
22
// executable to be covered by the GNU General Public License. This
23
// exception does not however invalidate any other reasons why the
24
// executable file might be covered by the GNU General Public License.
25
26
#ifndef SCRIBO_PRIMITIVE_LINK_INTERNAL_DMAX_HRULES_HH
27
# define SCRIBO_PRIMITIVE_LINK_INTERNAL_DMAX_HRULES_HH
28
32
33
# include <scribo/primitive/link/internal/dmax_functor_base.hh>
34
35
36
namespace
scribo
37
{
38
39
namespace
primitive
40
{
41
42
namespace
link
43
{
44
45
namespace
internal
46
{
47
48
50
class
dmax_hrules
:
public
dmax_functor_base
<dmax_hrules>
51
{
52
typedef
dmax_functor_base<dmax_hrules>
super_
;
53
54
public
:
55
dmax_hrules
(
float
dmax_factor,
unsigned
fixed_dmax);
56
float
compute_(
const
box2d
& b)
const
;
57
58
protected
:
59
using
super_::dmax_factor_;
60
unsigned
fixed_dmax_;
61
};
62
63
64
# ifndef MLN_INCLUDE_ONLY
65
66
67
inline
68
dmax_hrules::dmax_hrules(
float
dmax_factor,
unsigned
fixed_dmax)
69
: super_(dmax_factor), fixed_dmax_(fixed_dmax)
70
{
71
}
72
73
74
inline
75
float
76
dmax_hrules::compute_(
const
box2d
& b)
const
77
{
78
float
79
w = b.width();
80
81
if
(w < 15)
82
return
fixed_dmax_;
83
84
return
(w / 2.0f) + (dmax_factor_ * w);
85
}
86
87
88
# endif // ! MLN_INCLUDE_ONLY
89
90
91
}
// end of namespace scribo::primitive::link::internal
92
93
}
// end of namespace scribo::primitive::link
94
95
}
// end of namespace scribo::primitive
96
97
}
// end of namespace scribo
98
99
100
#endif // ! SCRIBO_PRIMITIVE_LINK_INTERNAL_DMAX_HRULES_HH
scribo
scribo
primitive
link
internal
dmax_hrules.hh
Copyright (C) 2012 EPITA Research and Development Laboratory (LRDE)