From: Viktor UZLOV Date: Tue, 26 Jan 2021 11:44:58 +0000 (+0300) Subject: correct SMESH_ElementFactory X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=fed3f445536b7fd310a30d88096b62ba52fb1a03;p=modules%2Fsmesh.git correct SMESH_ElementFactory --- diff --git a/src/SMDS/SMDS_ElementFactory.cxx b/src/SMDS/SMDS_ElementFactory.cxx index e4dbe1ae0..ed07ccdf8 100644 --- a/src/SMDS/SMDS_ElementFactory.cxx +++ b/src/SMDS/SMDS_ElementFactory.cxx @@ -92,11 +92,11 @@ SMDS_ElementFactory::~SMDS_ElementFactory() //================================================================================ /*! * \brief Return a number of elements in a chunk - * \return int - chunk size + * \return smIdType - chunk size */ //================================================================================ -int SMDS_ElementFactory::ChunkSize() +smIdType SMDS_ElementFactory::ChunkSize() { return theChunkSize; } @@ -108,7 +108,7 @@ int SMDS_ElementFactory::ChunkSize() */ //================================================================================ -int SMDS_ElementFactory::GetFreeID() +smIdType SMDS_ElementFactory::GetFreeID() { if ( myChunksWithUnused.empty() ) { @@ -122,11 +122,11 @@ int SMDS_ElementFactory::GetFreeID() //================================================================================ /*! * \brief Return maximal ID of an used element - * \return int - element ID + * \return smIdType - element ID */ //================================================================================ -int SMDS_ElementFactory::GetMaxID() +smIdType SMDS_ElementFactory::GetMaxID() { int id = 0; TIndexRanges usedRanges; @@ -143,11 +143,11 @@ int SMDS_ElementFactory::GetMaxID() //================================================================================ /*! * \brief Return minimal ID of an used element - * \return int - element ID + * \return smIdType - element ID */ //================================================================================ -int SMDS_ElementFactory::GetMinID() +smIdType SMDS_ElementFactory::GetMinID() { int id = 0; TIndexRanges usedRanges; @@ -169,7 +169,7 @@ int SMDS_ElementFactory::GetMinID() */ //================================================================================ -SMDS_MeshElement* SMDS_ElementFactory::NewElement( const int id ) +SMDS_MeshElement* SMDS_ElementFactory::NewElement( const smIdType id ) { int iChunk = ( id - 1 ) / theChunkSize; int index = ( id - 1 ) % theChunkSize; @@ -200,7 +200,7 @@ SMDS_MeshElement* SMDS_ElementFactory::NewElement( const int id ) */ //================================================================================ -const SMDS_MeshElement* SMDS_ElementFactory::FindElement( const int id ) const +const SMDS_MeshElement* SMDS_ElementFactory::FindElement( const smIdType id ) const { if ( id > 0 ) { @@ -488,7 +488,7 @@ void SMDS_NodeFactory::SetNbShapes( size_t nbShapes ) */ //================================================================================ -int SMDS_NodeFactory::GetShapeDim( int shapeID ) const +int SMDS_NodeFactory::GetShapeDim( smIdType shapeID ) const { return shapeID < (int)myShapeDim.size() ? myShapeDim[ shapeID ] : theDefaultShapeDim; } @@ -499,9 +499,9 @@ int SMDS_NodeFactory::GetShapeDim( int shapeID ) const */ //================================================================================ -void SMDS_NodeFactory::SetShapeDim( int shapeID, int dim ) +void SMDS_NodeFactory::SetShapeDim( smIdType shapeID, int dim ) { - if ( shapeID >= (int)myShapeDim.size() ) + if ( shapeID >= (smIdType)myShapeDim.size() ) myShapeDim.resize( shapeID + 10, theDefaultShapeDim ); myShapeDim[ shapeID ] = dim; } diff --git a/src/SMDS/SMDS_ElementFactory.hxx b/src/SMDS/SMDS_ElementFactory.hxx index 86d7408ce..1521067ed 100644 --- a/src/SMDS/SMDS_ElementFactory.hxx +++ b/src/SMDS/SMDS_ElementFactory.hxx @@ -40,6 +40,8 @@ #include +#include + class SMDS_ElementChunk; class SMDS_Mesh; class SMDS_MeshCell; @@ -78,25 +80,25 @@ public: virtual ~SMDS_ElementFactory(); //! Return minimal ID of a non-used element - int GetFreeID(); + smIdType GetFreeID(); //! Return maximal ID of an used element - int GetMaxID(); + smIdType GetMaxID(); //! Return minimal ID of an used element - int GetMinID(); + smIdType GetMinID(); //! Return an element by ID. NULL if the element with the given ID is already used - SMDS_MeshElement* NewElement( const int id ); + SMDS_MeshElement* NewElement( const smIdType id ); //! Return a SMDS_MeshCell by ID. NULL if the cell with the given ID is already used - SMDS_MeshCell* NewCell( const int id ) { return static_cast( NewElement( id )); } + SMDS_MeshCell* NewCell( const smIdType id ) { return static_cast( NewElement( id )); } //! Return an used element by ID. NULL if the element with the given ID is not yet used - const SMDS_MeshElement* FindElement( const int id ) const; + const SMDS_MeshElement* FindElement( const smIdType id ) const; //! Return a number of used elements - int NbUsedElements() const { return myNbUsedElements; } + smIdType NbUsedElements() const { return myNbUsedElements; } //! Return an iterator on all element filtered using a given filter. // nbElemsToReturn is used to optimize by stopping the iteration as soon as @@ -132,7 +134,7 @@ public: virtual bool CompactChangePointers(); //! Return a number of elements in a chunk - static int ChunkSize(); + static smIdType ChunkSize(); }; //------------------------------------------------------------------------------------ @@ -149,19 +151,19 @@ public: ~SMDS_NodeFactory(); //! Return a SMDS_MeshNode by ID. NULL if the node with the given ID is already used - SMDS_MeshNode* NewNode( int id ) { return (SMDS_MeshNode*) NewElement(id); } + SMDS_MeshNode* NewNode( smIdType id ) { return (SMDS_MeshNode*) NewElement(id); } //! Return an used node by ID. NULL if the node with the given ID is not yet used - const SMDS_MeshNode* FindNode( int id ) { return (const SMDS_MeshNode*) FindElement(id); } + const SMDS_MeshNode* FindNode( smIdType id ) { return (const SMDS_MeshNode*) FindElement(id); } //! Set a total number of sub-shapes in the main shape void SetNbShapes( size_t nbShapes ); //! Return a dimension of a shape - int GetShapeDim( int shapeID ) const; + int GetShapeDim( smIdType shapeID ) const; //! Set a dimension of a shape - void SetShapeDim( int shapeID, int dim ); + void SetShapeDim( smIdType shapeID, int dim ); //! De-allocate all nodes virtual void Clear(); @@ -403,7 +405,7 @@ public: static bool IsUsed( const _UsedRange& r ) { return r.myValue; } //! Return index of an element in the chunk - int Index( const SMDS_MeshElement* e ) const { return e - myElements; } + smIdType Index( const SMDS_MeshElement* e ) const { return e - myElements; } //! Return ID of the 1st element in the chunk int Get1stID() const { return my1stID; }