include
sot
core
multi-bound.hh
Go to the documentation of this file.
1
/*
2
* Copyright 2010,
3
* François Bleibel,
4
* Olivier Stasse,
5
*
6
* CNRS/AIST
7
*
8
*/
9
10
#ifndef __SOT_MultiBound_H__
11
#define __SOT_MultiBound_H__
12
13
/* --------------------------------------------------------------------- */
14
/* --- INCLUDE --------------------------------------------------------- */
15
/* --------------------------------------------------------------------- */
16
17
/* STD */
18
#include <string>
19
#include <vector>
20
21
/* SOT */
22
#include <
dynamic-graph/signal-caster.h
>
23
24
#include <
sot/core/exception-task.hh
>
25
26
#include "
sot/core/api.hh
"
27
28
/* --------------------------------------------------------------------- */
29
/* --- CLASS ----------------------------------------------------------- */
30
/* --------------------------------------------------------------------- */
31
32
namespace
dynamicgraph
{
33
namespace
sot {
34
35
class
SOT_CORE_EXPORT
MultiBound
{
36
public
:
37
enum
MultiBoundModeType
{ MODE_SINGLE, MODE_DOUBLE };
38
enum
SupInfType
{ BOUND_SUP, BOUND_INF };
39
40
public
:
// protected:
41
MultiBoundModeType
mode
;
42
double
boundSingle
;
43
double
boundSup
, boundInf;
44
bool
boundSupSetup
, boundInfSetup;
45
46
public
:
47
MultiBound
(
const
double
x = 0.);
48
MultiBound
(
const
double
xi,
const
double
xs);
49
MultiBound
(
const
double
x,
const
SupInfType
bound);
50
MultiBound
(
const
MultiBound
&
clone
);
51
52
public
:
// Acessors
53
MultiBoundModeType
getMode(
void
)
const
;
54
double
getSingleBound(
void
)
const
;
55
double
getDoubleBound(
const
SupInfType
bound)
const
;
56
bool
getDoubleBoundSetup(
const
SupInfType
bound)
const
;
57
58
public
:
// Modifiors
59
void
setDoubleBound(
SupInfType
boundType,
double
boundValue);
60
void
unsetDoubleBound(
SupInfType
boundType);
61
void
setSingleBound(
double
boundValue);
62
63
public
:
64
SOT_CORE_EXPORT
friend
std::ostream &
operator<<
(std::ostream &os,
65
const
MultiBound
&m);
66
SOT_CORE_EXPORT
friend
std::istream &
operator>>
(std::istream &is,
67
MultiBound
&m);
68
MultiBound
&
operator=
(
const
MultiBound
&other);
69
};
70
71
/* --------------------------------------------------------------------- */
72
typedef
std::vector<MultiBound>
VectorMultiBound
;
73
SOT_CORE_EXPORT
std::ostream &
operator<<
(std::ostream &os,
74
const
VectorMultiBound
&v);
75
SOT_CORE_EXPORT
std::istream &
operator>>
(std::istream &os,
VectorMultiBound
&v);
76
77
}
/* namespace sot */
78
79
template
<>
80
struct
signal_io
<sot::
MultiBound
> :
signal_io_unimplemented
<sot::MultiBound> {};
81
}
/* namespace dynamicgraph */
82
83
#endif // #ifndef __SOT_MultiBound_H__
dynamicgraph::sot::operator>>
SOT_CORE_EXPORT std::istream & operator>>(std::istream &os, VectorMultiBound &v)
Definition:
multi-bound.cpp:238
SOT_CORE_EXPORT
#define SOT_CORE_EXPORT
Definition:
api.hh:20
dynamicgraph::sot::MultiBound::boundSup
double boundSup
Definition:
multi-bound.hh:43
dynamicgraph
dynamicgraph::sot::VectorMultiBound
std::vector< MultiBound > VectorMultiBound
Definition:
multi-bound.hh:72
dynamicgraph::sot::MultiBound::boundSingle
double boundSingle
Definition:
multi-bound.hh:42
dynamicgraph::sot::MultiBound::SupInfType
SupInfType
Definition:
multi-bound.hh:38
api.hh
dynamicgraph::sot::MultiBound::MultiBoundModeType
MultiBoundModeType
Definition:
multi-bound.hh:37
dynamicgraph::signal_io
signal-caster.h
clone
virtual CollisionGeometry * clone() const=0
dynamicgraph::sot::operator<<
SOT_CORE_EXPORT std::ostream & operator<<(std::ostream &os, const VectorMultiBound &v)
Definition:
multi-bound.cpp:228
exception-task.hh
dynamicgraph::sot::MultiBound
Definition:
multi-bound.hh:35
dynamicgraph::sot::MultiBound::mode
MultiBoundModeType mode
Definition:
multi-bound.hh:41
dynamicgraph::signal_io_unimplemented
dynamicgraph::sot::MultiBound::boundSupSetup
bool boundSupSetup
Definition:
multi-bound.hh:44
operator=
AABB & operator=(const AABB &other)=default
sot-core
Author(s): Olivier Stasse, ostasse@laas.fr
autogenerated on Tue Oct 24 2023 02:26:31