Gazebo Rendering
API Reference
9.0.0
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
PixelFormat.hh
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2015 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_PIXELFORMAT_HH_
18
#define GZ_RENDERING_PIXELFORMAT_HH_
19
20
#include <string>
21
#include "gz/rendering/config.hh"
22
#include "gz/rendering/Export.hh"
23
24
namespace
gz
25
{
26
namespace
rendering
27
{
28
inline
namespace
GZ_RENDERING_VERSION_NAMESPACE {
29
//
32
enum
GZ_RENDERING_VISIBLE
PixelFormat
33
{
35
PF_UNKNOWN
= 0,
37
PF_L8
= 1,
39
PF_R8G8B8
= 2,
41
PF_B8G8R8
= 3,
43
PF_BAYER_RGGB8
= 4,
45
PF_BAYER_BGGR8
= 5,
47
PF_BAYER_GBRG8
= 6,
49
PF_BAYER_GRBG8
= 7,
50
// Float32 format one channel
51
PF_FLOAT32_R
= 8,
52
// Float32 format and RGB
53
PF_FLOAT32_RGBA
= 9,
54
// Float32 format and RGB
55
PF_FLOAT32_RGB
= 10,
56
// 16 bit single channel
57
PF_L16
= 11,
59
PF_R8G8B8A8
= 12,
61
PF_COUNT
= 13
62
};
63
66
class
GZ_RENDERING_VISIBLE
PixelUtil
67
{
70
public
:
static
bool
IsValid
(
PixelFormat
_format);
71
77
public
:
static
PixelFormat
Sanitize
(
PixelFormat
_format);
78
82
public
:
static
std::string
Name
(
PixelFormat
_format);
83
88
public
:
static
unsigned
int
ChannelCount
(
PixelFormat
_format);
89
94
public
:
static
unsigned
int
BytesPerChannel
(
PixelFormat
_format);
95
100
public
:
static
unsigned
int
BytesPerPixel
(
PixelFormat
_format);
101
110
public
:
static
unsigned
int
MemorySize
(
PixelFormat
_format,
111
unsigned
int
_width,
unsigned
int
_height);
112
118
public
:
static
PixelFormat
Enum
(
const
std::string
&_name);
119
121
private
:
static
const
char
*names[
PF_COUNT
];
122
124
private
:
static
const
unsigned
char
channelCounts[
PF_COUNT
];
125
127
private
:
static
const
unsigned
char
channelByteCounts[
PF_COUNT
];
128
};
129
}
130
}
131
}
132
#endif