Remove struct TimedRangeData. (#1735)
It was only used in a unit test which can be improved by removing it. Signed-off-by: Wolfgang Hess <whess@lyft.com>master
parent
9b405c3dc8
commit
1c8c1d144e
|
@ -197,7 +197,8 @@ class LocalTrajectoryBuilderTest : public ::testing::Test {
|
||||||
return first * (to - from) + from;
|
return first * (to - from) + from;
|
||||||
}
|
}
|
||||||
|
|
||||||
sensor::TimedRangeData GenerateRangeData(const transform::Rigid3d& pose) {
|
sensor::TimedPointCloudData GeneratePointCloudData(
|
||||||
|
const transform::Rigid3d& pose, const common::Time time) {
|
||||||
// 360 degree rays at 16 angles.
|
// 360 degree rays at 16 angles.
|
||||||
sensor::TimedPointCloud directions_in_rangefinder_frame;
|
sensor::TimedPointCloud directions_in_rangefinder_frame;
|
||||||
for (int r = -8; r != 8; ++r) {
|
for (int r = -8; r != 8; ++r) {
|
||||||
|
@ -237,10 +238,9 @@ class LocalTrajectoryBuilderTest : public ::testing::Test {
|
||||||
0.};
|
0.};
|
||||||
returns_in_world_frame.push_back(return_point);
|
returns_in_world_frame.push_back(return_point);
|
||||||
}
|
}
|
||||||
return {Eigen::Vector3f::Zero(),
|
return {time, Eigen::Vector3f::Zero(),
|
||||||
sensor::TransformTimedPointCloud(returns_in_world_frame,
|
sensor::TransformTimedPointCloud(returns_in_world_frame,
|
||||||
pose.inverse().cast<float>()),
|
pose.inverse().cast<float>())};
|
||||||
{}};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddLinearOnlyImuObservation(const common::Time time,
|
void AddLinearOnlyImuObservation(const common::Time time,
|
||||||
|
@ -278,11 +278,10 @@ class LocalTrajectoryBuilderTest : public ::testing::Test {
|
||||||
int num_poses = 0;
|
int num_poses = 0;
|
||||||
for (const TrajectoryNode& node : expected_trajectory) {
|
for (const TrajectoryNode& node : expected_trajectory) {
|
||||||
AddLinearOnlyImuObservation(node.time, node.pose);
|
AddLinearOnlyImuObservation(node.time, node.pose);
|
||||||
const auto range_data = GenerateRangeData(node.pose);
|
const auto point_cloud = GeneratePointCloudData(node.pose, node.time);
|
||||||
const std::unique_ptr<LocalTrajectoryBuilder3D::MatchingResult>
|
const std::unique_ptr<LocalTrajectoryBuilder3D::MatchingResult>
|
||||||
matching_result = local_trajectory_builder_->AddRangeData(
|
matching_result =
|
||||||
kSensorId, sensor::TimedPointCloudData{
|
local_trajectory_builder_->AddRangeData(kSensorId, point_cloud);
|
||||||
node.time, range_data.origin, range_data.returns});
|
|
||||||
if (matching_result != nullptr) {
|
if (matching_result != nullptr) {
|
||||||
EXPECT_THAT(matching_result->local_pose,
|
EXPECT_THAT(matching_result->local_pose,
|
||||||
transform::IsNearly(node.pose, 1e-1));
|
transform::IsNearly(node.pose, 1e-1));
|
||||||
|
|
|
@ -31,15 +31,6 @@ RangeData TransformRangeData(const RangeData& range_data,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
TimedRangeData TransformTimedRangeData(const TimedRangeData& range_data,
|
|
||||||
const transform::Rigid3f& transform) {
|
|
||||||
return TimedRangeData{
|
|
||||||
transform * range_data.origin,
|
|
||||||
TransformTimedPointCloud(range_data.returns, transform),
|
|
||||||
TransformTimedPointCloud(range_data.misses, transform),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
RangeData CropRangeData(const RangeData& range_data, const float min_z,
|
RangeData CropRangeData(const RangeData& range_data, const float min_z,
|
||||||
const float max_z) {
|
const float max_z) {
|
||||||
return RangeData{range_data.origin,
|
return RangeData{range_data.origin,
|
||||||
|
@ -47,13 +38,6 @@ RangeData CropRangeData(const RangeData& range_data, const float min_z,
|
||||||
CropPointCloud(range_data.misses, min_z, max_z)};
|
CropPointCloud(range_data.misses, min_z, max_z)};
|
||||||
}
|
}
|
||||||
|
|
||||||
TimedRangeData CropTimedRangeData(const TimedRangeData& range_data,
|
|
||||||
const float min_z, const float max_z) {
|
|
||||||
return TimedRangeData{range_data.origin,
|
|
||||||
CropTimedPointCloud(range_data.returns, min_z, max_z),
|
|
||||||
CropTimedPointCloud(range_data.misses, min_z, max_z)};
|
|
||||||
}
|
|
||||||
|
|
||||||
proto::RangeData ToProto(const RangeData& range_data) {
|
proto::RangeData ToProto(const RangeData& range_data) {
|
||||||
proto::RangeData proto;
|
proto::RangeData proto;
|
||||||
*proto.mutable_origin() = transform::ToProto(range_data.origin);
|
*proto.mutable_origin() = transform::ToProto(range_data.origin);
|
||||||
|
|
|
@ -35,26 +35,12 @@ struct RangeData {
|
||||||
PointCloud misses;
|
PointCloud misses;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Like 'RangeData', but with 'TimedPointClouds'.
|
|
||||||
struct TimedRangeData {
|
|
||||||
Eigen::Vector3f origin;
|
|
||||||
TimedPointCloud returns;
|
|
||||||
TimedPointCloud misses;
|
|
||||||
};
|
|
||||||
|
|
||||||
RangeData TransformRangeData(const RangeData& range_data,
|
RangeData TransformRangeData(const RangeData& range_data,
|
||||||
const transform::Rigid3f& transform);
|
const transform::Rigid3f& transform);
|
||||||
|
|
||||||
TimedRangeData TransformTimedRangeData(const TimedRangeData& range_data,
|
|
||||||
const transform::Rigid3f& transform);
|
|
||||||
|
|
||||||
// Crops 'range_data' according to the region defined by 'min_z' and 'max_z'.
|
// Crops 'range_data' according to the region defined by 'min_z' and 'max_z'.
|
||||||
RangeData CropRangeData(const RangeData& range_data, float min_z, float max_z);
|
RangeData CropRangeData(const RangeData& range_data, float min_z, float max_z);
|
||||||
|
|
||||||
// Crops 'range_data' according to the region defined by 'min_z' and 'max_z'.
|
|
||||||
TimedRangeData CropTimedRangeData(const TimedRangeData& range_data, float min_z,
|
|
||||||
float max_z);
|
|
||||||
|
|
||||||
// Converts 'range_data' to a proto::RangeData.
|
// Converts 'range_data' to a proto::RangeData.
|
||||||
proto::RangeData ToProto(const RangeData& range_data);
|
proto::RangeData ToProto(const RangeData& range_data);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue