X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FOBJECT%2FSMESH_Object.cxx;h=af6410d1792d3864aede72d9e4cfccb9f8eecb79;hb=HEAD;hp=039eba7283220469f4e5d3d94b28d53123aa68d4;hpb=0fc0831670e27a5611b941c52dc152fd63964515;p=modules%2Fsmesh.git diff --git a/src/OBJECT/SMESH_Object.cxx b/src/OBJECT/SMESH_Object.cxx index 039eba728..585442ccb 100644 --- a/src/OBJECT/SMESH_Object.cxx +++ b/src/OBJECT/SMESH_Object.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2020 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -38,7 +38,7 @@ #include #include -#include +//#include #include CORBA_SERVER_HEADER(SMESH_Gen) #include CORBA_SERVER_HEADER(SALOME_Exception) @@ -67,14 +67,7 @@ using namespace std; } #endif -#ifdef _DEBUG_ -static int MYDEBUG = 0; static int MYDEBUGWITHFILES = 0;//1; -#else -static int MYDEBUG = 0; -static int MYDEBUGWITHFILES = 0; -#endif - /* Class : SMESH_VisualObjDef @@ -86,7 +79,7 @@ static int MYDEBUGWITHFILES = 0; //================================================================================= SMESH_VisualObjDef::SMESH_VisualObjDef() { - if ( MYDEBUG ) MESSAGE("-------------------------------SMESH_VisualObjDef::SMESH_VisualObjDef"); + MESSAGE("-------------------------------SMESH_VisualObjDef::SMESH_VisualObjDef"); myGrid = vtkUnstructuredGrid::New(); myLocalGrid = false; ClearEntitiesFlags(); @@ -94,8 +87,8 @@ SMESH_VisualObjDef::SMESH_VisualObjDef() } SMESH_VisualObjDef::~SMESH_VisualObjDef() { - if ( MYDEBUG ) MESSAGE("--------------------------------SMESH_VisualObjDef::~SMESH_VisualObjDef"); - if ( MYDEBUG ) MESSAGE( "myGrid->GetReferenceCount() = " << myGrid->GetReferenceCount() ); + MESSAGE("--------------------------------SMESH_VisualObjDef::~SMESH_VisualObjDef"); + MESSAGE( "myGrid->GetReferenceCount() = " << myGrid->GetReferenceCount() ); myGrid->Delete(); } @@ -103,7 +96,7 @@ SMESH_VisualObjDef::~SMESH_VisualObjDef() // functions : GetNodeObjId, GetNodeVTKId, GetElemObjId, GetElemVTKId // purpose : Methods for retrieving VTK IDs by SMDS IDs and vice versa //================================================================================= -vtkIdType SMESH_VisualObjDef::GetNodeObjId( int theVTKID ) +vtkIdType SMESH_VisualObjDef::GetNodeObjId( vtkIdType theVTKID ) { if (myLocalGrid) { @@ -114,10 +107,10 @@ vtkIdType SMESH_VisualObjDef::GetNodeObjId( int theVTKID ) if( this->GetMesh() ) aNode = this->GetMesh()->FindNodeVtk( theVTKID ); - return aNode ? aNode->GetID() : -1; + return aNode ? FromSmIdType(aNode->GetID()) : -1; } -vtkIdType SMESH_VisualObjDef::GetNodeVTKId( int theObjID ) +vtkIdType SMESH_VisualObjDef::GetNodeVTKId( vtkIdType theObjID ) { if (myLocalGrid) { @@ -132,17 +125,17 @@ vtkIdType SMESH_VisualObjDef::GetNodeVTKId( int theObjID ) return aNode ? aNode->GetVtkID() : -1; } -vtkIdType SMESH_VisualObjDef::GetElemObjId( int theVTKID ) +vtkIdType SMESH_VisualObjDef::GetElemObjId( vtkIdType theVTKID ) { if (myLocalGrid) { TMapOfIds::const_iterator i = myVTK2SMDSElems.find(theVTKID); return i == myVTK2SMDSElems.end() ? -1 : i->second; } - return this->GetMesh()->FromVtkToSmds(theVTKID); + return FromSmIdType(this->GetMesh()->FromVtkToSmds(theVTKID)); } -vtkIdType SMESH_VisualObjDef::GetElemVTKId( int theObjID ) +vtkIdType SMESH_VisualObjDef::GetElemVTKId( vtkIdType theObjID ) { if (myLocalGrid) { @@ -171,7 +164,7 @@ void SMESH_VisualObjDef::createPoints( vtkPoints* thePoints ) return; TEntityList aNodes; - vtkIdType nbNodes = GetEntities( SMDSAbs_Node, aNodes ); + vtkIdType nbNodes = FromSmIdType(GetEntities( SMDSAbs_Node, aNodes )); thePoints->SetNumberOfPoints( nbNodes ); int nbPoints = 0; @@ -183,7 +176,7 @@ void SMESH_VisualObjDef::createPoints( vtkPoints* thePoints ) if ( aNode != 0 ) { thePoints->SetPoint( nbPoints, aNode->X(), aNode->Y(), aNode->Z() ); - int anId = aNode->GetID(); + smIdType anId = aNode->GetID(); mySMDS2VTKNodes.insert( mySMDS2VTKNodes.end(), std::make_pair( anId, nbPoints )); myVTK2SMDSNodes.insert( myVTK2SMDSNodes.end(), std::make_pair( nbPoints, anId )); nbPoints++; @@ -200,7 +193,7 @@ void SMESH_VisualObjDef::createPoints( vtkPoints* thePoints ) //================================================================================= void SMESH_VisualObjDef::buildPrs(bool buildGrid) { - if ( MYDEBUG ) MESSAGE("---------------------------SMESH_VisualObjDef::buildPrs " << buildGrid); + MESSAGE("---------------------------SMESH_VisualObjDef::buildPrs " << buildGrid); if (buildGrid) { myLocalGrid = true; @@ -234,7 +227,7 @@ void SMESH_VisualObjDef::buildPrs(bool buildGrid) if (!GetMesh()->IsCompacted()) { NulData(); // detach from the SMDS grid to allow immediate memory de-allocation in compactMesh() - if ( MYDEBUG ) MESSAGE("*** buildPrs ==> compactMesh!"); + MESSAGE("*** buildPrs ==> compactMesh!"); GetMesh()->CompactMesh(); if ( SMESHDS_Mesh* m = dynamic_cast( GetMesh() )) // IPAL53915 m->GetScript()->SetModified(false); // drop IsModified set in compactMesh() @@ -284,7 +277,7 @@ namespace{ theConnect.clear(); for(; theNodesIter->more();) theConnect.push_back(theNodesIter->next()); - return theConnect.size(); + return (int) theConnect.size(); } inline @@ -292,7 +285,7 @@ namespace{ const SMESH_VisualObjDef::TMapOfIds& theSMDS2VTKNodes, const TConnect& theConnect, int thePosition, - int theId) + vtkIdType theId) { theIdList->SetId(thePosition,theSMDS2VTKNodes.find(theConnect[theId]->GetID())->second); } @@ -309,8 +302,7 @@ void SMESH_VisualObjDef::buildElemPrs() myGrid->SetPoints( aPoints ); aPoints->Delete(); - if ( MYDEBUG ) - MESSAGE("Update - myGrid->GetNumberOfPoints() = "<GetNumberOfPoints()); + MESSAGE("Update - myGrid->GetNumberOfPoints() = "<GetNumberOfPoints()); // Calculate cells size @@ -319,7 +311,7 @@ void SMESH_VisualObjDef::buildElemPrs() { SMDSAbs_Edge, SMDSAbs_Face, SMDSAbs_Volume, SMDSAbs_Ball, SMDSAbs_0DElement }; // get entity data - map nbEnts; + map nbEnts; map anEnts; vtkIdType aNbCells = 0; @@ -361,8 +353,8 @@ void SMESH_VisualObjDef::buildElemPrs() } } } - if ( MYDEBUG ) - MESSAGE( "Update - aNbCells = "<_is_nil() = "<_is_nil()); + + MESSAGE("SMESH_MeshObj - this = "<_is_nil() = "<_is_nil()); } //================================================================================= @@ -638,8 +630,7 @@ SMESH_MeshObj::SMESH_MeshObj(SMESH::SMESH_Mesh_ptr theMesh): //================================================================================= SMESH_MeshObj::~SMESH_MeshObj() { - if ( MYDEBUG ) - MESSAGE("SMESH_MeshObj - this = "<Delete(); } @@ -651,9 +642,9 @@ SMESH_MeshObj::~SMESH_MeshObj() bool SMESH_MeshObj::Update( int theIsClear ) { // Update SMDS_Mesh on client part - if ( MYDEBUG ) MESSAGE("SMESH_MeshObj::Update " << this); + MESSAGE("SMESH_MeshObj::Update " << this); if ( myClient.Update(theIsClear) || GetUnstructuredGrid()->GetNumberOfPoints()==0) { - if ( MYDEBUG ) MESSAGE("buildPrs"); + MESSAGE("buildPrs"); buildPrs(); // Fill unstructured grid return true; } @@ -662,7 +653,7 @@ bool SMESH_MeshObj::Update( int theIsClear ) bool SMESH_MeshObj::NulData() { - if ( MYDEBUG ) MESSAGE ("SMESH_MeshObj::NulData() ============================================="); + MESSAGE ("SMESH_MeshObj::NulData() ============================================="); if (!myEmptyGrid) { myEmptyGrid = SMDS_UnstructuredGrid::New(); @@ -681,7 +672,7 @@ bool SMESH_MeshObj::NulData() // function : GetElemDimension // purpose : Get dimension of element //================================================================================= -int SMESH_MeshObj::GetElemDimension( const int theObjId ) +int SMESH_MeshObj::GetElemDimension( const smIdType theObjId ) { const SMDS_MeshElement* anElem = myClient->FindElement( theObjId ); if ( anElem == 0 ) @@ -703,7 +694,7 @@ int SMESH_MeshObj::GetElemDimension( const int theObjId ) // function : GetEntities // purpose : Get entities of specified type. Return number of entities //================================================================================= -int SMESH_MeshObj::GetNbEntities( const SMDSAbs_ElementType theType) const +smIdType SMESH_MeshObj::GetNbEntities( const SMDSAbs_ElementType theType) const { switch ( theType ) { @@ -742,7 +733,7 @@ int SMESH_MeshObj::GetNbEntities( const SMDSAbs_ElementType theType) const } } -int SMESH_MeshObj::GetEntities( const SMDSAbs_ElementType theType, TEntityList& theObjs ) const +smIdType SMESH_MeshObj::GetEntities( const SMDSAbs_ElementType theType, TEntityList& theObjs ) const { theObjs.clear(); @@ -821,7 +812,7 @@ bool SMESH_MeshObj::IsNodePrs() const //================================================================================= SMESH_SubMeshObj::SMESH_SubMeshObj( SMESH_MeshObj* theMeshObj ) { - if ( MYDEBUG ) MESSAGE( "SMESH_SubMeshObj - theMeshObj = " << theMeshObj ); + MESSAGE( "SMESH_SubMeshObj - theMeshObj = " << theMeshObj ); myMeshObj = theMeshObj; } @@ -834,7 +825,7 @@ SMESH_SubMeshObj::~SMESH_SubMeshObj() // function : GetElemDimension // purpose : Get dimension of element //================================================================================= -int SMESH_SubMeshObj::GetElemDimension( const int theObjId ) +int SMESH_SubMeshObj::GetElemDimension( const smIdType theObjId ) { return myMeshObj == 0 ? 0 : myMeshObj->GetElemDimension( theObjId ); } @@ -855,7 +846,7 @@ void SMESH_SubMeshObj::UpdateFunctor( const SMESH::Controls::FunctorPtr& theFunc //================================================================================= bool SMESH_SubMeshObj::Update( int theIsClear ) { - if ( MYDEBUG ) MESSAGE("SMESH_SubMeshObj::Update " << this) + MESSAGE("SMESH_SubMeshObj::Update " << this); bool changed = myMeshObj->Update( theIsClear ); buildPrs(true); return changed; @@ -876,13 +867,13 @@ SMESH_GroupObj::SMESH_GroupObj( SMESH::SMESH_GroupBase_ptr theGroup, : SMESH_SubMeshObj( theMeshObj ), myGroupServer( SMESH::SMESH_GroupBase::_duplicate(theGroup) ) { - if ( MYDEBUG ) MESSAGE("SMESH_GroupObj - theGroup->_is_nil() = "<_is_nil()); + MESSAGE("SMESH_GroupObj - theGroup->_is_nil() = "<_is_nil()); myGroupServer->Register(); } SMESH_GroupObj::~SMESH_GroupObj() { - if ( MYDEBUG ) MESSAGE("~SMESH_GroupObj"); + MESSAGE("~SMESH_GroupObj"); myGroupServer->UnRegister(); } @@ -908,13 +899,13 @@ SMDSAbs_ElementType SMESH_GroupObj::GetElementType() const // function : getNodesFromElems // purpose : Retrieve nodes from elements //================================================================================= -static int getNodesFromElems( SMESH::long_array_var& theElemIds, +static int getNodesFromElems( SMESH::smIdType_array_var& theElemIds, const SMDS_Mesh* theMesh, std::list& theResList ) { set aNodeSet; - for ( CORBA::Long i = 0, n = theElemIds->length(); i < n; i++ ) + for ( CORBA::ULong i = 0, n = theElemIds->length(); i < n; i++ ) { const SMDS_MeshElement* anElem = theMesh->FindElement( theElemIds[ i ] ); if ( anElem != 0 ) @@ -929,11 +920,9 @@ static int getNodesFromElems( SMESH::long_array_var& theElemIds, } } - set::const_iterator anIter; - for ( anIter = aNodeSet.begin(); anIter != aNodeSet.end(); ++anIter ) - theResList.push_back( *anIter ); + theResList.assign( aNodeSet.begin(), aNodeSet.end() ); - return theResList.size(); + return (int) aNodeSet.size(); } //================================================================================= @@ -941,11 +930,11 @@ static int getNodesFromElems( SMESH::long_array_var& theElemIds, // purpose : Get std::list from list of IDs //================================================================================= static int getPointers( const SMDSAbs_ElementType theRequestType, - SMESH::long_array_var& theElemIds, + SMESH::smIdType_array_var& theElemIds, const SMDS_Mesh* theMesh, std::list& theResList ) { - for ( CORBA::Long i = 0, n = theElemIds->length(); i < n; i++ ) + for ( CORBA::ULong i = 0, n = theElemIds->length(); i < n; i++ ) { const SMDS_MeshElement* anElem = theRequestType == SMDSAbs_Node ? theMesh->FindNode( theElemIds[ i ] ) : theMesh->FindElement( theElemIds[ i ] ); @@ -954,7 +943,7 @@ static int getPointers( const SMDSAbs_ElementType theRequestType, theResList.push_back( anElem ); } - return theResList.size(); + return (int) theResList.size(); } @@ -962,7 +951,7 @@ static int getPointers( const SMDSAbs_ElementType theRequestType, // function : GetEntities // purpose : Get entities of specified type. Return number of entities //================================================================================= -int SMESH_GroupObj::GetNbEntities( const SMDSAbs_ElementType theType) const +smIdType SMESH_GroupObj::GetNbEntities( const SMDSAbs_ElementType theType) const { if(SMDSAbs_ElementType(myGroupServer->GetType()) == theType) { return myGroupServer->Size(); @@ -973,11 +962,11 @@ int SMESH_GroupObj::GetNbEntities( const SMDSAbs_ElementType theType) const return 0; } -int SMESH_GroupObj::GetEntities( const SMDSAbs_ElementType theType, TEntityList& theResList ) const +smIdType SMESH_GroupObj::GetEntities( const SMDSAbs_ElementType theType, TEntityList& theResList ) const { theResList.clear(); SMDS_Mesh* aMesh = myMeshObj->GetMesh(); - + if ( aMesh == 0 ) return 0; @@ -985,7 +974,7 @@ int SMESH_GroupObj::GetEntities( const SMDSAbs_ElementType theType, TEntityList& if ( aGrpType != theType && theType != SMDSAbs_Node ) return 0; - SMESH::long_array_var anIds = myGroupServer->GetListOfID(); + SMESH::smIdType_array_var anIds = myGroupServer->GetListOfID(); if ( anIds->length() == 0 ) return 0; @@ -1013,14 +1002,14 @@ SMESH_subMeshObj::SMESH_subMeshObj( SMESH::SMESH_subMesh_ptr theSubMesh, : SMESH_SubMeshObj( theMeshObj ), mySubMeshServer( SMESH::SMESH_subMesh::_duplicate( theSubMesh ) ) { - if ( MYDEBUG ) MESSAGE( "SMESH_subMeshObj - theSubMesh->_is_nil() = " << theSubMesh->_is_nil() ); + MESSAGE( "SMESH_subMeshObj - theSubMesh->_is_nil() = " << theSubMesh->_is_nil() ); mySubMeshServer->Register(); } SMESH_subMeshObj::~SMESH_subMeshObj() { - if ( MYDEBUG ) MESSAGE( "~SMESH_subMeshObj" ); + MESSAGE( "~SMESH_subMeshObj" ); mySubMeshServer->UnRegister(); } @@ -1028,7 +1017,7 @@ SMESH_subMeshObj::~SMESH_subMeshObj() // function : GetEntities // purpose : Get entities of specified type. Return number of entities //================================================================================= -int SMESH_subMeshObj::GetNbEntities( const SMDSAbs_ElementType theType) const +smIdType SMESH_subMeshObj::GetNbEntities( const SMDSAbs_ElementType theType) const { switch ( theType ) { @@ -1043,7 +1032,7 @@ int SMESH_subMeshObj::GetNbEntities( const SMDSAbs_ElementType theType) const case SMDSAbs_Face: case SMDSAbs_Volume: { - SMESH::long_array_var anIds = + SMESH::smIdType_array_var anIds = mySubMeshServer->GetElementsByType( SMESH::ElementType(theType) ); return anIds->length(); } @@ -1053,7 +1042,7 @@ int SMESH_subMeshObj::GetNbEntities( const SMDSAbs_ElementType theType) const } } -int SMESH_subMeshObj::GetEntities( const SMDSAbs_ElementType theType, TEntityList& theResList ) const +smIdType SMESH_subMeshObj::GetEntities( const SMDSAbs_ElementType theType, TEntityList& theResList ) const { theResList.clear(); @@ -1067,7 +1056,7 @@ int SMESH_subMeshObj::GetEntities( const SMDSAbs_ElementType theType, TEntityLis { if ( theType == SMDSAbs_Node ) { - SMESH::long_array_var anIds = mySubMeshServer->GetNodesId(); + SMESH::smIdType_array_var anIds = mySubMeshServer->GetNodesId(); return getPointers( SMDSAbs_Node, anIds, aMesh, theResList ); } } @@ -1075,12 +1064,12 @@ int SMESH_subMeshObj::GetEntities( const SMDSAbs_ElementType theType, TEntityLis { if ( theType == SMDSAbs_Node ) { - SMESH::long_array_var anIds = mySubMeshServer->GetElementsId(); + SMESH::smIdType_array_var anIds = mySubMeshServer->GetElementsId(); return getNodesFromElems( anIds, aMesh, theResList ); } else { - SMESH::long_array_var anIds = + SMESH::smIdType_array_var anIds = mySubMeshServer->GetElementsByType( SMESH::ElementType(theType) ); return getPointers( theType, anIds, aMesh, theResList ); }