AGX Dynamics
2.40.0.0
Loading...
Searching...
No Matches
dependencies/agx_dependencies_250712_0.17.10_Windows_64_VS2022/include/agx-nt-ros2/Subscriber.h
Go to the documentation of this file.
1
/*
2
Copyright 2007-2023. Algoryx Simulation AB.
3
4
All AGX source code, intellectual property, documentation, sample code,
5
tutorials, scene files and technical white papers, are copyrighted, proprietary
6
and confidential material of Algoryx Simulation AB. You may not download, read,
7
store, distribute, publish, copy or otherwise disseminate, use or expose this
8
material unless having a written signed agreement with Algoryx Simulation AB, or having been
9
advised so by Algoryx Simulation AB for a time limited evaluation, or having purchased a
10
valid commercial license from Algoryx Simulation AB.
11
12
Algoryx Simulation AB disclaims all responsibilities for loss or damage caused
13
from using this software, unless otherwise stated in written agreements with
14
Algoryx Simulation AB.
15
*/
16
17
#pragma once
18
19
// AGX Networking Toolbox includes.
20
#include "
agx-nt-ros2/agx-nt-ros2_export.h
"
21
#include "
agx-nt-ros2/MessageTypes.h
"
22
#include "
agx-nt-ros2/Qos.h
"
23
24
// Standard library includes.
25
#include <memory>
26
#include <string>
27
28
namespace
agxROS2
29
{
30
struct
DdsSubscriberTypes;
31
}
32
33
#ifdef _MSC_VER
34
# pragma warning(push)
35
# pragma warning(disable: 4251)
// Disable warnings about members needing dll interface.
36
#endif
37
38
namespace
agxROS2
39
{
43
template
<
typename
TMsg>
44
class
AGXNTROS2_EXPORT
Subscriber
45
{
46
public
:
53
Subscriber
(
const
std::string& topic,
const
QOS
& qos =
QOS
(), int8_t inDomainId = 0);
54
~Subscriber
();
55
62
bool
receiveMessage
(TMsg& outMsg)
const
;
63
64
private
:
65
void
init(
const
std::string& topic,
const
QOS
& qos);
66
std::unique_ptr<DdsSubscriberTypes> ddsTypes;
67
std::string typeName;
68
int8_t domainId{ 0 };
69
};
70
}
71
72
73
//
74
// Predefined publisher types.
75
//
76
77
namespace
agxROS2
78
{
79
namespace
agxMsgs
80
{
81
using
SubscriberAny
=
Subscriber<Any>
;
82
using
SubscriberAnySequence
=
Subscriber<AnySequence>
;
83
}
84
85
namespace
builtinInterfaces
86
{
87
using
SubscriberTime
=
Subscriber<Time>
;
88
using
SubscriberDuration
=
Subscriber<Duration>
;
89
}
90
91
namespace
rosgraphMsgs
92
{
93
using
SubscriberClock
=
Subscriber<Clock>
;
94
}
95
96
namespace
stdMsgs
97
{
98
using
SubscriberBool
=
Subscriber<Bool>
;
99
using
SubscriberByte
=
Subscriber<Byte>
;
100
using
SubscriberByteMultiArray
=
Subscriber<ByteMultiArray>
;
101
using
SubscriberChar
=
Subscriber<Char>
;
102
using
SubscriberColorRGBA
=
Subscriber<ColorRGBA>
;
103
using
SubscriberEmpty
=
Subscriber<Empty>
;
104
using
SubscriberFloat32
=
Subscriber<Float32>
;
105
using
SubscriberFloat32MultiArray
=
Subscriber<Float32MultiArray>
;
106
using
SubscriberFloat64
=
Subscriber<Float64>
;
107
using
SubscriberFloat64MultiArray
=
Subscriber<Float64MultiArray>
;
108
using
SubscriberInt16
=
Subscriber<Int16>
;
109
using
SubscriberInt16MultiArray
=
Subscriber<Int16MultiArray>
;
110
using
SubscriberInt32
=
Subscriber<Int32>
;
111
using
SubscriberInt32MultiArray
=
Subscriber<Int32MultiArray>
;
112
using
SubscriberInt64
=
Subscriber<Int64>
;
113
using
SubscriberInt64MultiArray
=
Subscriber<Int64MultiArray>
;
114
using
SubscriberInt8
=
Subscriber<Int8>
;
115
using
SubscriberInt8MultiArray
=
Subscriber<Int8MultiArray>
;
116
using
SubscriberString
=
Subscriber<String>
;
117
using
SubscriberUInt16
=
Subscriber<UInt16>
;
118
using
SubscriberUInt16MultiArray
=
Subscriber<UInt16MultiArray>
;
119
using
SubscriberUInt32
=
Subscriber<UInt32>
;
120
using
SubscriberUInt32MultiArray
=
Subscriber<UInt32MultiArray>
;
121
using
SubscriberUInt64
=
Subscriber<UInt64>
;
122
using
SubscriberUInt64MultiArray
=
Subscriber<UInt64MultiArray>
;
123
using
SubscriberUInt8
=
Subscriber<UInt8>
;
124
using
SubscriberUInt8MultiArray
=
Subscriber<UInt8MultiArray>
;
125
using
SubscriberHeader
=
Subscriber<Header>
;
126
}
127
128
namespace
geometryMsgs
129
{
130
using
SubscriberVector3
=
Subscriber<Vector3>
;
131
using
SubscriberQuaternion
=
Subscriber<Quaternion>
;
132
using
SubscriberAccel
=
Subscriber<Accel>
;
133
using
SubscriberAccelStamped
=
Subscriber<AccelStamped>
;
134
using
SubscriberAccelWithCovariance
=
Subscriber<AccelWithCovariance>
;
135
using
SubscriberAccelWithCovarianceStamped
=
Subscriber<AccelWithCovarianceStamped>
;
136
using
SubscriberInertia
=
Subscriber<Inertia>
;
137
using
SubscriberInertiaStamped
=
Subscriber<InertiaStamped>
;
138
using
SubscriberPoint
=
Subscriber<Point>
;
139
using
SubscriberPoint32
=
Subscriber<Point32>
;
140
using
SubscriberPointStamped
=
Subscriber<PointStamped>
;
141
using
SubscriberPolygon
=
Subscriber<Polygon>
;
142
using
SubscriberPolygonStamped
=
Subscriber<PolygonStamped>
;
143
using
SubscriberPose
=
Subscriber<Pose>
;
144
using
SubscriberPose2D
=
Subscriber<Pose2D>
;
145
using
SubscriberPoseArray
=
Subscriber<PoseArray>
;
146
using
SubscriberPoseStamped
=
Subscriber<PoseStamped>
;
147
using
SubscriberPoseWithCovariance
=
Subscriber<PoseWithCovariance>
;
148
using
SubscriberPoseWithCovarianceStamped
=
Subscriber<PoseWithCovarianceStamped>
;
149
using
SubscriberQuaternionStamped
=
Subscriber<QuaternionStamped>
;
150
using
SubscriberTransform
=
Subscriber<Transform>
;
151
using
SubscriberTransformStamped
=
Subscriber<TransformStamped>
;
152
using
SubscriberTwist
=
Subscriber<Twist>
;
153
using
SubscriberTwistStamped
=
Subscriber<TwistStamped>
;
154
using
SubscriberTwistWithCovariance
=
Subscriber<TwistWithCovariance>
;
155
using
SubscriberTwistWithCovarianceStamped
=
Subscriber<TwistWithCovarianceStamped>
;
156
using
SubscriberVector3Stamped
=
Subscriber<Vector3Stamped>
;
157
using
SubscriberWrench
=
Subscriber<Wrench>
;
158
using
SubscriberWrenchStamped
=
Subscriber<WrenchStamped>
;
159
}
160
161
namespace
sensorMsgs
162
{
163
using
SubscriberBatteryState
=
Subscriber<BatteryState>
;
164
using
SubscriberChannelFloat32
=
Subscriber<ChannelFloat32>
;
165
using
SubscriberCompressedImage
=
Subscriber<CompressedImage>
;
166
using
SubscriberFluidPressure
=
Subscriber<FluidPressure>
;
167
using
SubscriberIlluminance
=
Subscriber<Illuminance>
;
168
using
SubscriberImage
=
Subscriber<Image>
;
169
using
SubscriberImu
=
Subscriber<Imu>
;
170
using
SubscriberJointState
=
Subscriber<JointState>
;
171
using
SubscriberJoy
=
Subscriber<Joy>
;
172
using
SubscriberJoyFeedback
=
Subscriber<JoyFeedback>
;
173
using
SubscriberJoyFeedbackArray
=
Subscriber<JoyFeedbackArray>
;
174
using
SubscriberLaserEcho
=
Subscriber<LaserEcho>
;
175
using
SubscriberLaserScan
=
Subscriber<LaserScan>
;
176
using
SubscriberMagneticField
=
Subscriber<MagneticField>
;
177
using
SubscriberMultiDOFJointState
=
Subscriber<MultiDOFJointState>
;
178
using
SubscriberMultiEchoLaserScan
=
Subscriber<MultiEchoLaserScan>
;
179
using
SubscriberNavSatStatus
=
Subscriber<NavSatStatus>
;
180
using
SubscriberNavSatFix
=
Subscriber<NavSatFix>
;
181
using
SubscriberPointCloud
=
Subscriber<PointCloud>
;
182
using
SubscriberPointField
=
Subscriber<PointField>
;
183
using
SubscriberPointCloud2
=
Subscriber<PointCloud2>
;
184
using
SubscriberRange
=
Subscriber<Range>
;
185
using
SubscriberRegionOfInterest
=
Subscriber<RegionOfInterest>
;
186
using
SubscriberCameraInfo
=
Subscriber<CameraInfo>
;
187
using
SubscriberRelativeHumidity
=
Subscriber<RelativeHumidity>
;
188
using
SubscriberTemperature
=
Subscriber<Temperature>
;
189
using
SubscriberTimeReference
=
Subscriber<TimeReference>
;
190
}
191
}
192
193
#ifdef _MSC_VER
194
# pragma warning(pop)
195
#endif
agx-nt-ros2_export.h
AGXNTROS2_EXPORT
#define AGXNTROS2_EXPORT
Definition:
agx-nt-ros2_export.h:34
agxROS2::Subscriber
Subscriber class that enables receiving ROS2 messages.
Definition:
dependencies/agx_dependencies_250712_0.17.10_Windows_64_VS2022/include/agx-nt-ros2/Subscriber.h:45
agxROS2::Subscriber::Subscriber
Subscriber(const std::string &topic, const QOS &qos=QOS(), int8_t inDomainId=0)
Constructor for the Subscriber.
agxROS2::Subscriber::receiveMessage
bool receiveMessage(TMsg &outMsg) const
Try to receive a message.
agxROS2::Subscriber::~Subscriber
~Subscriber()
MessageTypes.h
Qos.h
agxROS2
Definition:
agxROS2/export.h:47
agxROS2::QOS
Struct containing Quality of Service (QOS) settings.
Definition:
dependencies/agx_dependencies_250712_0.17.10_Windows_64_VS2022/include/agx-nt-ros2/Qos.h:57
dependencies
agx_dependencies_250712_0.17.10_Windows_64_VS2022
include
agx-nt-ros2
Subscriber.h
Generated by
1.9.6