// ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- void AxisAngleWidget::valuesUpdated(const QString &text) { QVector<double> values = getValues(); if(values[0] == 0.0 && values[1] == 0.0 && values[2] == 0) { return; } if (m_AngleMeasurement == Degrees) { double degVal = values[3]; double radVal = degVal * SIMPLib::Constants::k_DegToRad; values[3] = radVal; } // Always normalize the axis vector Eigen::Vector3d axis(values[0], values[1], values[2]); axis.normalize(); values[0] = axis[0]; values[1] = axis[1]; values[2] = axis[2]; emit clearErrorTable(); int errorCode = 0; std::stringstream ss; ss << "Axis Angle values were normalized. Actual values used for the calculation are: "; ss << "<" << values[0] << ", " << values[1] << ", " << values[2] << "> " << values[3]; emit invalidValues(errorCode, QString::fromStdString(ss.str())); OrientationTransforms<QVector<double>, double>::ResultType result = OrientationTransforms<QVector<double>, double>::ax_check(values); errorCode = result.result; QString errorMsg = QString::fromStdString(result.msg); if (errorCode >= 0) { emit valuesChanged(values, OrientationConverter<double>::AxisAngle, false); } else { emit valuesChanged(QVector<double>(), OrientationConverter<double>::AxisAngle, true); emit invalidValues(errorCode, errorMsg); } }
// ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- void CubochoricWidget::valuesUpdated(const QString &text) { QVector<double> values = getValues(); OrientationTransforms<QVector<double>, double>::ResultType result = OrientationTransforms<QVector<double>, double>::cu_check(values); int errorCode = result.result; QString errorMsg = QString::fromStdString(result.msg); emit clearErrorTable(); if (errorCode >= 0) { emit valuesChanged(values, OrientationConverter<double>::Cubochoric, false); } else { emit valuesChanged(QVector<double>(), OrientationConverter<double>::Cubochoric, true); emit invalidValues(errorCode, errorMsg); } }
void FsckDB::init(bool clearDB) { if ( clearDB ) { // delete the database files if they exist bool rmRes = DatabaseTk::removeDatabaseFiles(databasePath); if ( !rmRes ) throw FsckDBException("Could not delete existing database files."); } else { // if we keep an old database, we need to clear the stored errors in there size_t arraySize = sizeof(__FsckErrorCodes) / sizeof(__FsckErrorCodes[0]); for ( size_t i = 0; i < arraySize; i++ ) { clearErrorTable(__FsckErrorCodes[i].errorCode); } } this->createTables(); }