Gazebo Rendering
API Reference
7.4.2
insert_drive_file
Tutorials
library_books
Classes
toc
Namespaces
insert_drive_file
Files
launch
Gazebo Website
Index
List
Hierarchy
Members: All
Members: Functions
Members: Variables
Members: Typedefs
Members: Enumerations
Members: Enumerator
List
Members
Functions
Typedefs
Variables
Enumerations
Enumerator
src
gz-rendering
include
gz
rendering
base
gz/rendering/base/BaseBoundingBoxCamera.hh
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2021 Open Source Robotics Foundation
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*
16
*/
17
#ifndef GZ_RENDERING_BASE_BASEBOUNDINGBOXCAMERA_HH_
18
#define GZ_RENDERING_BASE_BASEBOUNDINGBOXCAMERA_HH_
19
20
#include <vector>
21
22
#include <gz/common/Event.hh>
23
#include <gz/math/Color.hh>
24
25
#include "
gz/rendering/base/BaseCamera.hh
"
26
#include "
gz/rendering/BoundingBoxCamera.hh
"
27
28
namespace
gz
29
{
30
namespace
rendering
31
{
32
inline
namespace
GZ_RENDERING_VERSION_NAMESPACE {
33
34
template
<
class
T>
35
class
BaseBoundingBoxCamera
:
36
public
virtual
BoundingBoxCamera
,
37
public
virtual
BaseCamera
<T>,
38
public
virtual
T
39
{
41
protected
:
BaseBoundingBoxCamera
();
42
44
public
:
virtual
~
BaseBoundingBoxCamera
();
45
46
// Documentation inherited
47
public
:
virtual
const
std::vector<BoundingBox>
&BoundingBoxData()
const
;
48
49
// Documentation inherited
50
public
:
virtual
gz::common::ConnectionPtr
ConnectNewBoundingBoxes(
51
std::function
<
void
(
const
std::vector<BoundingBox>
&)> _subscriber) = 0;
52
53
// Documentation inherited
54
public
:
virtual
void
SetBoundingBoxType(
BoundingBoxType
_type);
55
56
// Documentation inherited
57
public
:
virtual
BoundingBoxType
Type()
const
;
58
59
// Documentation inherited
60
public
:
virtual
void
DrawBoundingBox(
unsigned
char
*_data,
61
const
math::Color
&_color,
const
BoundingBox
&_box)
const
= 0;
62
64
protected
:
BoundingBoxType
type =
BoundingBoxType::BBT_FULLBOX2D
;
65
67
protected
:
std::vector<BoundingBox>
boundingBoxes
;
68
};
69
71
template
<
class
T>
72
BaseBoundingBoxCamera<T>::BaseBoundingBoxCamera
()
73
{
74
}
75
77
template
<
class
T>
78
BaseBoundingBoxCamera<T>::~BaseBoundingBoxCamera
()
79
{
80
}
81
83
template
<
class
T>
84
const
std::vector<BoundingBox>
&
85
BaseBoundingBoxCamera<T>::BoundingBoxData
()
const
86
{
87
return
this->boundingBoxes;
88
}
89
91
template
<
class
T>
92
void
BaseBoundingBoxCamera<T>::SetBoundingBoxType
(
BoundingBoxType
_type)
93
{
94
this->type = _type;
95
}
96
98
template
<
class
T>
99
BoundingBoxType
BaseBoundingBoxCamera<T>::Type
()
const
100
{
101
return
this->type;
102
}
103
}
104
}
105
}
106
#endif