Ejemplo n.º 1
0
//---------------------------------------------------------------------------
void __fastcall TShieldForm::edtSizeChange(TObject *Sender)
{
    Size = StrToVec(edtSize->Text);

    boxTop->Invalidate();
    boxSide->Invalidate();
}
Ejemplo n.º 2
0
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;
}