CMatrix CMatrix::getSubMatrix( int iStartRow, int iStartCol, int iEndRow, int iEndCol ) const { CMatrix TmpMatrix; if(!isIndexValid(iStartRow, iStartCol) || !isIndexValid(iEndRow, iEndCol) || iStartRow > iEndRow || iStartCol > iEndCol) return TmpMatrix; TmpMatrix.init(iEndRow-iStartRow+1, iEndCol-iStartCol+1); for (int i = iStartRow, it=0; i <= iEndRow; i++,it++) TmpMatrix.setRow(it, &m_ppfMatrix[i][iStartCol], iEndCol-iStartCol+1); return TmpMatrix; }
const float* CMatrix::getRowPtr( int iRow ) const { if(!isIndexValid(iRow, 0)) return 0; return m_ppfMatrix[iRow]; }
/*! Returns the value of an entry with given \a index. \sa key, state, indexOf */ QString CcfConfigData::value(int index) { if (isIndexValid(index)) return mConfigValues.at(index); else return QString(); }
/*! Returns the state of an entry with given \a index. \sa key, value, indexOf */ bool CcfConfigData::state(int index) { if (isIndexValid(index)) return mConfigStates.at(index); else return false; }
/*! Returns the key for a given \a index. \sa value, state, indexOf */ QString CcfConfigData::key(int index) { if (isIndexValid(index)) return mConfigKeys.at(index); else return QString(); }
QVariant CheckTableModel::data(const QModelIndex & index, int role) const { if (!index.isValid()) return QVariant(); if (!isIndexValid(index.row(), index.column())) return QVariant(); QVariant value = table_.at(index.row()).at(index.column()); if (role == Qt::CheckStateRole && def_.at(index.column()).type() == QVariant::Bool) { bool b = value.toBool(); if (b) return QVariant(Qt::Checked); return QVariant(Qt::Unchecked); } if (role == Qt::DisplayRole && def_.at(index.column()).type() != QVariant::Bool) { return value; } return QVariant(); }
float CMatrix::getVectorNorm( int iRow /*= -1*/, int iCol /*= -1*/, int p /*= 1*/ ) const { float fResult = 0; assert ((isIndexValid(0, iCol) || isIndexValid(iRow, 0)) || (p > 0)); if (p == 1) { if (iRow >= 0) { fResult = CUtil::sum(m_ppfMatrix[iRow], m_aiMatrixDimensions[kCol], true); } else if (iCol >= 0) { for (int i = 0; i < m_aiMatrixDimensions[kRow]; i++) fResult += abs(m_ppfMatrix[i][iCol]); } } else if (p == 2) { if (iRow >= 0) { fResult = CUtil::mulBuffScalar(m_ppfMatrix[iRow], m_ppfMatrix[iRow], m_aiMatrixDimensions[kCol]); } else if (iCol >= 0) { for (int i = 0; i < m_aiMatrixDimensions[kRow]; i++) fResult += m_ppfMatrix[i][iCol] * m_ppfMatrix[i][iCol]; } fResult = sqrt(fResult); } else { if (iRow >= 0) { for (int j = 0; j < m_aiMatrixDimensions[kRow]; j++) fResult += pow(m_ppfMatrix[iRow][j], p); } else if (iCol >= 0) { for (int i = 0; i < m_aiMatrixDimensions[kRow]; i++) fResult += pow(m_ppfMatrix[i][iCol], p); } fResult = pow(fResult,1.F/p); } return fResult; }
QVariant CheckTableModel::tableData(int row, int col) const { if (isIndexValid(row, col)) { return table_.at(row).at(col); } return QVariant(); }
void CheckTableModel::deleteTableLine(const QModelIndex & idx) { if (isIndexValid(idx.row(), idx.column())) { checked_.removeOne(idx); table_.removeAt(idx.row()); emit layoutChanged(); } }
int ArgumentParser::parseArgument(int index, int & argument) { if (isIndexValid(index)) { sscanf(argv_[index], "%d", &argument); } else { return -1; } return 0; }
float CMatrix::getElement (int iRow, int iCol) const { if(!isIndexValid(iRow, iCol)) return kMatrixIllegalFunctionParam; assert (m_ppfMatrix != 0); assert (m_ppfMatrix[iRow] != 0); return m_ppfMatrix[iRow][iCol]; }
CMatrix::MatrixError_t CMatrix::getCol (int iCol, float *pfValues, int iNumOfValues) const { if(!isIndexValid(0, iCol) || iNumOfValues != m_aiMatrixDimensions[kRow] || !pfValues) return kMatrixIllegalFunctionParam; assert (m_ppfMatrix != 0); for (int i = 0; i < iNumOfValues; i++) pfValues[i] = m_ppfMatrix[i][iCol]; return kMatrixNoError; }
CMatrix::MatrixError_t CMatrix::setElement (int iRow, int iCol, float fValue) { if(!isIndexValid(iRow, iCol)) return kMatrixIllegalFunctionParam; assert (m_ppfMatrix != 0); assert (m_ppfMatrix[iRow] != 0); m_ppfMatrix[iRow][iCol] = fValue; return kMatrixNoError; }
CMatrix::MatrixError_t CMatrix::getRow (int iRow, float *pfValues, int iNumOfValues) const { if(!isIndexValid(iRow, 0) || iNumOfValues != m_aiMatrixDimensions[kCol] || !pfValues) return kMatrixIllegalFunctionParam; assert (m_ppfMatrix != 0); assert (m_ppfMatrix[iRow] != 0); CUtil::copyBuff(pfValues, m_ppfMatrix[iRow], iNumOfValues); return kMatrixNoError; }
int ArgumentParser::parseArgument(int index, char argument[], int argumentSize) { if (isIndexValid(index)) { if ( strlen(argv_[index]) > static_cast<size_t>(argumentSize) ) { return -1; } else { strcpy(argument, argv_[index]); } } else { return -1; } return 0; }
QVariant OamDataModel::data(const QModelIndex& index, int role) const { if(isIndexValid(index) == false) return QVariant(); if(role == Qt::DisplayRole) { const OamObject& obj = oamObject(index.row()); switch(static_cast<Columns>(index.column())) { case ID: return index.row(); case SIZE: return sizeStringOfObject(obj); case XPOS: return obj.xpos; case YPOS: return obj.ypos; case CHAR: return obj.character + (obj.table << 8); case PRIORITY: return obj.priority; case PALETTE: return obj.palette; case FLIP: return FLIP_STRINGS.at(obj.hFlip | (obj.vFlip << 1)); } } else if(role == SortRole) { const OamObject& obj = oamObject(index.row()); switch(static_cast<Columns>(index.column())) { case ID: return index.row(); case SIZE: return obj.size; case XPOS: return obj.xpos; case YPOS: return obj.ypos; case CHAR: return obj.character + (obj.table << 8); case PRIORITY: return obj.priority; case PALETTE: return obj.palette; case FLIP: return obj.hFlip | (obj.vFlip << 1); } } else if(role == Qt::TextAlignmentRole) { switch(static_cast<Columns>(index.column())) { case ID: return Qt::AlignRight; case SIZE: return Qt::AlignHCenter; case XPOS: return Qt::AlignRight; case YPOS: return Qt::AlignRight; case CHAR: return Qt::AlignRight; case PRIORITY: return Qt::AlignRight; case PALETTE: return Qt::AlignRight; case FLIP: return Qt::AlignLeft; } } return QVariant(); }
bool CheckTableModel::setData(const QModelIndex &index, const QVariant &value, int role) { if (!index.isValid()) return false; if (!isIndexValid(index.row(), index.column())) return false; if (role == Qt::EditRole || role == Qt::CheckStateRole) { QVariantList lst = table_.at(index.row()); lst[index.column()] = value; table_[index.row()] = lst; bool b = value.toBool(); if (b) checked_.append(index); else checked_.removeOne(index); } return true; }
bool TrajectoryChecker::isPoseValid(const PlanarPose &pose) const { PlanarGridIndex idx(0,0); invalid_cells_->worldToMap(pose.getX(), pose.getY(), idx); return isIndexValid(idx); }
int OamDataModel::objectId(const QModelIndex& index) const { if(isIndexValid(index) == false) return -1; return index.row(); }
/*! Replaces the value stored at \a index with \a newValue. Warning - state of the old entry is preserved! \sa insert */ void CcfConfigData::replace(int index, const QString &newValue) { if (isIndexValid(index)) mConfigValues.replace(index, newValue); }
/*! Changes \a state of an entry identified by \a index. */ void CcfConfigData::changeState(int index, bool state) { if (isIndexValid(index)) mConfigStates.replace(index, state); }