示例#1
0
		public void SaveAndLoad()
		{
			string filename = "tests_robotGeometry_SaveAndLoad.xml";
			int no_of_stereo_cameras = 2;
			robotGeometry geom1 = new robotGeometry();
			geom1.CreateStereoCameras(no_of_stereo_cameras, 120, 0, 320, 240, 78, 100, 0);
			geom1.SetBodyDimensions(800,700,600);
			geom1.SetCentreOfRotation(400, 350, 10);
			geom1.SetHeadPosition(400,350, 1000);
			geom1.Save(filename);
			
			robotGeometry geom2 = new robotGeometry();
			geom2.Load(filename);

			Assert.AreEqual(geom1.body_width_mm, geom2.body_width_mm);
			Assert.AreEqual(geom1.body_length_mm, geom2.body_length_mm);
			Assert.AreEqual(geom1.body_height_mm, geom2.body_height_mm);
			
			Assert.AreEqual(geom1.body_centre_of_rotation_x, geom2.body_centre_of_rotation_x);
			Assert.AreEqual(geom1.body_centre_of_rotation_y, geom2.body_centre_of_rotation_y);
			Assert.AreEqual(geom1.body_centre_of_rotation_z, geom2.body_centre_of_rotation_z);
			
			Assert.AreEqual(geom1.head_centroid_x, geom2.head_centroid_x);
			Assert.AreEqual(geom1.head_centroid_y, geom2.head_centroid_y);
            Assert.AreEqual(geom1.head_centroid_z, geom2.head_centroid_z);
						
			for (int cam = 0; cam < no_of_stereo_cameras; cam++)
			{
				Assert.AreEqual(geom1.baseline_mm[cam], geom2.baseline_mm[cam]);
				Assert.AreEqual(geom1.image_width[cam], geom2.image_width[cam]);
				Assert.AreEqual(geom1.image_height[cam], geom2.image_height[cam]);
				Assert.AreEqual(geom1.FOV_degrees[cam], geom2.FOV_degrees[cam]);
				Assert.AreEqual(geom1.stereo_camera_position_x[cam], geom2.stereo_camera_position_x[cam]);
				Assert.AreEqual(geom1.stereo_camera_position_y[cam], geom2.stereo_camera_position_y[cam]);
				Assert.AreEqual(geom1.stereo_camera_position_z[cam], geom2.stereo_camera_position_z[cam]);
                Assert.AreEqual(geom1.stereo_camera_pan[cam], geom2.stereo_camera_pan[cam]);
                Assert.AreEqual(geom1.stereo_camera_tilt[cam], geom2.stereo_camera_tilt[cam]);
                Assert.AreEqual(geom1.stereo_camera_roll[cam], geom2.stereo_camera_roll[cam]);
			}
			
		}