public void update() { int no_of_cameras = Convert.ToInt32(txtNoOfCameras.Text); robot new_rob = new robot(no_of_cameras, robot.MAPPING_DPSLAM); for (int i = 0; i < rob.head.no_of_stereo_cameras; i++) { new_rob.head.calibration[i] = rob.head.calibration[i]; new_rob.head.sensormodel[i] = rob.head.sensormodel[i]; } rob = new_rob; rob.Name = txtName.Text; rob.TotalMass_kg = Convert.ToSingle(txtTotalMass.Text); rob.SetMappingThreads(Convert.ToInt32(txtNoOfThreads.Text)); rob.BodyWidth_mm = Convert.ToSingle(txtBodyWidth.Text); rob.BodyLength_mm = Convert.ToSingle(txtBodyLength.Text); rob.BodyHeight_mm = Convert.ToSingle(txtBodyHeight.Text); rob.BodyShape = cmbBodyShape.SelectedIndex; rob.propulsionType = Convert.ToInt32(cmbPropulsion.SelectedIndex); rob.WheelBase_mm = Convert.ToSingle(txtWheelBase.Text); rob.WheelBaseForward_mm = Convert.ToSingle(txtWheelBaseForward.Text); rob.WheelDiameter_mm = Convert.ToSingle(txtWheelDiameter.Text); rob.WheelPositionFeedbackType = Convert.ToInt32(cmbWheelFeedback.SelectedIndex); rob.GearRatio = Convert.ToInt32(txtGearRatio.Text); rob.CountsPerRev = Convert.ToInt32(txtCountsPerRev.Text); rob.MotorNoLoadSpeedRPM = Convert.ToSingle(txtMotorNoLoadSpeedRPM.Text); rob.MotorTorqueKgMm = Convert.ToSingle(txtMotorTorque.Text); for (int i = 0; i < rob.head.no_of_stereo_cameras; i++) { rob.head.calibration[i].baseline = Convert.ToSingle(txtCameraBaseline.Text); rob.head.calibration[i].leftcam.camera_FOV_degrees = Convert.ToSingle(txtCameraFOV.Text); rob.head.calibration[i].rightcam.camera_FOV_degrees = Convert.ToSingle(txtCameraFOV.Text); rob.head.calibration[i].positionOrientation.roll = Convert.ToSingle(txtRollAngle.Text) * (float)Math.PI / 180.0f; } rob.HeadType = Convert.ToInt32(cmbHeadType.SelectedIndex); rob.HeadSize_mm = Convert.ToSingle(txtHeadSize.Text); rob.HeadShape = Convert.ToInt32(cmbHeadShape.SelectedIndex); rob.head.x = Convert.ToSingle(txtHeadPositionLeft.Text); rob.head.y = Convert.ToSingle(txtHeadPositionForward.Text); rob.head.z = Convert.ToSingle(txtHeadHeightFromGround.Text); rob.head.no_of_stereo_cameras = Convert.ToInt32(txtNoOfCameras.Text); rob.CameraOrientation = Convert.ToInt32(cmbCameraOrientation.SelectedIndex); rob.LocalGridCellSize_mm = Convert.ToSingle(txtGridCellDimension.Text); rob.LocalGridLevels = Convert.ToInt32(txtGridLevels.Text); rob.LocalGridDimension = (int)(Convert.ToInt32(txtGridWidth.Text) / rob.LocalGridCellSize_mm); rob.LocalGridDimensionVertical = (int)(Convert.ToInt32(txtGridHeight.Text) / rob.LocalGridCellSize_mm); rob.LocalGridInterval_mm = Convert.ToSingle(txtGridInterval.Text); rob.LocalGridMappingRange_mm = Convert.ToSingle(txtMappingRange.Text); rob.LocalGridLocalisationRadius_mm = Convert.ToSingle(txtLocalGridLocalisationRadius.Text); rob.SetMotionModelTrialPoses(Convert.ToInt32(txtTrialPoses.Text)); rob.SetMotionModelCullingThreshold(Convert.ToInt32(txtCullingThreshold.Text)); rob.EnableScanMatching = chkEnableScanMatching.Checked; }