From 029dc689fe49a720454cfc5d85c2586bc90085f0 Mon Sep 17 00:00:00 2001 From: vsr Date: Tue, 25 Jan 2011 11:23:48 +0000 Subject: [PATCH] 0021151: [CEA] unit test fails Index of sub-shape might be greater than 32767 (max allowed value for short type) --- src/SMDS/SMDS_MeshElement.cxx | 4 ++-- src/SMDS/SMDS_MeshElement.hxx | 11 ++++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/SMDS/SMDS_MeshElement.cxx b/src/SMDS/SMDS_MeshElement.cxx index 17a1935ae..e032c3a33 100644 --- a/src/SMDS/SMDS_MeshElement.cxx +++ b/src/SMDS/SMDS_MeshElement.cxx @@ -40,12 +40,12 @@ SMDS_MeshElement::SMDS_MeshElement(int ID) init(ID); } -SMDS_MeshElement::SMDS_MeshElement(int id, ShortType meshId, ShortType shapeId) +SMDS_MeshElement::SMDS_MeshElement(int id, ShortType meshId, LongType shapeId) { init(id, meshId, shapeId); } -void SMDS_MeshElement::init(int id, ShortType meshId, ShortType shapeId ) +void SMDS_MeshElement::init(int id, ShortType meshId, LongType shapeId ) { myID = id; myMeshId = meshId; diff --git a/src/SMDS/SMDS_MeshElement.hxx b/src/SMDS/SMDS_MeshElement.hxx index a849a43fa..546ef30f2 100644 --- a/src/SMDS/SMDS_MeshElement.hxx +++ b/src/SMDS/SMDS_MeshElement.hxx @@ -43,6 +43,7 @@ //typedef unsigned short UShortType; typedef short ShortType; +typedef long LongType; class SMDS_MeshNode; class SMDS_MeshEdge; @@ -140,18 +141,18 @@ public: int GetNodeIndex( const SMDS_MeshNode* node ) const; inline ShortType getMeshId() const {return myMeshId; } - inline ShortType getshapeId() const {return myShapeId; } + inline LongType getshapeId() const {return myShapeId; } inline int getIdInShape() const { return myIdInShape; } inline int getVtkId() const { return myVtkID; } protected: inline void setId(int id) {myID = id; } - inline void setShapeId(ShortType shapeId) {myShapeId = shapeId; } + inline void setShapeId(LongType shapeId) {myShapeId = shapeId; } inline void setIdInShape(int id) { myIdInShape = id; } inline void setVtkId(int vtkId) { myVtkID = vtkId; } SMDS_MeshElement(int ID=-1); - SMDS_MeshElement(int id, ShortType meshId, ShortType shapeId = 0); - virtual void init(int id = -1, ShortType meshId = -1, ShortType shapeId = 0); + SMDS_MeshElement(int id, ShortType meshId, LongType shapeId = 0); + virtual void init(int id = -1, ShortType meshId = -1, LongType shapeId = 0); virtual void Print(std::ostream & OS) const; //! Element index in vector SMDS_Mesh::myNodes or SMDS_Mesh::myCells @@ -161,7 +162,7 @@ protected: //! SMDS_Mesh identification in SMESH ShortType myMeshId; //! SubShape and SubMesh identification in SMESHDS - ShortType myShapeId; + LongType myShapeId; //! Element index in SMESHDS_SubMesh vector int myIdInShape; }; -- 2.39.2