diff --git a/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp b/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp index c9a8c4a90c..a076d2fb6f 100644 --- a/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp +++ b/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp @@ -284,7 +284,11 @@ SMDS_BallElement* SMDS_Mesh::AddBallWithID(const SMDS_MeshNode * n, double diame ball->init(n->getVtkId(), diameter, this); if (!this->registerElement(ID,ball)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(ball->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(ball->getVtkId(), VTK_EMPTY_CELL); +#endif myBallPool->destroy(ball); return 0; } @@ -344,7 +348,11 @@ SMDS_MeshEdge* SMDS_Mesh::AddEdgeWithID(const SMDS_MeshNode * n1, edgevtk->init(nodeIds, this); if (!this->registerElement(ID,edgevtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(edgevtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(edgevtk->getVtkId(), VTK_EMPTY_CELL); +#endif myEdgePool->destroy(edgevtk); return 0; } @@ -628,7 +636,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeWithID(const SMDS_MeshNode * n1, volvtk->init(myNodeIds, this); if (!this->registerElement(ID,volvtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), VTK_EMPTY_CELL); +#endif myVolumePool->destroy(volvtk); return 0; } @@ -735,7 +747,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeWithID(const SMDS_MeshNode * n1, volvtk->init(myNodeIds, this); if (!this->registerElement(ID,volvtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), VTK_EMPTY_CELL); +#endif myVolumePool->destroy(volvtk); return 0; } @@ -848,7 +864,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeWithID(const SMDS_MeshNode * n1, volvtk->init(myNodeIds, this); if (!this->registerElement(ID,volvtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), VTK_EMPTY_CELL); +#endif myVolumePool->destroy(volvtk); return 0; } @@ -983,7 +1003,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeWithID(const SMDS_MeshNode * n1, volvtk->init(myNodeIds, this); if (!this->registerElement(ID,volvtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), VTK_EMPTY_CELL); +#endif myVolumePool->destroy(volvtk); return 0; } @@ -1105,7 +1129,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeWithID(const SMDS_MeshNode * n1, volvtk->init(myNodeIds, this); if (!this->registerElement(ID,volvtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), VTK_EMPTY_CELL); +#endif myVolumePool->destroy(volvtk); return 0; } @@ -1308,7 +1336,11 @@ SMDS_Mesh::AddPolygonalFaceWithID (const vector & nodes, facevtk->initPoly(myNodeIds, this); if (!this->registerElement(ID,facevtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(facevtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(facevtk->getVtkId(), VTK_EMPTY_CELL); +#endif myFacePool->destroy(facevtk); return 0; } @@ -1373,7 +1405,11 @@ SMDS_Mesh::AddQuadPolygonalFaceWithID (const vector & node facevtk->initQuadPoly(myNodeIds, this); if (!this->registerElement(ID,facevtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(facevtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(facevtk->getVtkId(), VTK_EMPTY_CELL); +#endif myFacePool->destroy(facevtk); return 0; } @@ -1453,7 +1489,11 @@ SMDS_Mesh::AddPolyhedralVolumeWithID (const vector& nodes, volvtk->initPoly(myNodeIds, quantities, this); if (!this->registerElement(ID, volvtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), VTK_EMPTY_CELL); +#endif myVolumePool->destroy(volvtk); return 0; } @@ -1509,7 +1549,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeFromVtkIdsWithID(const std::vectorinit(vtkNodeIds, this); if (!this->registerElement(ID,volvtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), VTK_EMPTY_CELL); +#endif myVolumePool->destroy(volvtk); return 0; } @@ -1568,7 +1612,11 @@ SMDS_MeshFace* SMDS_Mesh::AddFaceFromVtkIdsWithID(const std::vector& facevtk->init(vtkNodeIds, this); if (!this->registerElement(ID,facevtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(facevtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(facevtk->getVtkId(), VTK_EMPTY_CELL); +#endif myFacePool->destroy(facevtk); return 0; } @@ -1716,7 +1764,11 @@ SMDS_MeshFace * SMDS_Mesh::createTriangle(const SMDS_MeshNode * node1, facevtk->init(myNodeIds, this); // put in vtkUnstructuredGrid if (!this->registerElement(ID,facevtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(facevtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(facevtk->getVtkId(), VTK_EMPTY_CELL); +#endif myFacePool->destroy(facevtk); return 0; } @@ -1770,7 +1822,11 @@ SMDS_MeshFace * SMDS_Mesh::createQuadrangle(const SMDS_MeshNode * node1, facevtk->init(myNodeIds, this); if (!this->registerElement(ID,facevtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(facevtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(facevtk->getVtkId(), VTK_EMPTY_CELL); +#endif myFacePool->destroy(facevtk); return 0; } @@ -2101,7 +2157,11 @@ SMDS_MeshEdge* SMDS_Mesh::FindEdgeOrCreate(const SMDS_MeshNode * node1, edgevtk->init(myNodeIds, this); if (!this->registerElement(ID,edgevtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(edgevtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(edgevtk->getVtkId(), VTK_EMPTY_CELL); +#endif myEdgePool->destroy(edgevtk); return 0; } @@ -3312,7 +3372,11 @@ void SMDS_Mesh::RemoveElement(const SMDS_MeshElement * elem, if (vtkid >= 0) { //MESSAGE("VTK_EMPTY_CELL in " << vtkid); +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(vtkid, VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(vtkid, VTK_EMPTY_CELL); +#endif } it++; } @@ -3417,7 +3481,11 @@ void SMDS_Mesh::RemoveFreeElement(const SMDS_MeshElement * elem) } myElementIDFactory->ReleaseID(elemId, vtkId); +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(vtkId, VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(vtkId, VTK_EMPTY_CELL); +#endif // --- to do: keep vtkid in a list of reusable cells } } @@ -3599,7 +3667,11 @@ SMDS_MeshEdge* SMDS_Mesh::AddEdgeWithID(const SMDS_MeshNode * n1, edgevtk->init(myNodeIds, this); if (!this->registerElement(ID,edgevtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(edgevtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(edgevtk->getVtkId(), VTK_EMPTY_CELL); +#endif myEdgePool->destroy(edgevtk); return 0; } @@ -3682,7 +3754,11 @@ SMDS_MeshFace* SMDS_Mesh::AddFaceWithID(const SMDS_MeshNode * n1, facevtk->init(myNodeIds, this); if (!this->registerElement(ID,facevtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(facevtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(facevtk->getVtkId(), VTK_EMPTY_CELL); +#endif myFacePool->destroy(facevtk); return 0; } @@ -3769,7 +3845,11 @@ SMDS_MeshFace* SMDS_Mesh::AddFaceWithID(const SMDS_MeshNode * n1, facevtk->init(myNodeIds, this); if (!this->registerElement(ID,facevtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(facevtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(facevtk->getVtkId(), VTK_EMPTY_CELL); +#endif myFacePool->destroy(facevtk); return 0; } @@ -3860,7 +3940,11 @@ SMDS_MeshFace* SMDS_Mesh::AddFaceWithID(const SMDS_MeshNode * n1, facevtk->init(myNodeIds, this); if (!this->registerElement(ID,facevtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(facevtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(facevtk->getVtkId(), VTK_EMPTY_CELL); +#endif myFacePool->destroy(facevtk); return 0; } @@ -3954,7 +4038,11 @@ SMDS_MeshFace* SMDS_Mesh::AddFaceWithID(const SMDS_MeshNode * n1, facevtk->init(myNodeIds, this); if (!this->registerElement(ID,facevtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(facevtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(facevtk->getVtkId(), VTK_EMPTY_CELL); +#endif myFacePool->destroy(facevtk); return 0; } @@ -4057,7 +4145,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeWithID(const SMDS_MeshNode * n1, volvtk->init(myNodeIds, this); if (!this->registerElement(ID,volvtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), VTK_EMPTY_CELL); +#endif myVolumePool->destroy(volvtk); return 0; } @@ -4172,7 +4264,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeWithID(const SMDS_MeshNode * n1, volvtk->init(myNodeIds, this); if (!this->registerElement(ID,volvtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), VTK_EMPTY_CELL); +#endif myVolumePool->destroy(volvtk); return 0; } @@ -4299,7 +4395,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeWithID(const SMDS_MeshNode * n1, volvtk->init(myNodeIds, this); if (!this->registerElement(ID,volvtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), VTK_EMPTY_CELL); +#endif myVolumePool->destroy(volvtk); return 0; } @@ -4446,7 +4546,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeWithID(const SMDS_MeshNode * n1, volvtk->init(myNodeIds, this); if (!this->registerElement(ID,volvtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), VTK_EMPTY_CELL); +#endif myVolumePool->destroy(volvtk); return 0; } @@ -4626,7 +4730,11 @@ SMDS_MeshVolume* SMDS_Mesh::AddVolumeWithID(const SMDS_MeshNode * n1, volvtk->init(myNodeIds, this); if (!this->registerElement(ID,volvtk)) { +#if VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 5, 20251004) + this->myGrid->GetCellTypes()->SetTuple1(volvtk->getVtkId(), VTK_EMPTY_CELL); +#else this->myGrid->GetCellTypesArray()->SetValue(volvtk->getVtkId(), VTK_EMPTY_CELL); +#endif myVolumePool->destroy(volvtk); return 0; } diff --git a/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp b/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp index d2e90d7e58..ce9b01a4d2 100644 --- a/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp +++ b/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp @@ -214,11 +214,11 @@ void SMDS_UnstructuredGrid::compactGrid(std::vector& idNodesOldToNew, int n while ( i < oldCellSize ) { // skip a hole if any - while ( i < oldCellSize && this->Types->GetValue(i) == VTK_EMPTY_CELL ) + while ( i < oldCellSize && this->GetCellType(i) == VTK_EMPTY_CELL ) ++i; int startBloc = i; // look for a block end - while ( i < oldCellSize && this->Types->GetValue(i) != VTK_EMPTY_CELL ) + while ( i < oldCellSize && this->GetCellType(i) != VTK_EMPTY_CELL ) ++i; int endBloc = i; if ( endBloc > startBloc ) @@ -242,7 +242,7 @@ void SMDS_UnstructuredGrid::compactGrid(std::vector& idNodesOldToNew, int n { for (int oldCellID = 0; oldCellID < oldCellSize; oldCellID++) { - if (this->Types->GetValue(oldCellID) == VTK_EMPTY_CELL) + if (this->GetCellType(oldCellID) == VTK_EMPTY_CELL) continue; int newCellId = idCellsOldToNew[ oldCellID ]; if (newTypes->GetValue(newCellId) == VTK_POLY_VERTEX) @@ -268,7 +268,7 @@ void SMDS_UnstructuredGrid::compactGrid(std::vector& idNodesOldToNew, int n for (int oldCellId = 0; oldCellId < oldCellSize; oldCellId++) { int newCellId = idCellsOldToNew[oldCellId]; - if ( this->Types->GetValue(newCellId) == VTK_POLYHEDRON ) + if ( this->GetCellType(newCellId) == VTK_POLYHEDRON ) { vtkIdType oldStartFaceLocOff = iniFaceLocO->GetValue( oldCellId ); vtkIdType nCellFaces = iniFaceLocO->GetValue( oldCellId + 1 ) - oldStartFaceLocOff; @@ -327,7 +327,7 @@ void SMDS_UnstructuredGrid::compactGrid(std::vector& idNodesOldToNew, int n newFaces->Allocate(thisFaces->GetSize()); for (int i = 0; i < oldCellSize; i++) { - if (this->Types->GetValue(i) == VTK_EMPTY_CELL) + if (this->GetCellType(i) == VTK_EMPTY_CELL) continue; int newCellId = idCellsOldToNew[i]; if (newTypes->GetValue(newCellId) == VTK_POLYHEDRON) @@ -399,7 +399,7 @@ void SMDS_UnstructuredGrid::copyBloc(vtkUnsignedCharArray *newTypes, //MESSAGE("copyBloc " << alreadyCopied << " " << start << " " << end << " size: " << end - start << " total: " << alreadyCopied + end - start); for (int j = start; j < end; j++) { - newTypes->SetValue(alreadyCopied, this->Types->GetValue(j)); + newTypes->SetValue(alreadyCopied, this->GetCellType(j)); idCellsOldToNew[j] = alreadyCopied; // old vtkId --> new vtkId // The difference is mainly the internal representation of vtkCellArray between vtk 7.x and vtk 9.x // In the old version a single array of the form (n1,id1,id2,...,idn1, n2,id1,id2,...,idn2, ...) is used @@ -412,7 +412,7 @@ void SMDS_UnstructuredGrid::copyBloc(vtkUnsignedCharArray *newTypes, vtkIdTypePtr oldPtsCell = 0; this->Connectivity->GetCell(oldLoc, nbpts, oldPtsCell); assert(nbpts < NBMAXNODESINCELL); - //MESSAGE(j << " " << alreadyCopied << " " << (int)this->Types->GetValue(j) << " " << oldLoc << " " << nbpts ); + //MESSAGE(j << " " << alreadyCopied << " " << (int)this->GetCellType(j) << " " << oldLoc << " " << nbpts ); for (int l = 0; l < nbpts; l++) { int oldval = oldPtsCell[l]; @@ -1076,6 +1076,7 @@ void SMDS_UnstructuredGrid::BuildLinks() GetLinks()->BuildLinks(this); #else GetLinks()->SetDataSet(this); + std::cout << this->GetNumberOfPoints() << std::endl; GetLinks()->BuildLinks(); #endif GetLinks()->Delete();