Skip to content

Commit 2800f2c

Browse files
committed
add integration test
Signed-off-by: Ian Chen <[email protected]>
1 parent 3ad3747 commit 2800f2c

File tree

2 files changed

+63
-1
lines changed

2 files changed

+63
-1
lines changed

test/integration/link_dom.cc

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ TEST(DOMLink, Sensors)
243243
const sdf::Link *link = model->LinkByIndex(0);
244244
ASSERT_NE(nullptr, link);
245245
EXPECT_EQ("link", link->Name());
246-
EXPECT_EQ(25u, link->SensorCount());
246+
EXPECT_EQ(26u, link->SensorCount());
247247

248248
// Get the altimeter sensor
249249
const sdf::Sensor *altimeterSensor = link->SensorByIndex(0);
@@ -647,6 +647,37 @@ TEST(DOMLink, Sensors)
647647
EXPECT_DOUBLE_EQ(3.4, airSensor->PressureNoise().Mean());
648648
EXPECT_DOUBLE_EQ(5.6, airSensor->PressureNoise().StdDev());
649649
EXPECT_DOUBLE_EQ(123.4, airSensor->ReferenceAltitude());
650+
651+
// Get the wide angle camera sensor
652+
EXPECT_TRUE(link->SensorNameExists("wide_angle_camera_sensor"));
653+
const sdf::Sensor *wideAngleCameraSensor =
654+
link->SensorByName("wide_angle_camera_sensor");
655+
ASSERT_NE(nullptr, wideAngleCameraSensor);
656+
EXPECT_EQ("wide_angle_camera_sensor", wideAngleCameraSensor->Name());
657+
EXPECT_EQ(sdf::SensorType::WIDE_ANGLE_CAMERA, wideAngleCameraSensor->Type());
658+
EXPECT_EQ(ignition::math::Pose3d(20, 30, 40, 0, 0, 0),
659+
wideAngleCameraSensor->RawPose());
660+
EXPECT_FALSE(wideAngleCameraSensor->EnableMetrics());
661+
const sdf::Camera *wideAngleCam = wideAngleCameraSensor->CameraSensor();
662+
ASSERT_NE(nullptr, wideAngleCam);
663+
EXPECT_EQ("wide_angle_cam", wideAngleCam->Name());
664+
EXPECT_EQ(ignition::math::Pose3d(0.2, 0.3, 0.4, 0, 0, 0),
665+
wideAngleCam->RawPose());
666+
EXPECT_DOUBLE_EQ(3.14, wideAngleCam->HorizontalFov().Radian());
667+
EXPECT_EQ(320u, wideAngleCam->ImageWidth());
668+
EXPECT_EQ(240u, wideAngleCam->ImageHeight());
669+
EXPECT_EQ(sdf::PixelFormatType::RGB_INT8, wideAngleCam->PixelFormat());
670+
EXPECT_DOUBLE_EQ(0.1, wideAngleCam->NearClip());
671+
EXPECT_DOUBLE_EQ(100, wideAngleCam->FarClip());
672+
EXPECT_EQ("custom", wideAngleCam->LensType());
673+
EXPECT_TRUE(wideAngleCam->LensScaleToHfov());
674+
EXPECT_DOUBLE_EQ(1.05, wideAngleCam->LensC1());
675+
EXPECT_DOUBLE_EQ(4.0, wideAngleCam->LensC2());
676+
EXPECT_DOUBLE_EQ(0.0, wideAngleCam->LensC3());
677+
EXPECT_DOUBLE_EQ(1.0, wideAngleCam->LensFocalLength());
678+
EXPECT_EQ("tan", wideAngleCam->LensFunction());
679+
EXPECT_DOUBLE_EQ(3.1415, wideAngleCam->LensCutoffAngle().Radian());
680+
EXPECT_EQ(512, wideAngleCam->LensEnvironmentTextureSize());
650681
}
651682

652683
/////////////////////////////////////////////////

test/sdf/sensors.sdf

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -612,6 +612,37 @@
612612
</pressure>
613613
</air_pressure>
614614
</sensor>
615+
616+
<sensor name="wide_angle_camera_sensor" type="wideanglecamera">
617+
<pose>20 30 40 0 0 0</pose>
618+
<camera name="wide_angle_cam">
619+
<pose>0.2 0.3 0.4 0 0 0</pose>
620+
<horizontal_fov>3.14</horizontal_fov>
621+
<image>
622+
<width>320</width>
623+
<height>240</height>
624+
</image>
625+
<clip>
626+
<near>0.1</near>
627+
<far>100</far>
628+
</clip>
629+
<lens>
630+
<type>custom</type>
631+
<custom_function>
632+
<c1>1.05</c1>
633+
<c2>4</c2>
634+
<f>1.0</f>
635+
<fun>tan</fun>
636+
</custom_function>
637+
<scale_to_hfov>true</scale_to_hfov>
638+
<cutoff_angle>3.1415</cutoff_angle>
639+
<env_texture_size>512</env_texture_size>
640+
</lens>
641+
</camera>
642+
<always_on>1</always_on>
643+
<update_rate>30</update_rate>
644+
<topic>wideanglecamera</topic>
645+
</sensor>
615646
</link>
616647
</model>
617648
</sdf>

0 commit comments

Comments
 (0)