diff --git a/projects/medreader.cmake b/projects/medreader.cmake index d734a7d9ffcf149fd8e297d965416815267807d0..fa9f04d1cbe3690319e9fcac62b81b87792b3ecd 100644 --- a/projects/medreader.cmake +++ b/projects/medreader.cmake @@ -35,3 +35,6 @@ superbuild_apply_patch(medreader add-missing-VTK-module-depends superbuild_apply_patch(medreader quadrature-dataset "Update quadrature point generation") + +superbuild_apply_patch(medreader stdstring-cast + "Fix vtkStdString implicit `const char *` casts") diff --git a/projects/patches/medreader-stdstring-cast.patch b/projects/patches/medreader-stdstring-cast.patch new file mode 100644 index 0000000000000000000000000000000000000000..6ab5db2aa36d676bd01905ae7dc78c39a9f91069 --- /dev/null +++ b/projects/patches/medreader-stdstring-cast.patch @@ -0,0 +1,156 @@ +diff -u -Nr -U5 paravis-10af712/src/Plugins/MEDReader/plugin/MEDLoaderForPV/ExtractGroupHelper.cxx paravis-10af712.stdstring-cast/src/Plugins/MEDReader/plugin/MEDLoaderForPV/ExtractGroupHelper.cxx +--- paravis-10af712/src/Plugins/MEDReader/plugin/MEDLoaderForPV/ExtractGroupHelper.cxx 2023-06-05 08:03:34.000000000 +0200 ++++ paravis-10af712.stdstring-cast/src/Plugins/MEDReader/plugin/MEDLoaderForPV/ExtractGroupHelper.cxx 2025-01-19 23:32:29.905705108 +0100 +@@ -148,28 +148,28 @@ + vtkAdjacentVertexIterator *it0(vtkAdjacentVertexIterator::New()); + sil->GetAdjacentVertices(id0,it0); + while(it0->HasNext()) + { + vtkIdType id1(it0->Next()); +- std::string meshName((const char *)verticesNames2->GetValue(id1)); ++ std::string meshName(verticesNames2->GetValue(id1)); + this->_mesh_name=meshName; + vtkAdjacentVertexIterator *it1(vtkAdjacentVertexIterator::New()); + sil->GetAdjacentVertices(id1,it1); + vtkIdType idZeGrps(it1->Next());//zeGroups + vtkAdjacentVertexIterator *itGrps(vtkAdjacentVertexIterator::New()); + sil->GetAdjacentVertices(idZeGrps,itGrps); + while(itGrps->HasNext()) + { + vtkIdType idg(itGrps->Next()); +- ExtractGroupGrp grp((const char *)verticesNames2->GetValue(idg)); ++ ExtractGroupGrp grp(verticesNames2->GetValue(idg).c_str()); + vtkAdjacentVertexIterator *itGrps2(vtkAdjacentVertexIterator::New()); + sil->GetAdjacentVertices(idg,itGrps2); + std::vector famsOnGroup; + while(itGrps2->HasNext()) + { + vtkIdType idgf(itGrps2->Next()); +- famsOnGroup.push_back(std::string((const char *)verticesNames2->GetValue(idgf))); ++ famsOnGroup.push_back(std::string(verticesNames2->GetValue(idgf))); + } + grp.setFamilies(famsOnGroup); + itGrps2->Delete(); + _groups.push_back(grp); + } +@@ -179,11 +179,11 @@ + vtkAdjacentVertexIterator *itFams(vtkAdjacentVertexIterator::New()); + sil->GetAdjacentVertices(idZeFams,itFams); + while(itFams->HasNext()) + { + vtkIdType idf(itFams->Next()); +- ExtractGroupFam fam((const char *)verticesNames2->GetValue(idf)); ++ ExtractGroupFam fam(verticesNames2->GetValue(idf).c_str()); + _fams.push_back(fam); + } + itFams->Delete(); + } + it0->Delete(); +diff -u -Nr -U5 paravis-10af712/src/Plugins/MEDReader/plugin/ParaViewPlugin/pqExtractGroupFieldsWidget.cxx paravis-10af712.stdstring-cast/src/Plugins/MEDReader/plugin/ParaViewPlugin/pqExtractGroupFieldsWidget.cxx +--- paravis-10af712/src/Plugins/MEDReader/plugin/ParaViewPlugin/pqExtractGroupFieldsWidget.cxx 2023-06-05 08:03:34.000000000 +0200 ++++ paravis-10af712.stdstring-cast/src/Plugins/MEDReader/plugin/ParaViewPlugin/pqExtractGroupFieldsWidget.cxx 2025-01-20 05:51:33.704366064 +0100 +@@ -73,11 +73,11 @@ + + vtkIdType root = tree->GetRoot(); + vtkIdType mfg = tree->GetChild(root, 1); // MeshesFamsGrps + + vtkIdType mesh = tree->GetChild(mfg, 0); // mesh +- QString meshName = QString(names->GetValue(mesh)); ++ QString meshName = QString(names->GetValue(mesh).c_str()); + + this->NItems = 0; + + vtkIdType grps = tree->GetChild(mesh, 0); // grps + pqTreeWidgetItemObject* grpsItem = new pqTreeWidgetItemObject(this->TreeWidget, QStringList()); +@@ -140,11 +140,11 @@ + vtkIdType grp = tree->GetChild(grps, i); + pqTreeWidgetItemObject *grpItem = new pqTreeWidgetItemObject(grpsItem, QStringList()); + this->NItems++; + + // Group name +- QString name = QString(names->GetValue(grp)); ++ QString name = QString(names->GetValue(grp).c_str()); + grpItem->setText(0, name); + + // Property Name + QString propertyName = QString(vtkExtractGroup::GetGrpStart()) + name; + this->ItemMap[propertyName] = grpItem; +diff -u -Nr -U5 paravis-10af712/src/Plugins/MEDReader/plugin/ParaViewPlugin/pqMEDReaderFieldsWidget.cxx paravis-10af712.stdstring-cast/src/Plugins/MEDReader/plugin/ParaViewPlugin/pqMEDReaderFieldsWidget.cxx +--- paravis-10af712/src/Plugins/MEDReader/plugin/ParaViewPlugin/pqMEDReaderFieldsWidget.cxx 2023-06-05 08:03:34.000000000 +0200 ++++ paravis-10af712.stdstring-cast/src/Plugins/MEDReader/plugin/ParaViewPlugin/pqMEDReaderFieldsWidget.cxx 2025-01-20 05:53:58.487847813 +0100 +@@ -88,42 +88,42 @@ + // TSX Node + vtkIdType tsxId = tree->GetChild(fst, i); + vtkIdType tsId = tree->GetChild(fst, i - 1); + pqTreeWidgetItemObject *ts = new pqTreeWidgetItemObject(this->TreeWidget, QStringList()); + this->NItems++; +- QString tsxName = QString(names->GetValue(tsxId)); ++ QString tsxName = QString(names->GetValue(tsxId).c_str()); + ts->setText(0, tsxName); +- ts->setData(0, Qt::ToolTipRole, QString(names->GetValue(tsId))); ++ ts->setData(0, Qt::ToolTipRole, QString(names->GetValue(tsId).c_str())); + + // MAIL Node + for (int maili = 0; maili < tree->GetNumberOfChildren(tsxId); maili++) + { + vtkIdType mailId = tree->GetChild(tsxId, maili); + pqTreeWidgetItemObject *mail = new pqTreeWidgetItemObject(ts, QStringList()); + this->NItems++; +- QString mailName = QString(names->GetValue(mailId)); ++ QString mailName = QString(names->GetValue(mailId).c_str()); + mail->setText(0, mailName); +- mail->setData(0, Qt::ToolTipRole, QString(names->GetValue(mailId))); ++ mail->setData(0, Qt::ToolTipRole, QString(names->GetValue(mailId).c_str())); + + QString propertyBaseName = tsxName + "/" + mailName + "/"; + + // ComsupX node + for (int comsupi = 0; comsupi < tree->GetNumberOfChildren(mailId); comsupi++) + { + vtkIdType comSupId = tree->GetChild(mailId, comsupi); + pqTreeWidgetItemObject *comsup = new pqTreeWidgetItemObject(mail, QStringList()); + this->NItems++; +- QString comsupName = QString(names->GetValue(comSupId)); ++ QString comsupName = QString(names->GetValue(comSupId).c_str()); + comsup->setText(0, comsupName); + + // ComSup tooltip + vtkIdType geoTypeId = tree->GetChild(comSupId, 1); +- QString comSupToolTipName(names->GetValue(comSupId)); ++ QString comSupToolTipName(names->GetValue(comSupId).c_str()); + for (int geoi = 0; geoi < tree->GetNumberOfChildren(geoTypeId); geoi++) + { + comSupToolTipName += QString("\n- %1").arg( +- QString(names->GetValue(tree->GetChild(geoTypeId, geoi)))); ++ QString(names->GetValue(tree->GetChild(geoTypeId, geoi)).c_str())); + } + comsup->setData(0, Qt::ToolTipRole, comSupToolTipName); + + comsup->setFlags(comsup->flags() | Qt::ItemIsUserCheckable | Qt::ItemIsSelectable); + comsup->setChecked(false); +diff -u -Nr -U5 paravis-10af712/src/Plugins/MEDReader/plugin/ParaViewPlugin/pqMEDReaderGraphUtils.cxx paravis-10af712.stdstring-cast/src/Plugins/MEDReader/plugin/ParaViewPlugin/pqMEDReaderGraphUtils.cxx +--- paravis-10af712/src/Plugins/MEDReader/plugin/ParaViewPlugin/pqMEDReaderGraphUtils.cxx 2023-06-05 08:03:34.000000000 +0200 ++++ paravis-10af712.stdstring-cast/src/Plugins/MEDReader/plugin/ParaViewPlugin/pqMEDReaderGraphUtils.cxx 2025-01-20 05:51:14.968433138 +0100 +@@ -42,19 +42,19 @@ + for (int i = 0; i < tree->GetNumberOfChildren(tsr); i++) + { + // Each Time Step + // Recover step + tmp = tree->GetChild(tsr, i); +- dts << QString(names->GetValue(tmp)); ++ dts << QString(names->GetValue(tmp).c_str()); + + // Recover mode + tmp = tree->GetChild(tmp, 0); +- its << QString(names->GetValue(tmp)); ++ its << QString(names->GetValue(tmp).c_str()); + + // Recover value + tmp = tree->GetChild(tmp, 0); +- tts << QString(names->GetValue(tmp)); ++ tts << QString(names->GetValue(tmp).c_str()); + } + } + + int getMaxNumberOfTS(vtkGraph* graph) + {