//--------------------------------------------------------------------------- void __fastcall TShieldForm::edtSizeChange(TObject *Sender) { Size = StrToVec(edtSize->Text); boxTop->Invalidate(); boxSide->Invalidate(); }
void __fastcall TShieldForm::edtCenterChange(TObject *Sender) { Center = StrToVec(edtCenter->Text); boxTop->Invalidate(); boxSide->Invalidate(); }
bool mtsATINetFTConfig::ParseCalibrationFile(const std::string & calFile) { cmnXMLPath xmlPath; xmlPath.SetInputSource(calFile); std::string str; // Calibration info if (!xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblNetFTCalibrationInfo", "SerialNumber", CalibInfo.SerialNumber, "") || !xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblNetFTCalibrationInfo", "BodyStyle", CalibInfo.BodyStyle, "") || !xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblNetFTCalibrationInfo", "CalibrationPartNumber", CalibInfo.CalibrationPartNumber, "") || !xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblNetFTCalibrationInfo", "Family", CalibInfo.Family, "") || !xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblNetFTCalibrationInfo", "CalibrationDate", CalibInfo.CalibrationDate, "") ) { return false; } // Retrieving vct6 if (!xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblNetFTCalibrationInfo", "GaugeOffsets", str, "")) { return false; } CalibInfo.GaugeOffsets.Assign(StrToVec(str, ' ')); if (!xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblNetFTCalibrationInfo", "CalibrationIndex", str, "")) { return false; } CalibInfo.CalibrationIndex.Assign(StrToVec(str, ' ')); // Calibration Matrix std::string Fx, Fy, Fz, Tx, Ty, Tz; if (!xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblNetFTCalibrationInfo", "MatrixFx", Fx, "") || !xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblNetFTCalibrationInfo", "MatrixFy", Fy, "") || !xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblNetFTCalibrationInfo", "MatrixFz", Fz, "") || !xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblNetFTCalibrationInfo", "MatrixTx", Tx, "") || !xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblNetFTCalibrationInfo", "MatrixTy", Ty, "") || !xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblNetFTCalibrationInfo", "MatrixTz", Tz, "") ) { return false; } CalibInfo.Matrix.SetSize(6,6); CalibInfo.Matrix.Row(0) = vctDoubleVec(StrToVec(Fx, ' ')); CalibInfo.Matrix.Row(1) = vctDoubleVec(StrToVec(Fy, ' ')); CalibInfo.Matrix.Row(2) = vctDoubleVec(StrToVec(Fz, ' ')); CalibInfo.Matrix.Row(3) = vctDoubleVec(StrToVec(Fx, ' ')); CalibInfo.Matrix.Row(4) = vctDoubleVec(StrToVec(Fy, ' ')); CalibInfo.Matrix.Row(5) = vctDoubleVec(StrToVec(Fz, ' ')); // General info if (!xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblCalibrationInformation", "ForceUnits", GenInfo.ForceUnits, "") || !xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblCalibrationInformation", "TorqueUnits", GenInfo.TorqueUnits, "") ) { return false; } // Retrieving vct6 if (!xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblCalibrationInformation", "MaxRatings", str, "")) { return false; } GenInfo.MaxRatings.Assign(StrToVec(str, ' ')); if (!xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblCalibrationInformation", "Resolutions", str, "")) { return false; } GenInfo.Resolutions.Assign(StrToVec(str, ' ')); if (!xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblCalibrationInformation", "Ranges", str, "")) { return false; } GenInfo.Ranges.Assign(StrToVec(str, ' ')); if (!xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblCalibrationInformation", "_x0031_6BitScaleFactors", str, "")) { return false; } GenInfo.ScaleFactors16Bit.Assign(StrToVec(str, ' ')); // Retrieving double if (!xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblCalibrationInformation", "CountsPerForce", str, "")) { return false; } GenInfo.CountsPerForce = atof(str.c_str()); if (!xmlPath.GetXMLValue("/dsNetFTCalibrationFile/tblCalibrationInformation", "CountsPerTorque", str, "")) { return false; } GenInfo.CountsPerTorque = atof(str.c_str()); return true; }