15 #include <compass_msgs/Azimuth.h>
17 #include <geometry_msgs/Transform.h>
18 #include <gps_common/GPSFix.h>
20 #include <sensor_msgs/CameraInfo.h>
21 #include <sensor_msgs/Imu.h>
22 #include <sensor_msgs/MagneticField.h>
23 #include <sensor_msgs/NavSatFix.h>
24 #include <vision_msgs/Detection2DArray.h>
49 const cras::optional<cras::optional<std::string>>&
getCameraMake()
const;
52 const cras::optional<cras::optional<std::string>>&
getCameraModel()
const;
54 cras::optional<cras::optional<std::string>>&
getLensMake();
55 const cras::optional<cras::optional<std::string>>&
getLensMake()
const;
57 cras::optional<cras::optional<std::string>>&
getLensModel();
58 const cras::optional<cras::optional<std::string>>&
getLensModel()
const;
61 const cras::optional<cras::optional<int>>&
getRotation()
const;
64 const cras::optional<cras::optional<ros::Time>>&
getCreationTime()
const;
67 const cras::optional<cras::optional<double>>&
getCropFactor()
const;
70 const cras::optional<cras::optional<SensorSize>>&
getSensorSizeMM()
const;
84 cras::optional<cras::optional<DistortionData>>&
getDistortion();
85 const cras::optional<cras::optional<DistortionData>>&
getDistortion()
const;
90 cras::optional<cras::optional<compass_msgs::Azimuth>>&
getAzimuth();
91 const cras::optional<cras::optional<compass_msgs::Azimuth>>&
getAzimuth()
const;
93 cras::optional<cras::optional<sensor_msgs::MagneticField>>&
getMagneticField();
94 const cras::optional<cras::optional<sensor_msgs::MagneticField>>&
getMagneticField()
const;
96 cras::optional<cras::optional<RollPitch>>&
getRollPitch();
97 const cras::optional<cras::optional<RollPitch>>&
getRollPitch()
const;
100 const cras::optional<cras::optional<geometry_msgs::Vector3>>&
getAngularVelocity()
const;
102 cras::optional<cras::optional<geometry_msgs::Vector3>>&
getAcceleration();
103 const cras::optional<cras::optional<geometry_msgs::Vector3>>&
getAcceleration()
const;
105 cras::optional<cras::optional<sensor_msgs::CameraInfo>>&
getCameraInfo();
106 const cras::optional<cras::optional<sensor_msgs::CameraInfo>>&
getCameraInfo()
const;
108 cras::optional<cras::optional<sensor_msgs::Imu>>&
getImu();
109 const cras::optional<cras::optional<sensor_msgs::Imu>>&
getImu()
const;
112 const cras::optional<cras::optional<geometry_msgs::Transform>>&
getOpticalFrameTF()
const;
115 const cras::optional<cras::optional<geometry_msgs::Transform>>&
getZeroRollPitchTF()
const;
117 cras::optional<cras::optional<vision_msgs::Detection2DArray>>&
getFaces();
118 const cras::optional<cras::optional<vision_msgs::Detection2DArray>>&
getFaces()
const;
122 std::shared_ptr<Impl>
data;
135 std::vector<TimedMetadata<int>>&
rotation();
136 const std::vector<TimedMetadata<int>>&
rotation()
const;
138 std::vector<TimedMetadata<double>>&
cropFactor();
139 const std::vector<TimedMetadata<double>>&
cropFactor()
const;
142 const std::vector<TimedMetadata<SensorSize>>&
sensorSizeMM()
const;
148 const std::vector<TimedMetadata<double>>&
focalLengthMM()
const;
151 const std::vector<TimedMetadata<double>>&
focalLengthPx()
const;
154 const std::vector<TimedMetadata<IntrinsicMatrix>>&
intrinsicMatrix()
const;
156 std::vector<TimedMetadata<std::pair<DistortionType, Distortion>>>&
distortion();
157 const std::vector<TimedMetadata<std::pair<DistortionType, Distortion>>>&
distortion()
const;
159 std::vector<TimedMetadata<compass_msgs::Azimuth>>&
azimuth();
160 const std::vector<TimedMetadata<compass_msgs::Azimuth>>&
azimuth()
const;
162 std::vector<TimedMetadata<sensor_msgs::MagneticField>>&
magneticField();
163 const std::vector<TimedMetadata<sensor_msgs::MagneticField>>&
magneticField()
const;
165 std::vector<TimedMetadata<RollPitch>>&
rollPitch();
166 const std::vector<TimedMetadata<RollPitch>>&
rollPitch()
const;
168 std::vector<TimedMetadata<geometry_msgs::Vector3>>&
acceleration();
169 const std::vector<TimedMetadata<geometry_msgs::Vector3>>&
acceleration()
const;
172 const std::vector<TimedMetadata<geometry_msgs::Vector3>>&
angularVelocity()
const;
174 std::vector<TimedMetadata<vision_msgs::Detection2DArray>>&
faces();
175 const std::vector<TimedMetadata<vision_msgs::Detection2DArray>>&
faces()
const;
177 std::vector<TimedMetadata<sensor_msgs::CameraInfo>>&
cameraInfo();
178 const std::vector<TimedMetadata<sensor_msgs::CameraInfo>>&
cameraInfo()
const;
180 std::vector<TimedMetadata<sensor_msgs::Imu>>&
imu();
181 const std::vector<TimedMetadata<sensor_msgs::Imu>>&
imu()
const;
183 std::vector<TimedMetadata<geometry_msgs::Transform>>&
opticalFrameTF();
184 const std::vector<TimedMetadata<geometry_msgs::Transform>>&
opticalFrameTF()
const;
186 std::vector<TimedMetadata<geometry_msgs::Transform>>&
zeroRollPitchTF();
187 const std::vector<TimedMetadata<geometry_msgs::Transform>>&
zeroRollPitchTF()
const;
189 std::vector<TimedMetadata<GNSSFixAndDetail>>&
gnssPosition();
190 const std::vector<TimedMetadata<GNSSFixAndDetail>>&
gnssPosition()
const;
194 std::unique_ptr<Impl>
data;
229 return std::lower_bound(
data.crbegin(),
data.crend(), stamp, &CompareStamp<M>);
242 const cras::optional<M>& defaultVal)
245 if (it !=
data.crend())
247 if (defaultVal.has_value())
249 return cras::nullopt;