X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH_I%2FSMESH_Pattern_i.cxx;h=98dcd1849df692dcb4f362e9b1936eb96ffd0c9d;hp=675b99f8a677c7110457a360c95bb2b6c521f33d;hb=499f29d24922cec66e41b41a0039a954993bc6df;hpb=6bac08c1a81f34d3f21c550bd92f83654b2546a5 diff --git a/src/SMESH_I/SMESH_Pattern_i.cxx b/src/SMESH_I/SMESH_Pattern_i.cxx index 675b99f8a..98dcd1849 100644 --- a/src/SMESH_I/SMESH_Pattern_i.cxx +++ b/src/SMESH_I/SMESH_Pattern_i.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2022 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -20,20 +20,20 @@ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses +// SMESH SMESH_I : idl implementation based on 'SMESH' unit's classes // File : SMESH_Pattern_i.cxx // Created : Fri Aug 20 16:15:49 2004 // Author : Edward AGAPOV (eap) // #include "SMESH_Pattern_i.hxx" -#include "GEOM_Client.hxx" +#include "SMDS_MeshFace.hxx" +#include "SMDS_MeshVolume.hxx" +#include "SMESHDS_Mesh.hxx" #include "SMESH_Gen_i.hxx" #include "SMESH_Mesh.hxx" #include "SMESH_Mesh_i.hxx" #include "SMESH_PythonDump.hxx" -#include "SMDS_MeshFace.hxx" -#include "SMDS_MeshVolume.hxx" #include #include @@ -45,6 +45,8 @@ #include #include +using namespace std; + using SMESH::TPythonDump; using SMESH::TVar; @@ -56,7 +58,7 @@ using SMESH::TVar; static void addErrorCode(const char* thePyCommand) { TPythonDump() << "if (isDone != 1):"; - TPythonDump() << "\tprint '" << thePyCommand << " :', pattern.GetErrorCode()"; + TPythonDump() << "\tprint('" << thePyCommand << " :', pattern.GetErrorCode())"; } //============================================================================= @@ -83,33 +85,36 @@ SMESH::SMESH_Pattern_ptr SMESH_Gen_i::GetPattern() //======================================================================= SMESH_Pattern_i::SMESH_Pattern_i( SMESH_Gen_i* theGen_i ): - myGen( theGen_i ) + myGen( theGen_i ) { } //======================================================================= //function : getMesh -//purpose : +//purpose : //======================================================================= ::SMESH_Mesh* SMESH_Pattern_i::getMesh( SMESH::SMESH_Mesh_ptr & theMesh ) { - SMESH_Mesh_i* anImplPtr = + SMESH_Mesh_i* anImplPtr = dynamic_cast( SMESH_Gen_i::GetServant( theMesh ).in() ); if ( anImplPtr ) + { + anImplPtr->Load(); return & anImplPtr->GetImpl(); + } return 0; } //======================================================================= //function : LoadFromFile -//purpose : +//purpose : //======================================================================= CORBA::Boolean SMESH_Pattern_i::LoadFromFile(const char* theFileContents) { - // remove some gabage from the end + // remove some garbage from the end TCollection_AsciiString patternDescription = (char*) theFileContents; int pos = patternDescription.Length(); while (! isdigit( patternDescription.Value( pos ))) @@ -268,10 +273,10 @@ SMESH::point_array* SMESH_Pattern_i::ApplyTo3DBlock(GEOM::GEOM_Object_ptr theBlo //======================================================================= SMESH::point_array* - SMESH_Pattern_i::ApplyToMeshFaces(SMESH::SMESH_Mesh_ptr theMesh, - const SMESH::long_array& theFacesIDs, - CORBA::Long theNodeIndexOnKeyPoint1, - CORBA::Boolean theReverse) + SMESH_Pattern_i::ApplyToMeshFaces(SMESH::SMESH_Mesh_ptr theMesh, + const SMESH::smIdType_array& theFacesIDs, + CORBA::Short theNodeIndexOnKeyPoint1, + CORBA::Boolean theReverse) { SMESH::point_array_var points = new SMESH::point_array; @@ -281,18 +286,16 @@ SMESH::point_array* list xyzList; set fset; - for (int i = 0; i < theFacesIDs.length(); i++) + for ( CORBA::ULong i = 0; i < theFacesIDs.length(); i++) { - CORBA::Long index = theFacesIDs[i]; + SMESH::smIdType index = theFacesIDs[i]; const SMDS_MeshElement * elem = aMesh->GetMeshDS()->FindElement(index); if ( elem && elem->GetType() == SMDSAbs_Face ) fset.insert( static_cast( elem )); } bool ok = false; try { -#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060100 OCC_CATCH_SIGNALS; -#endif ok = myPattern.Apply( aMesh, fset, theNodeIndexOnKeyPoint1, theReverse ); } catch (Standard_Failure& exc) { @@ -329,10 +332,10 @@ SMESH::point_array* //======================================================================= SMESH::point_array* - SMESH_Pattern_i::ApplyToHexahedrons(SMESH::SMESH_Mesh_ptr theMesh, - const SMESH::long_array& theVolumesIDs, - CORBA::Long theNode000Index, - CORBA::Long theNode001Index) + SMESH_Pattern_i::ApplyToHexahedrons(SMESH::SMESH_Mesh_ptr theMesh, + const SMESH::smIdType_array& theVolumesIDs, + CORBA::Short theNode000Index, + CORBA::Short theNode001Index) { SMESH::point_array_var points = new SMESH::point_array; @@ -342,9 +345,9 @@ SMESH::point_array* list xyzList; set vset; - for (int i = 0; i < theVolumesIDs.length(); i++) + for ( CORBA::ULong i = 0; i < theVolumesIDs.length(); i++) { - CORBA::Long index = theVolumesIDs[i]; + SMESH::smIdType index = theVolumesIDs[i]; const SMDS_MeshElement * elem = aMesh->GetMeshDS()->FindElement(index); if ( elem && elem->GetType() == SMDSAbs_Volume && elem->NbNodes() == 8 ) vset.insert( static_cast( elem )); @@ -386,7 +389,7 @@ CORBA::Boolean SMESH_Pattern_i::MakeMesh (SMESH::SMESH_Mesh_ptr theMesh, << CreatePolygons << ", " << CreatePolyedrs << " )"; addErrorCode( "MakeMesh" ); - int nb = aMesh->NbNodes() + aMesh->NbEdges() + aMesh->NbFaces() + aMesh->NbVolumes(); + smIdType nb = aMesh->NbNodes() + aMesh->NbEdges() + aMesh->NbFaces() + aMesh->NbVolumes(); bool res = myPattern.MakeMesh( aMesh, CreatePolygons, CreatePolyedrs );