diff --git a/fix-3d48a287-support-new-api-cgio_read_data_type.patch b/fix-3d48a287-support-new-api-cgio_read_data_type.patch new file mode 100644 index 0000000..856384d --- /dev/null +++ b/fix-3d48a287-support-new-api-cgio_read_data_type.patch @@ -0,0 +1,543 @@ +From 3d48a287141eb911b4888440e09c262743b4db3c Mon Sep 17 00:00:00 2001 +From: Mickael PHILIT +Date: Wed, 4 Mar 2020 14:54:30 +0100 +Subject: [PATCH] Add support for new API cgio_read_***data***_type + +CGNS 4.1 removed old cgio API and now support providing memory data type. +Changes are made to keep current behavior of CGNS reading. +Data conversion is not let to CGNS with new API as it may only be stable for HDF5 files. +--- + VTKExtensions/CGNSReader/cgio_helpers.cxx | 14 +-- + VTKExtensions/CGNSReader/cgio_helpers.h | 3 +- + VTKExtensions/CGNSReader/vtkCGNSReader.cxx | 85 +++++++++++++------ + .../CGNSReader/vtkCGNSReaderInternal.cxx | 44 +++++----- + .../CGNSReader/vtkCGNSReaderInternal.h | 53 ++++++++++-- + 5 files changed, 133 insertions(+), 66 deletions(-) + +diff --git a/VTKExtensions/CGNSReader/cgio_helpers.cxx b/VTKExtensions/CGNSReader/cgio_helpers.cxx +index 1e8ecae8c5..44429a4dd0 100644 +--- a/VTKExtensions/CGNSReader/cgio_helpers.cxx ++++ b/VTKExtensions/CGNSReader/cgio_helpers.cxx +@@ -44,7 +44,7 @@ int readNodeStringData(int cgioNum, double nodeId, std::string& data) + + data.resize(size); + // read data +- if (cgio_read_all_data(cgioNum, nodeId, (void*)data.c_str()) != CG_OK) ++ if (cgio_read_all_data_type(cgioNum, nodeId, "C1", (void*)data.c_str()) != CG_OK) + { + return 1; + } +@@ -80,7 +80,7 @@ int readNodeData(int cgioNum, double nodeId, std::vector& data) + data.resize(size + 1); + + // read data +- if (cgio_read_all_data(cgioNum, nodeId, &data[0]) != CG_OK) ++ if (cgio_read_all_data_type(cgioNum, nodeId, "C1", &data[0]) != CG_OK) + { + return 1; + } +@@ -167,7 +167,7 @@ int readBaseIds(int cgioNum, double rootId, std::vector& baseIds) + int readBaseCoreInfo(int cgioNum, double baseId, CGNSRead::BaseInformation& baseInfo) + { + CGNSRead::char_33 dataType; +- std::vector mdata; ++ std::vector mdata; + + if (cgio_get_name(cgioNum, baseId, baseInfo.name) != CG_OK) + { +@@ -187,7 +187,7 @@ int readBaseCoreInfo(int cgioNum, double baseId, CGNSRead::BaseInformation& base + return 1; + } + +- if (CGNSRead::readNodeData(cgioNum, baseId, mdata) != 0) ++ if (CGNSRead::readNodeData(cgioNum, baseId, mdata) != 0) + { + std::cerr << "error while reading base dimension" << std::endl; + return 1; +@@ -209,7 +209,7 @@ int readBaseIteration(int cgioNum, double nodeId, CGNSRead::BaseInformation& bas + bool createTimeStates = true; + bool createIterStates = true; + +- std::vector ndata; ++ std::vector ndata; + // read node data type + if (cgio_get_data_type(cgioNum, nodeId, dataType) != CG_OK) + { +@@ -222,7 +222,7 @@ int readBaseIteration(int cgioNum, double nodeId, CGNSRead::BaseInformation& bas + return 1; + } + +- if (CGNSRead::readNodeData(cgioNum, nodeId, ndata) != 0) ++ if (CGNSRead::readNodeData(cgioNum, nodeId, ndata) != 0) + { + std::cerr << "error while reading number of state in base" << std::endl; + return 1; +@@ -298,7 +298,7 @@ int readBaseIteration(int cgioNum, double nodeId, CGNSRead::BaseInformation& bas + } + + baseInfo.steps.clear(); +- CGNSRead::readNodeData(cgioNum, childrenIterative[nc], baseInfo.steps); ++ CGNSRead::readNodeData(cgioNum, childrenIterative[nc], baseInfo.steps); + if (static_cast(baseInfo.steps.size()) != nstates) + { + std::cerr << "Error reading steps node"; +diff --git a/VTKExtensions/CGNSReader/cgio_helpers.h b/VTKExtensions/CGNSReader/cgio_helpers.h +index bef0f3fbfa..07deb54ebe 100644 +--- a/VTKExtensions/CGNSReader/cgio_helpers.h ++++ b/VTKExtensions/CGNSReader/cgio_helpers.h +@@ -46,6 +46,7 @@ inline int readNodeData(int cgioNum, double nodeId, std::vector& data) + cgsize_t size = 1; + cgsize_t dimVals[12]; + int ndim; ++ constexpr const char* dtName = CGNSRead::detail::cgns_type_name(); + + if (cgio_get_dimensions(cgioNum, nodeId, &ndim, dimVals) != CG_OK) + { +@@ -65,7 +66,7 @@ inline int readNodeData(int cgioNum, double nodeId, std::vector& data) + data.resize(size); + + // read data +- if (cgio_read_all_data(cgioNum, nodeId, &data[0]) != CG_OK) ++ if (cgio_read_all_data_type(cgioNum, nodeId, dtName, &data[0]) != CG_OK) + { + return 1; + } +diff --git a/VTKExtensions/CGNSReader/vtkCGNSReader.cxx b/VTKExtensions/CGNSReader/vtkCGNSReader.cxx +index a1c417b810..7ca523997a 100644 +--- a/VTKExtensions/CGNSReader/vtkCGNSReader.cxx ++++ b/VTKExtensions/CGNSReader/vtkCGNSReader.cxx +@@ -526,6 +526,33 @@ int StartsWithFlowSolution(const char* s) + + return ret; + } ++//---------------------------------------------------------------------------- ++// Small helper ++const char* get_data_type(const CGNS_ENUMT(DataType_t) dt) ++{ ++ const char* dataType; ++ switch (dt) ++ { ++ case CGNS_ENUMV(Integer): ++ dataType = "I4"; ++ break; ++ case CGNS_ENUMV(LongInteger): ++ dataType = "I8"; ++ break; ++ case CGNS_ENUMV(RealSingle): ++ dataType = "R4"; ++ break; ++ case CGNS_ENUMV(RealDouble): ++ dataType = "R8"; ++ break; ++ case CGNS_ENUMV(Character): ++ dataType = "C1"; ++ break; ++ default: ++ dataType = "MT"; ++ } ++ return dataType; ++} + + //---------------------------------------------------------------------------- + vtkCGNSReader::vtkCGNSReader() +@@ -672,7 +699,8 @@ int vtkCGNSReader::vtkPrivate::getGridAndSolutionNames(int base, std::string& gr + { + CGNSRead::char_33 gname; + const cgsize_t offset = static_cast(self->ActualTimeStep * 32); +- cgio_read_block_data(self->cgioNum, giterId, offset + 1, offset + 32, (void*)gname); ++ cgio_read_block_data_type( ++ self->cgioNum, giterId, offset + 1, offset + 32, "C1", (void*)gname); + gname[32] = '\0'; + // NOTE: Names or identifiers contain no spaces and capitalization + // is used to distinguish individual words making up a name. +@@ -732,9 +760,9 @@ int vtkCGNSReader::vtkPrivate::getGridAndSolutionNames(int base, std::string& gr + EndsWithPointers(nodeName)) + { + CGNSRead::char_33 gname; +- cgio_read_block_data(self->cgioNum, iterChildId[cc], ++ cgio_read_block_data_type(self->cgioNum, iterChildId[cc], + (cgsize_t)(self->ActualTimeStep * 32 + 1), (cgsize_t)(self->ActualTimeStep * 32 + 32), +- (void*)gname); ++ "C1", (void*)gname); + gname[32] = '\0'; + CGNSRead::removeTrailingWhiteSpaces(gname); + std::string tmpStr = std::string(gname); +@@ -1197,28 +1225,30 @@ int vtkCGNSReader::vtkPrivate::readSolution(const std::string& solutionNameStr, + continue; + } + double cgioVarId = solChildId[ff]; ++ const char* fieldDataType = get_data_type(cgnsVars[ff].dt); + + // quick transfer of data because data types is given by cgns database + if (cgnsVars[ff].isComponent == false) + { +- if (cgio_read_data(self->cgioNum, cgioVarId, fieldSrcStart, fieldSrcEnd, fieldSrcStride, +- cellDim, fieldMemDims, fieldMemStart, fieldMemEnd, fieldMemStride, ++ if (cgio_read_data_type(self->cgioNum, cgioVarId, fieldSrcStart, fieldSrcEnd, fieldSrcStride, ++ fieldDataType, cellDim, fieldMemDims, fieldMemStart, fieldMemEnd, fieldMemStride, + (void*)vtkVars[ff]->GetVoidPointer(0)) != CG_OK) + { + char message[81]; + cgio_error_message(message); +- vtkGenericWarningMacro(<< "cgio_read_data :" << message); ++ vtkGenericWarningMacro(<< "cgio_read_data_type :" << message); + } + } + else + { +- if (cgio_read_data(self->cgioNum, cgioVarId, fieldSrcStart, fieldSrcEnd, fieldSrcStride, +- cellDim, fieldVectMemDims, fieldVectMemStart, fieldVectMemEnd, fieldVectMemStride, ++ if (cgio_read_data_type(self->cgioNum, cgioVarId, fieldSrcStart, fieldSrcEnd, fieldSrcStride, ++ fieldDataType, cellDim, fieldVectMemDims, fieldVectMemStart, fieldVectMemEnd, ++ fieldVectMemStride, + (void*)vtkVars[ff]->GetVoidPointer(cgnsVars[ff].xyzIndex - 1)) != CG_OK) + { + char message[81]; + cgio_error_message(message); +- vtkGenericWarningMacro(<< "cgio_read_data :" << message); ++ vtkGenericWarningMacro(<< "cgio_read_data_type :" << message); + } + } + cgio_release_id(self->cgioNum, cgioVarId); +@@ -1448,6 +1478,7 @@ int vtkCGNSReader::vtkPrivate::readBCData(const double nodeId, const int cellDim + continue; + } + double cgioVarId = varIds[ff]; ++ const char* fieldDataType = get_data_type(cgnsVars[ff].dt); + + cgsize_t dataSize = 1; + cgsize_t dimVals[12]; +@@ -1474,12 +1505,12 @@ int vtkCGNSReader::vtkPrivate::readBCData(const double nodeId, const int cellDim + // quick transfer of data because data types is given by cgns database + if (cgnsVars[ff].isComponent == false) + { +- if (cgio_read_all_data( +- self->cgioNum, cgioVarId, (void*)vtkVars[ff]->GetVoidPointer(0)) != CG_OK) ++ if (cgio_read_all_data_type(self->cgioNum, cgioVarId, fieldDataType, ++ (void*)vtkVars[ff]->GetVoidPointer(0)) != CG_OK) + { + char message[81]; + cgio_error_message(message); +- vtkGenericWarningMacro(<< "cgio_read_data :" << message); ++ vtkGenericWarningMacro(<< "cgio_read_all_data_type :" << message); + } + if (dataSize == 1) + { +@@ -1510,14 +1541,14 @@ int vtkCGNSReader::vtkPrivate::readBCData(const double nodeId, const int cellDim + fieldVectMemDims[0] = fieldSrcEnd[0] * fieldVectMemStride[0]; + fieldVectMemEnd[0] = fieldSrcEnd[0] * fieldVectMemStride[0]; + +- if (cgio_read_data(self->cgioNum, cgioVarId, fieldSrcStart, fieldSrcEnd, +- fieldSrcStride, 1, fieldVectMemDims, fieldVectMemStart, fieldVectMemEnd, +- fieldVectMemStride, ++ if (cgio_read_data_type(self->cgioNum, cgioVarId, fieldSrcStart, fieldSrcEnd, ++ fieldSrcStride, fieldDataType, 1, fieldVectMemDims, fieldVectMemStart, ++ fieldVectMemEnd, fieldVectMemStride, + (void*)vtkVars[ff]->GetVoidPointer(cgnsVars[ff].xyzIndex - 1)) != CG_OK) + { + char message[81]; + cgio_error_message(message); +- vtkGenericWarningMacro(<< "cgio_read_data :" << message); ++ vtkGenericWarningMacro(<< "cgio_read_data_type :" << message); + } + if (dataSize == 1) + { +@@ -2231,7 +2262,7 @@ int vtkCGNSReader::GetUnstructuredZone( + + // + CGNSRead::char_33 dataType; +- std::vector mdata; ++ std::vector mdata; + + if (cgio_get_name(this->cgioNum, elemIdList[sec], sectionInfoList[sec].name) != CG_OK) + { +@@ -2246,7 +2277,7 @@ int vtkCGNSReader::GetUnstructuredZone( + vtkErrorMacro(<< "Unexpected data type for dimension data of Element\n"); + } + +- CGNSRead::readNodeData(cgioNum, elemIdList[sec], mdata); ++ CGNSRead::readNodeData(cgioNum, elemIdList[sec], mdata); + if (mdata.size() != 2) + { + vtkErrorMacro(<< "Unexpected data for Elements_t node\n"); +@@ -2267,8 +2298,8 @@ int vtkCGNSReader::GetUnstructuredZone( + + if (strcmp(dataType, "I4") == 0) + { +- std::vector mdata2; +- CGNSRead::readNodeData(this->cgioNum, elemRangeId, mdata2); ++ std::vector mdata2; ++ CGNSRead::readNodeData(this->cgioNum, elemRangeId, mdata2); + if (mdata2.size() != 2) + { + vtkErrorMacro(<< "Unexpected data for ElementRange node\n"); +@@ -2278,8 +2309,8 @@ int vtkCGNSReader::GetUnstructuredZone( + } + else if (strcmp(dataType, "I8") == 0) + { +- std::vector mdata2; +- CGNSRead::readNodeData(this->cgioNum, elemRangeId, mdata2); ++ std::vector mdata2; ++ CGNSRead::readNodeData(this->cgioNum, elemRangeId, mdata2); + if (mdata2.size() != 2) + { + vtkErrorMacro(<< "Unexpected data for ElementRange node\n"); +@@ -4437,8 +4468,8 @@ int vtkCGNSReader::RequestData(vtkInformation* vtkNotUsed(request), + + if (strcmp(dataType, "I4") == 0) + { +- std::vector mdata; +- CGNSRead::readNodeData(this->cgioNum, baseChildId[zone], mdata); ++ std::vector mdata; ++ CGNSRead::readNodeData(this->cgioNum, baseChildId[zone], mdata); + for (std::size_t index = 0; index < mdata.size(); index++) + { + zsize[index] = static_cast(mdata[index]); +@@ -4446,8 +4477,8 @@ int vtkCGNSReader::RequestData(vtkInformation* vtkNotUsed(request), + } + else if (strcmp(dataType, "I8") == 0) + { +- std::vector mdata; +- CGNSRead::readNodeData(this->cgioNum, baseChildId[zone], mdata); ++ std::vector mdata; ++ CGNSRead::readNodeData(this->cgioNum, baseChildId[zone], mdata); + for (std::size_t index = 0; index < mdata.size(); index++) + { + zsize[index] = static_cast(mdata[index]); +@@ -4724,7 +4755,7 @@ int vtkCGNSReader::CanReadFile(const char* name) + } + + // read data +- if (cgio_read_all_data(cgioFile, childId, &FileVersion)) ++ if (cgio_read_all_data_type(cgioFile, childId, "R4", &FileVersion)) + { + vtkErrorMacro(<< "read CGNS version number"); + ierr = 0; +diff --git a/VTKExtensions/CGNSReader/vtkCGNSReaderInternal.cxx b/VTKExtensions/CGNSReader/vtkCGNSReaderInternal.cxx +index 92c0d6ac51..a2bcf1a443 100644 +--- a/VTKExtensions/CGNSReader/vtkCGNSReaderInternal.cxx ++++ b/VTKExtensions/CGNSReader/vtkCGNSReaderInternal.cxx +@@ -36,8 +36,8 @@ int setUpRind(const int cgioNum, const double rindId, int* rind) + + if (strcmp(dataType, "I4") == 0) + { +- std::vector mdata; +- CGNSRead::readNodeData(cgioNum, rindId, mdata); ++ std::vector mdata; ++ CGNSRead::readNodeData(cgioNum, rindId, mdata); + for (std::size_t index = 0; index < mdata.size(); index++) + { + rind[index] = static_cast(mdata[index]); +@@ -45,8 +45,8 @@ int setUpRind(const int cgioNum, const double rindId, int* rind) + } + else if (strcmp(dataType, "I8") == 0) + { +- std::vector mdata; +- CGNSRead::readNodeData(cgioNum, rindId, mdata); ++ std::vector mdata; ++ CGNSRead::readNodeData(cgioNum, rindId, mdata); + for (std::size_t index = 0; index < mdata.size(); index++) + { + rind[index] = static_cast(mdata[index]); +@@ -156,12 +156,12 @@ int get_section_connectivity(const int cgioNum, const double cgioSectionId, cons + + if (sizeOfCnt == sizeof(vtkIdType)) + { +- if (cgio_read_data(cgioNum, cgioElemConnectId, srcStart, srcEnd, srcStride, dim, memDim, +- memStart, memEnd, memStride, (void*)localElements) != CG_OK) ++ if (cgio_read_data_type(cgioNum, cgioElemConnectId, srcStart, srcEnd, srcStride, dataType, dim, ++ memDim, memStart, memEnd, memStride, (void*)localElements) != CG_OK) + { + char message[81]; + cgio_error_message(message); +- std::cerr << "cgio_read_data :" << message; ++ std::cerr << "cgio_read_data_type :" << message; + return 1; + } + } +@@ -181,13 +181,13 @@ int get_section_connectivity(const int cgioNum, const double cgioSectionId, cons + std::cerr << "Allocation failed for temporary connectivity array\n"; + } + +- if (cgio_read_data(cgioNum, cgioElemConnectId, srcStart, srcEnd, srcStride, dim, memDim, +- memStart, memEnd, memStride, (void*)data) != CG_OK) ++ if (cgio_read_data_type(cgioNum, cgioElemConnectId, srcStart, srcEnd, srcStride, "I4", dim, ++ memDim, memStart, memEnd, memStride, (void*)data) != CG_OK) + { + delete[] data; + char message[81]; + cgio_error_message(message); +- std::cerr << "cgio_read_data :" << message; ++ std::cerr << "cgio_read_data_type :" << message; + return 1; + } + for (cgsize_t n = 0; n < nn; n++) +@@ -204,13 +204,13 @@ int get_section_connectivity(const int cgioNum, const double cgioSectionId, cons + std::cerr << "Allocation failed for temporary connectivity array\n"; + return 1; + } +- if (cgio_read_data(cgioNum, cgioElemConnectId, srcStart, srcEnd, srcStride, dim, memDim, +- memStart, memEnd, memStride, (void*)data) != CG_OK) ++ if (cgio_read_data_type(cgioNum, cgioElemConnectId, srcStart, srcEnd, srcStride, "I8", dim, ++ memDim, memStart, memEnd, memStride, (void*)data) != CG_OK) + { + delete[] data; + char message[81]; + cgio_error_message(message); +- std::cerr << "cgio_read_data :" << message; ++ std::cerr << "cgio_read_data_type :" << message; + return 1; + } + for (cgsize_t n = 0; n < nn; n++) +@@ -258,12 +258,12 @@ int get_section_start_offset(const int cgioNum, const double cgioSectionId, cons + + if (sizeOfCnt == sizeof(vtkIdType)) + { +- if (cgio_read_data(cgioNum, cgioElemOffsetId, srcStart, srcEnd, srcStride, dim, memDim, +- memStart, memEnd, memStride, (void*)localElementsIdx) != CG_OK) ++ if (cgio_read_data_type(cgioNum, cgioElemOffsetId, srcStart, srcEnd, srcStride, dataType, dim, ++ memDim, memStart, memEnd, memStride, (void*)localElementsIdx) != CG_OK) + { + char message[81]; + cgio_error_message(message); +- std::cerr << "cgio_read_data :" << message; ++ std::cerr << "cgio_read_data_type :" << message; + return 1; + } + } +@@ -283,13 +283,13 @@ int get_section_start_offset(const int cgioNum, const double cgioSectionId, cons + std::cerr << "Allocation failed for temporary connectivity offset array\n"; + } + +- if (cgio_read_data(cgioNum, cgioElemOffsetId, srcStart, srcEnd, srcStride, dim, memDim, +- memStart, memEnd, memStride, (void*)data) != CG_OK) ++ if (cgio_read_data_type(cgioNum, cgioElemOffsetId, srcStart, srcEnd, srcStride, "I4", dim, ++ memDim, memStart, memEnd, memStride, (void*)data) != CG_OK) + { + delete[] data; + char message[81]; + cgio_error_message(message); +- std::cerr << "cgio_read_data :" << message; ++ std::cerr << "cgio_read_data_type :" << message; + return 1; + } + for (cgsize_t n = 0; n < nn; n++) +@@ -306,13 +306,13 @@ int get_section_start_offset(const int cgioNum, const double cgioSectionId, cons + std::cerr << "Allocation failed for temporary connectivity array\n"; + return 1; + } +- if (cgio_read_data(cgioNum, cgioElemOffsetId, srcStart, srcEnd, srcStride, dim, memDim, +- memStart, memEnd, memStride, (void*)data) != CG_OK) ++ if (cgio_read_data_type(cgioNum, cgioElemOffsetId, srcStart, srcEnd, srcStride, "I8", dim, ++ memDim, memStart, memEnd, memStride, (void*)data) != CG_OK) + { + delete[] data; + char message[81]; + cgio_error_message(message); +- std::cerr << "cgio_read_data :" << message; ++ std::cerr << "cgio_read_data_type :" << message; + return 1; + } + for (cgsize_t n = 0; n < nn; n++) +diff --git a/VTKExtensions/CGNSReader/vtkCGNSReaderInternal.h b/VTKExtensions/CGNSReader/vtkCGNSReaderInternal.h +index 4bcfd5c75a..3df3bae8de 100644 +--- a/VTKExtensions/CGNSReader/vtkCGNSReaderInternal.h ++++ b/VTKExtensions/CGNSReader/vtkCGNSReaderInternal.h +@@ -72,6 +72,39 @@ struct is_float + }; + } + ++namespace detail ++{ ++template ++constexpr const char* cgns_type_name() noexcept ++{ ++ return "MT"; ++} ++ ++template <> ++constexpr const char* cgns_type_name() noexcept ++{ ++ return "R4"; ++} ++ ++template <> ++constexpr const char* cgns_type_name() noexcept ++{ ++ return "R8"; ++} ++ ++template <> ++constexpr const char* cgns_type_name() noexcept ++{ ++ return "I4"; ++} ++ ++template <> ++constexpr const char* cgns_type_name() noexcept ++{ ++ return "I8"; ++} ++} ++ + typedef char char_33[33]; + + //------------------------------------------------------------------------------ +@@ -206,12 +239,12 @@ class BaseInformation + public: + char_33 name; + +- int cellDim; +- int physicalDim; ++ int32_t cellDim; ++ int32_t physicalDim; + // + int baseNumber; + +- std::vector steps; ++ std::vector steps; + std::vector times; + + // For unsteady meshes : +@@ -469,16 +502,18 @@ int get_XYZ_mesh(const int cgioNum, const std::vector& gridChildId, + // quick transfer of data if same data types + if (sameType == true) + { +- if (cgio_read_data(cgioNum, coordId, srcStart, srcEnd, srcStride, cellDim, memEnd, memStart, +- memEnd, memStride, (void*)currentCoord)) ++ constexpr const char* dtNameT = detail::cgns_type_name(); ++ if (cgio_read_data_type(cgioNum, coordId, srcStart, srcEnd, srcStride, dtNameT, cellDim, ++ memEnd, memStart, memEnd, memStride, (void*)currentCoord)) + { + char message[81]; + cgio_error_message(message); +- std::cerr << "cgio_read_data :" << message; ++ std::cerr << "cgio_read_data_type :" << message; + } + } + else + { ++ constexpr const char* dtNameY = detail::cgns_type_name(); + Y* dataArray = 0; + const cgsize_t memNoStride[3] = { 1, 1, 1 }; + +@@ -489,13 +524,13 @@ int get_XYZ_mesh(const int cgioNum, const std::vector& gridChildId, + std::cerr << "Error allocating buffer array\n"; + break; + } +- if (cgio_read_data(cgioNum, coordId, srcStart, srcEnd, srcStride, cellDim, memDims, memStart, +- memDims, memNoStride, (void*)dataArray)) ++ if (cgio_read_data_type(cgioNum, coordId, srcStart, srcEnd, srcStride, dtNameY, cellDim, ++ memDims, memStart, memDims, memNoStride, (void*)dataArray)) + { + delete[] dataArray; + char message[81]; + cgio_error_message(message); +- std::cerr << "Buffer array cgio_read_data :" << message; ++ std::cerr << "Buffer array cgio_read_data_type :" << message; + break; + } + for (vtkIdType ii = 0; ii < nPts; ++ii) +-- +2.24.1 + diff --git a/paraview.changes b/paraview.changes index 1d5ae22..08c3cd8 100644 --- a/paraview.changes +++ b/paraview.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Apr 8 18:26:31 UTC 2020 - Christoph G + +- add patch fix-3d48a287-support-new-api-cgio_read_data_type.patch + from upstream to fix build problem for Factory + ------------------------------------------------------------------- Fri Feb 28 14:05:40 UTC 2020 - Atri Bhattacharya diff --git a/paraview.spec b/paraview.spec index 4e55a19..35c7227 100644 --- a/paraview.spec +++ b/paraview.spec @@ -45,6 +45,8 @@ Source2: https://www.paraview.org/files/v%{major_ver}/ParaViewGettingStar Source3: https://www.paraview.org/files/v%{major_ver}/ParaViewGuide-%{version}.pdf # PATCH-FIX-UPSTREAM paraview-desktop-entry-fix.patch badshah400@gmail.com -- Fix desktop menu entry by inserting proper required categories Patch1: paraview-desktop-entry-fix.patch +# PATCH-FIX-UPSTREAM fix-3d48a287-support-new-api-cgio_read_data_type.patch -- Add support for new API cgio_read_***data***_type +Patch2: fix-3d48a287-support-new-api-cgio_read_data_type.patch # PATCH-FIX-UPSTREAM paraview-do-not-install-missing-vtk-doxygen-dir.patch foss@grueninger.de -- Remove install of nonexistent doxygen/html dir Patch3: paraview-do-not-install-missing-vtk-doxygen-dir.patch # PATCH-FIX-OPENSUSE fix-libharu-missing-m.patch -- missing libraries for linking