LibMultiSense
LibMultiSense Documentation
JpegMessage.hh
Go to the documentation of this file.
1
37
#ifndef LibMultiSense_JpegMessage
38
#define LibMultiSense_JpegMessage
39
40
#include <typeinfo>
41
#include <cmath>
42
43
#include "
utility/Portability.hh
"
44
45
namespace
crl
{
46
namespace
multisense
{
47
namespace
details {
48
namespace
wire {
49
50
class
WIRE_HEADER_ATTRIBS_
JpegImageHeader
{
51
public
:
52
53
static
CRL_CONSTEXPR
IdType
ID =
ID_DATA_JPEG_IMAGE
;
54
static
CRL_CONSTEXPR
VersionType
VERSION = 2;
55
56
#ifdef SENSORPOD_FIRMWARE
57
IdType
id;
58
VersionType
version;
59
#endif // SENSORPOD_FIRMWARE
60
61
uint32_t
source
;
62
int64_t
frameId
;
63
uint16_t
width
;
64
uint16_t
height
;
65
uint32_t
length
;
66
uint32_t
quality
;
67
uint32_t
sourceExtended
;
68
69
JpegImageHeader
() :
70
#ifdef SENSORDPOD_FIRMWARE
71
id(ID),
72
version(VERSION),
73
#endif
// SENSORPOD_FIRMWARE
74
source(0),
75
frameId(0),
76
width(0),
77
height(0),
78
length(0),
79
quality(0),
80
sourceExtended(0)
81
{};
82
};
83
84
#ifndef SENSORPOD_FIRMWARE
85
86
class
JpegImage
:
public
JpegImageHeader
{
87
public
:
88
89
void
*
dataP
;
90
91
//
92
// Constructors
93
94
JpegImage
(
utility::BufferStreamReader
&r,
VersionType
v) {
serialize
(r,v);};
95
JpegImage
() :
dataP
(NULL) {};
96
97
//
98
// Serialization routine
99
100
template
<
class
Archive>
101
void
serialize
(Archive& message,
102
const
VersionType
version)
103
{
104
message &
source
;
105
message &
frameId
;
106
message &
width
;
107
message &
height
;
108
message &
length
;
109
message &
quality
;
110
111
if
(
typeid
(Archive) ==
typeid
(
utility::BufferStreamWriter
)) {
112
113
message.write(
dataP
,
length
);
114
115
}
else
{
116
117
dataP
= message.peek();
118
message.seek(message.tell() +
length
);
119
}
120
121
if
(version >= 2)
122
{
123
message &
sourceExtended
;
124
}
125
else
126
{
127
sourceExtended
= 0;
128
}
129
}
130
};
131
132
#endif // !SENSORPOD_FIRMWARE
133
134
}}}}
// namespaces
135
136
#endif
crl::multisense::details::wire::JpegImageHeader::JpegImageHeader
JpegImageHeader()
Definition:
JpegMessage.hh:69
crl::multisense::details::wire::JpegImage::dataP
void * dataP
Definition:
JpegMessage.hh:89
crl::multisense::details::wire::JpegImage::JpegImage
JpegImage()
Definition:
JpegMessage.hh:95
crl::multisense::details::wire::JpegImageHeader::quality
uint32_t quality
Definition:
JpegMessage.hh:66
crl::multisense::details::wire::JpegImageHeader::source
uint32_t source
Definition:
JpegMessage.hh:61
Portability.hh
WIRE_HEADER_ATTRIBS_
#define WIRE_HEADER_ATTRIBS_
Definition:
Protocol.hh:65
CRL_CONSTEXPR
#define CRL_CONSTEXPR
Definition:
Portability.hh:49
crl::multisense::details::wire::JpegImageHeader::height
uint16_t height
Definition:
JpegMessage.hh:64
crl::multisense::details::wire::JpegImageHeader::length
uint32_t length
Definition:
JpegMessage.hh:65
crl
Definition:
BufferStream.hh:51
crl::multisense::details::wire::JpegImage::JpegImage
JpegImage(utility::BufferStreamReader &r, VersionType v)
Definition:
JpegMessage.hh:94
crl::multisense::details::wire::JpegImageHeader
Definition:
JpegMessage.hh:50
crl::multisense::details::wire::VersionType
uint16_t VersionType
Definition:
Protocol.hh:137
crl::multisense::details::wire::ID_DATA_JPEG_IMAGE
static CRL_CONSTEXPR IdType ID_DATA_JPEG_IMAGE
Definition:
Protocol.hh:225
crl::multisense::details::utility::BufferStreamWriter
Definition:
BufferStream.hh:259
crl::multisense::details::utility::BufferStreamReader
Definition:
BufferStream.hh:192
multisense
Definition:
MultiSenseChannel.hh:44
crl::multisense::details::wire::JpegImageHeader::frameId
int64_t frameId
Definition:
JpegMessage.hh:62
crl::multisense::details::wire::JpegImage::serialize
void serialize(Archive &message, const VersionType version)
Definition:
JpegMessage.hh:101
crl::multisense::details::wire::JpegImageHeader::sourceExtended
uint32_t sourceExtended
Definition:
JpegMessage.hh:67
crl::multisense::details::wire::IdType
uint16_t IdType
Definition:
Protocol.hh:136
crl::multisense::details::wire::JpegImageHeader::width
uint16_t width
Definition:
JpegMessage.hh:63
crl::multisense::details::wire::JpegImage
Definition:
JpegMessage.hh:86
source
Wire
include
wire
JpegMessage.hh
Generated on Tue Mar 18 2025 14:54:04 for LibMultiSense by
1.8.17