]> SALOME platform Git repositories - tools/medcoupling.git/commitdiff
Salome HOME
[EDF25207] : Fix bbox computation in the polhedron with more than 255 nodes context
authorAnthony Geay <anthony.geay@edf.fr>
Mon, 11 Apr 2022 12:13:25 +0000 (14:13 +0200)
committerAnthony Geay <anthony.geay@edf.fr>
Mon, 11 Apr 2022 12:13:25 +0000 (14:13 +0200)
src/INTERP_KERNEL/MeshElement.hxx
src/INTERP_KERNEL/MeshElement.txx

index 6324f594e3f3b8bd283f0561afac1bee29013c9c..2953cf96010f73351eb9c962b1b2a4f0830c7eaf 100644 (file)
@@ -22,6 +22,8 @@
 
 #include "BoundingBox.hxx"
 
+#include <cstdint>
+
 namespace INTERP_KERNEL
 {
 
@@ -42,7 +44,7 @@ namespace INTERP_KERNEL
     
     ConnType getIndex() const { return _index; }
     
-    unsigned char getNumberOfNodes() const { return _number; }
+    std::uint16_t getNumberOfNodes() const { return _number; }
     
     const BoundingBox* getBoundingBox() const { return _box; }
 
@@ -56,7 +58,7 @@ namespace INTERP_KERNEL
     /// global number of the element
     const ConnType _index;
 
-    const unsigned char _number;
+    const std::uint16_t _number;
     
     /// bounding box of the element - does not change after having been initialised
     BoundingBox* _box;
index 5fa0d6a02657cf6610964dc3ac3f31a24aec682f..e73d8074cf7eb3d2a370758ecb315b7c63269f59 100755 (executable)
@@ -39,11 +39,11 @@ namespace INTERP_KERNEL
   template<class ConnType>
   template<class MyMeshType>
   MeshElement<ConnType>::MeshElement(const ConnType index, const MyMeshType& mesh)
-    : _index(index), _number((unsigned char)mesh.getNumberOfNodesOfElement(OTT<typename MyMeshType::MyConnType,MyMeshType::My_numPol>::indFC(index))), _box(0)
+    : _index(index), _number( static_cast<std::uint16_t>(mesh.getNumberOfNodesOfElement(OTT<typename MyMeshType::MyConnType,MyMeshType::My_numPol>::indFC(index))) ), _box(nullptr)
   {
     const double**vertices = new const double*[_number];
 
-    for(unsigned char i = 0 ; i < _number ; ++i)
+    for(std::uint16_t i = 0 ; i < _number ; ++i)
       vertices[i] = getCoordsOfNode(i , OTT<typename MyMeshType::MyConnType,MyMeshType::My_numPol>::indFC(index), mesh);
 
     // create bounding box