X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGHS3DPlugin%2FGHS3DPlugin_Hypothesis_i.cxx;h=da36903fd1cafa82573fc4e4f3ba31a38859d55b;hb=f264dfaecc1f66c2f4a300fe007b818a92a475f8;hp=5b8466b1175364004879b62262305f2eabb3e99c;hpb=a51df48e9905b1ff60c6693fca90cd7eb303a39d;p=plugins%2Fghs3dplugin.git diff --git a/src/GHS3DPlugin/GHS3DPlugin_Hypothesis_i.cxx b/src/GHS3DPlugin/GHS3DPlugin_Hypothesis_i.cxx index 5b8466b..da36903 100644 --- a/src/GHS3DPlugin/GHS3DPlugin_Hypothesis_i.cxx +++ b/src/GHS3DPlugin/GHS3DPlugin_Hypothesis_i.cxx @@ -1,9 +1,9 @@ -// Copyright (C) 2004-2012 CEA/DEN, EDF R&D +// Copyright (C) 2004-2016 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -23,30 +23,23 @@ // #include "GHS3DPlugin_Hypothesis_i.hxx" -#include "SMESH_Gen.hxx" -#include "SMESH_PythonDump.hxx" -//#include "SMESH_Mesh.hxx" -//#include "SMESH_ProxyMesh.hxx" -//#include +#include +#include -#include "Utils_CorbaException.hxx" -#include "utilities.h" -#include "SMESH_Mesh_i.hxx" -#include "SMESH_Group_i.hxx" -#include "SMESH_Gen_i.hxx" -#include "SMESH_TypeDefs.hxx" -#include "SMESHDS_GroupBase.hxx" +#include +#include +#include +#include +#include +//#include +#include // SALOME KERNEL includes -#include "SALOMEDSClient.hxx" -#include -// // IDL headers -// #include -// #include CORBA_SERVER_HEADER(SALOMEDS) - -#ifndef GHS3D_VERSION -#define GHS3D_VERSION 41 -#endif +// #include +// #include + +using namespace std; + //======================================================================= //function : GHS3DPlugin_Hypothesis_i //======================================================================= @@ -57,10 +50,9 @@ GHS3DPlugin_Hypothesis_i::GHS3DPlugin_Hypothesis_i (PortableServer::POA_ptr theP : SALOME::GenericObj_i( thePOA ), SMESH_Hypothesis_i( thePOA ) { - MESSAGE( "GHS3DPlugin_Hypothesis_i::GHS3DPlugin_Hypothesis_i" ); myBaseImpl = new ::GHS3DPlugin_Hypothesis (theGenImpl->GetANewId(), - theStudyId, - theGenImpl); + theStudyId, + theGenImpl); } //======================================================================= @@ -69,7 +61,6 @@ GHS3DPlugin_Hypothesis_i::GHS3DPlugin_Hypothesis_i (PortableServer::POA_ptr theP GHS3DPlugin_Hypothesis_i::~GHS3DPlugin_Hypothesis_i() { - MESSAGE( "GHS3DPlugin_Hypothesis_i::~GHS3DPlugin_Hypothesis_i" ); } //======================================================================= @@ -93,12 +84,33 @@ CORBA::Boolean GHS3DPlugin_Hypothesis_i::GetToMeshHoles() return this->GetImpl()->GetToMeshHoles(); } +//======================================================================= +//function : SetToMakeGroupsOfDomains +//======================================================================= + +void GHS3DPlugin_Hypothesis_i::SetToMakeGroupsOfDomains(CORBA::Boolean toMakeGroups) +{ + ASSERT(myBaseImpl); + this->GetImpl()->SetToMakeGroupsOfDomains(toMakeGroups); + SMESH::TPythonDump() << _this() << ".SetToMakeGroupsOfDomains( " << toMakeGroups << " )"; +} + +//======================================================================= +//function : GetToMakeGroupsOfDomains +//======================================================================= + +CORBA::Boolean GHS3DPlugin_Hypothesis_i::GetToMakeGroupsOfDomains() +{ + ASSERT(myBaseImpl); + return this->GetImpl()->GetToMakeGroupsOfDomains(); +} + //======================================================================= //function : SetMaximumMemory //======================================================================= -void GHS3DPlugin_Hypothesis_i::SetMaximumMemory(CORBA::Short MB) - throw ( SALOME::SALOME_Exception ) +void GHS3DPlugin_Hypothesis_i::SetMaximumMemory(CORBA::Long MB) + throw ( SALOME::SALOME_Exception ) { if ( MB == 0 ) THROW_SALOME_CORBA_EXCEPTION( "Invalid memory size",SALOME::BAD_PARAM ); @@ -111,7 +123,7 @@ void GHS3DPlugin_Hypothesis_i::SetMaximumMemory(CORBA::Short MB) //function : GetMaximumMemory //======================================================================= -CORBA::Short GHS3DPlugin_Hypothesis_i::GetMaximumMemory() +CORBA::Long GHS3DPlugin_Hypothesis_i::GetMaximumMemory() { ASSERT(myBaseImpl); return this->GetImpl()->GetMaximumMemory(); @@ -121,7 +133,7 @@ CORBA::Short GHS3DPlugin_Hypothesis_i::GetMaximumMemory() //function : SetInitialMemory //======================================================================= -void GHS3DPlugin_Hypothesis_i::SetInitialMemory(CORBA::Short MB) +void GHS3DPlugin_Hypothesis_i::SetInitialMemory(CORBA::Long MB) throw ( SALOME::SALOME_Exception ) { if ( MB == 0 ) @@ -135,7 +147,7 @@ void GHS3DPlugin_Hypothesis_i::SetInitialMemory(CORBA::Short MB) //function : GetInitialMemory //======================================================================= -CORBA::Short GHS3DPlugin_Hypothesis_i::GetInitialMemory() +CORBA::Long GHS3DPlugin_Hypothesis_i::GetInitialMemory() { ASSERT(myBaseImpl); return this->GetImpl()->GetInitialMemory(); @@ -149,7 +161,7 @@ void GHS3DPlugin_Hypothesis_i::SetOptimizationLevel(CORBA::Short level) throw ( SALOME::SALOME_Exception ) { ::GHS3DPlugin_Hypothesis::OptimizationLevel l = - (::GHS3DPlugin_Hypothesis::OptimizationLevel) level; + (::GHS3DPlugin_Hypothesis::OptimizationLevel) level; if ( l < ::GHS3DPlugin_Hypothesis::None || l > ::GHS3DPlugin_Hypothesis::Strong ) THROW_SALOME_CORBA_EXCEPTION( "Invalid optimization level",SALOME::BAD_PARAM ); @@ -340,8 +352,8 @@ CORBA::Boolean GHS3DPlugin_Hypothesis_i::GetToRemoveCentralPoint() void GHS3DPlugin_Hypothesis_i::SetTextOption(const char* option) { ASSERT(myBaseImpl); - this->GetImpl()->SetTextOption(option); - SMESH::TPythonDump() << _this() << ".SetTextOption( '" << option << "' )"; + this->GetImpl()->SetAdvancedOption(option); + SMESH::TPythonDump() << _this() << ".SetAdvancedOption( '" << option << "' )"; } //======================================================================= @@ -351,7 +363,93 @@ void GHS3DPlugin_Hypothesis_i::SetTextOption(const char* option) char* GHS3DPlugin_Hypothesis_i::GetTextOption() { ASSERT(myBaseImpl); - return CORBA::string_dup( this->GetImpl()->GetTextOption().c_str() ); + return CORBA::string_dup( this->GetImpl()->GetAdvancedOption().c_str() ); +} + +//======================================================================= +//function : SetAdvancedOption +//======================================================================= + +void GHS3DPlugin_Hypothesis_i::SetAdvancedOption(const char* option) +{ + ASSERT(myBaseImpl); + this->GetImpl()->SetAdvancedOption(option); + SMESH::TPythonDump() << _this() << ".SetAdvancedOption( '" << option << "' )"; +} + +//======================================================================= +//function : GetAdvancedOption +//======================================================================= + +char* GHS3DPlugin_Hypothesis_i::GetAdvancedOption() +{ + ASSERT(myBaseImpl); + return CORBA::string_dup( this->GetImpl()->GetAdvancedOption().c_str() ); +} + +//======================================================================= +//function : SetToRemoveCentralPoint +//======================================================================= + +void GHS3DPlugin_Hypothesis_i::SetGradation(CORBA::Double gradation) +{ + ASSERT(myBaseImpl); + if (gradation != GetGradation()) { + this->GetImpl()->SetGradation(gradation); + SMESH::TPythonDump() << _this() << ".SetGradation( " << gradation << " )"; + } +} + +//======================================================================= +//function : GetToRemoveCentralPoint +//======================================================================= + +CORBA::Double GHS3DPlugin_Hypothesis_i::GetGradation() +{ + ASSERT(myBaseImpl); + return this->GetImpl()->GetGradation(); +} + +//======================================================================= +//function : SetStandardOutputLog +//======================================================================= + +void GHS3DPlugin_Hypothesis_i::SetStandardOutputLog(CORBA::Boolean logInStandardOutput) +{ + ASSERT(myBaseImpl); + this->GetImpl()->SetStandardOutputLog(logInStandardOutput); + SMESH::TPythonDump() << _this() << ".SetPrintLogInFile( " << !logInStandardOutput << " )"; +} + +//======================================================================= +//function : GetStandardOutputLog +//======================================================================= + +CORBA::Boolean GHS3DPlugin_Hypothesis_i::GetStandardOutputLog() +{ + ASSERT(myBaseImpl); + return this->GetImpl()->GetStandardOutputLog(); +} + +//======================================================================= +//function : SetRemoveLogOnSuccess +//======================================================================= + +void GHS3DPlugin_Hypothesis_i::SetRemoveLogOnSuccess(CORBA::Boolean removeLogOnSuccess) +{ + ASSERT(myBaseImpl); + this->GetImpl()->SetRemoveLogOnSuccess(removeLogOnSuccess); + SMESH::TPythonDump() << _this() << ".SetRemoveLogOnSuccess( " << removeLogOnSuccess << " )"; +} + +//======================================================================= +//function : GetRemoveLogOnSuccess +//======================================================================= + +CORBA::Boolean GHS3DPlugin_Hypothesis_i::GetRemoveLogOnSuccess() +{ + ASSERT(myBaseImpl); + return this->GetImpl()->GetRemoveLogOnSuccess(); } //======================================================================= @@ -359,39 +457,34 @@ char* GHS3DPlugin_Hypothesis_i::GetTextOption() //======================================================================= bool GHS3DPlugin_Hypothesis_i::SetEnforcedVertex(CORBA::Double x, CORBA::Double y, CORBA::Double z, CORBA::Double size) - throw (SALOME::SALOME_Exception) { + throw (SALOME::SALOME_Exception) { ASSERT(myBaseImpl); - MESSAGE("IDL : SetEnforcedVertex( "<< x << ", " << y << ", " << z << ", " << size << ")"); return p_SetEnforcedVertex(size, x, y, z); } bool GHS3DPlugin_Hypothesis_i::SetEnforcedVertexNamed(CORBA::Double x, CORBA::Double y, CORBA::Double z, CORBA::Double size, const char* theVertexName) - throw (SALOME::SALOME_Exception) { + throw (SALOME::SALOME_Exception) { ASSERT(myBaseImpl); - MESSAGE("IDL : SetEnforcedVertexNamed( "<< x << ", " << y << ", " << z << ", " << size << ", " << theVertexName << ")"); return p_SetEnforcedVertex(size, x, y, z, theVertexName, "", ""); } bool GHS3DPlugin_Hypothesis_i::SetEnforcedVertexWithGroup(CORBA::Double x, CORBA::Double y, CORBA::Double z, CORBA::Double size, const char* theGroupName) - throw (SALOME::SALOME_Exception) { + throw (SALOME::SALOME_Exception) { ASSERT(myBaseImpl); - MESSAGE("IDL : SetEnforcedVertexWithGroup( "<< x << ", " << y << ", " << z << ", " << size << ", " << theGroupName << ")"); return p_SetEnforcedVertex(size, x, y, z, "", "", theGroupName); } bool GHS3DPlugin_Hypothesis_i::SetEnforcedVertexNamedWithGroup(CORBA::Double x, CORBA::Double y, CORBA::Double z, CORBA::Double size, const char* theVertexName, const char* theGroupName) - throw (SALOME::SALOME_Exception) { + throw (SALOME::SALOME_Exception) { ASSERT(myBaseImpl); - MESSAGE("IDL : SetEnforcedVertexNamedWithGroup( "<< x << ", " << y << ", " << z << ", " << size << ", " << theVertexName << ", " << theGroupName << ")"); return p_SetEnforcedVertex(size, x, y, z, theVertexName, "", theGroupName); } bool GHS3DPlugin_Hypothesis_i::SetEnforcedVertexGeom(GEOM::GEOM_Object_ptr theVertex, CORBA::Double size) - throw (SALOME::SALOME_Exception) { + throw (SALOME::SALOME_Exception) { ASSERT(myBaseImpl); if ((theVertex->GetShapeType() != GEOM::VERTEX) && (theVertex->GetShapeType() != GEOM::COMPOUND)) { - MESSAGE("theVertex shape type is not VERTEX or COMPOUND"); THROW_SALOME_CORBA_EXCEPTION("theVertex shape type is not VERTEX or COMPOUND", SALOME::BAD_PARAM); } @@ -423,21 +516,18 @@ bool GHS3DPlugin_Hypothesis_i::SetEnforcedVertexGeom(GEOM::GEOM_Object_ptr theVe return false; measureOp->PointCoordinates (theVertex, x, y, z); - MESSAGE("Point coordinates from measureOp: " << x << ", " << y << ", " << z); } string theVertexName = theVertex->GetName(); - MESSAGE("IDL : SetEnforcedVertexGeom( "<< theVertexEntry << ", " << size<< ")"); return p_SetEnforcedVertex(size, x, y, z, theVertexName.c_str(), theVertexEntry.c_str(), "", isCompound); } bool GHS3DPlugin_Hypothesis_i::SetEnforcedVertexGeomWithGroup(GEOM::GEOM_Object_ptr theVertex, CORBA::Double size, const char* theGroupName) - throw (SALOME::SALOME_Exception) { + throw (SALOME::SALOME_Exception) { ASSERT(myBaseImpl); if ((theVertex->GetShapeType() != GEOM::VERTEX) && (theVertex->GetShapeType() != GEOM::COMPOUND)) { - MESSAGE("theVertex shape type is not VERTEX or COMPOUND"); THROW_SALOME_CORBA_EXCEPTION("theVertex shape type is not VERTEX or COMPOUND", SALOME::BAD_PARAM); } @@ -469,21 +559,18 @@ bool GHS3DPlugin_Hypothesis_i::SetEnforcedVertexGeomWithGroup(GEOM::GEOM_Object_ return false; measureOp->PointCoordinates (theVertex, x, y, z); - MESSAGE("Point coordinates from measureOp: " << x << ", " << y << ", " << z); } string theVertexName = theVertex->GetName(); - MESSAGE("IDL : SetEnforcedVertexGeomWithGroup( "<< theVertexEntry << ", " << size<< ", " << theGroupName << ")"); return p_SetEnforcedVertex(size, x, y, z, theVertexName.c_str(), theVertexEntry.c_str(), theGroupName, isCompound); } bool GHS3DPlugin_Hypothesis_i:: p_SetEnforcedVertex(CORBA::Double size, CORBA::Double x, CORBA::Double y, CORBA::Double z, - const char* theVertexName, const char* theVertexEntry, const char* theGroupName, - CORBA::Boolean isCompound) - throw (SALOME::SALOME_Exception) { + const char* theVertexName, const char* theVertexEntry, const char* theGroupName, + CORBA::Boolean isCompound) + throw (SALOME::SALOME_Exception) { ASSERT(myBaseImpl); - MESSAGE("IDL : p_SetEnforcedVertex(" << size << ", " << x << ", " << y << ", " << z << ", \"" << theVertexName << "\", \"" << theVertexEntry << "\", \"" << theGroupName << "\", " << isCompound<< ")"); bool newValue = false; ::GHS3DPlugin_Hypothesis::TCoordsGHS3DEnforcedVertexMap coordsList; @@ -495,20 +582,13 @@ bool GHS3DPlugin_Hypothesis_i:: p_SetEnforcedVertex(CORBA::Double size, CORBA::D coords.push_back(y); coords.push_back(z); if (coordsList.find(coords) == coordsList.end()) { - MESSAGE("Coords not found: add it in coordsList"); newValue = true; } else { - MESSAGE("Coords already found, compare names"); ::GHS3DPlugin_Hypothesis::TGHS3DEnforcedVertex *enfVertex = this->GetImpl()->GetEnforcedVertex(x, y, z); if ((enfVertex->name != theVertexName) || (enfVertex->groupName != theGroupName) || (enfVertex->size != size)) { - MESSAGE("The names or size are different: update"); -// this->GetImpl()->ClearEnforcedVertex(theFaceEntry, x, y, z); newValue = true; } - else { - MESSAGE("The names and size are identical"); - } } if (newValue) { @@ -527,24 +607,15 @@ bool GHS3DPlugin_Hypothesis_i:: p_SetEnforcedVertex(CORBA::Double size, CORBA::D } } else { -// if (isCompound || (!isCompound && !string(theVertexEntry).empty())) { enfVertexEntryList = this->GetImpl()->_GetEnforcedVerticesByEntry(); -// ::BLSURFPlugin_Hypothesis::TGeomEntryGHS3DEnforcedVertexMap::const_iterator it = enfVertexEntryList.find(theVertexEntry); if ( enfVertexEntryList.find(theVertexEntry) == enfVertexEntryList.end()) { - MESSAGE("Geom entry not found: add it in enfVertexEntryList"); newValue = true; } else { - MESSAGE("Geom entry already found, compare names"); ::GHS3DPlugin_Hypothesis::TGHS3DEnforcedVertex *enfVertex = this->GetImpl()->GetEnforcedVertex(theVertexEntry); if ((enfVertex->name != theVertexName) || (enfVertex->groupName != theGroupName) || (enfVertex->size != size)) { - MESSAGE("The names or size are different: update"); -// this->GetImpl()->ClearEnforcedVertex(theFaceEntry, x, y, z); newValue = true; } - else { - MESSAGE("The names and size are identical"); - } } if (newValue) { @@ -558,7 +629,6 @@ bool GHS3DPlugin_Hypothesis_i:: p_SetEnforcedVertex(CORBA::Double size, CORBA::D if (newValue) this->GetImpl()->SetEnforcedVertex(theVertexName, theVertexEntry, theGroupName, size, x, y, z, isCompound); - MESSAGE("IDL : SetEnforcedVertexEntry END"); return newValue; } @@ -576,12 +646,7 @@ CORBA::Double GHS3DPlugin_Hypothesis_i::GetEnforcedVertex(CORBA::Double x, CORBA return isDone; } catch (const std::invalid_argument& ex) { - SALOME::ExceptionStruct ExDescription; - ExDescription.text = ex.what(); - ExDescription.type = SALOME::BAD_PARAM; - ExDescription.sourceFile = "GHS3DPlugin_Hypothesis_i.cxx"; - ExDescription.lineNumber = 513; - throw SALOME::SALOME_Exception(ExDescription); + THROW_SALOME_CORBA_EXCEPTION( ex.what() ,SALOME::BAD_PARAM ); } catch (SALOME_Exception& ex) { THROW_SALOME_CORBA_EXCEPTION( ex.what() ,SALOME::BAD_PARAM ); @@ -598,7 +663,6 @@ CORBA::Double GHS3DPlugin_Hypothesis_i::GetEnforcedVertexGeom(GEOM::GEOM_Object_ ASSERT(myBaseImpl); if ((theVertex->GetShapeType() != GEOM::VERTEX) && (theVertex->GetShapeType() != GEOM::COMPOUND)) { - MESSAGE("theVertex shape type is not VERTEX or COMPOUND"); THROW_SALOME_CORBA_EXCEPTION("theVertex shape type is not VERTEX or COMPOUND", SALOME::BAD_PARAM); } @@ -627,12 +691,7 @@ CORBA::Double GHS3DPlugin_Hypothesis_i::GetEnforcedVertexGeom(GEOM::GEOM_Object_ return isDone; } catch (const std::invalid_argument& ex) { - SALOME::ExceptionStruct ExDescription; - ExDescription.text = ex.what(); - ExDescription.type = SALOME::BAD_PARAM; - ExDescription.sourceFile = "GHS3DPlugin_Hypothesis_i.cxx"; - ExDescription.lineNumber = 538; - throw SALOME::SALOME_Exception(ExDescription); + THROW_SALOME_CORBA_EXCEPTION( ex.what() ,SALOME::BAD_PARAM ); } catch (SALOME_Exception& ex) { THROW_SALOME_CORBA_EXCEPTION( ex.what() ,SALOME::BAD_PARAM ); @@ -663,7 +722,7 @@ GHS3DPlugin::GHS3DEnforcedVertexList* GHS3DPlugin_Hypothesis_i::GetEnforcedVerti // Coords GHS3DPlugin::TCoords_var coords = new GHS3DPlugin::TCoords(); coords->length(currentVertex->coords.size()); - for (int ind = 0; ind < currentVertex->coords.size(); ind++) + for ( size_t ind = 0; ind < currentVertex->coords.size(); ind++) coords[ind] = currentVertex->coords[ind]; enfVertex->coords = coords; // Group Name @@ -674,9 +733,9 @@ GHS3DPlugin::GHS3DEnforcedVertexList* GHS3DPlugin_Hypothesis_i::GetEnforcedVerti enfVertex->isCompound = currentVertex->isCompound; result[i]=enfVertex; - } + } -// SMESH::TPythonDump() << "allEnforcedVertices = " << _this() << ".GetEnforcedVertices()"; + // SMESH::TPythonDump() << "allEnforcedVertices = " << _this() << ".GetEnforcedVertices()"; return result._retn(); } @@ -695,12 +754,7 @@ bool GHS3DPlugin_Hypothesis_i::RemoveEnforcedVertex(CORBA::Double x, CORBA::Doub return res; } catch (const std::invalid_argument& ex) { - SALOME::ExceptionStruct ExDescription; - ExDescription.text = ex.what(); - ExDescription.type = SALOME::BAD_PARAM; - ExDescription.sourceFile = "GHS3DPlugin_Hypothesis_i.cxx"; - ExDescription.lineNumber = 625; - throw SALOME::SALOME_Exception(ExDescription); + THROW_SALOME_CORBA_EXCEPTION( ex.what() ,SALOME::BAD_PARAM ); } catch (SALOME_Exception& ex) { THROW_SALOME_CORBA_EXCEPTION( ex.what() ,SALOME::BAD_PARAM ); @@ -713,7 +767,6 @@ bool GHS3DPlugin_Hypothesis_i::RemoveEnforcedVertexGeom(GEOM::GEOM_Object_ptr th ASSERT(myBaseImpl); if ((theVertex->GetShapeType() != GEOM::VERTEX) && (theVertex->GetShapeType() != GEOM::COMPOUND)) { - MESSAGE("theVertex shape type is not VERTEX or COMPOUND"); THROW_SALOME_CORBA_EXCEPTION("theVertex shape type is not VERTEX or COMPOUND", SALOME::BAD_PARAM); } @@ -740,12 +793,7 @@ bool GHS3DPlugin_Hypothesis_i::RemoveEnforcedVertexGeom(GEOM::GEOM_Object_ptr th return res; } catch (const std::invalid_argument& ex) { - SALOME::ExceptionStruct ExDescription; - ExDescription.text = ex.what(); - ExDescription.type = SALOME::BAD_PARAM; - ExDescription.sourceFile = "GHS3DPlugin_Hypothesis_i.cxx"; - ExDescription.lineNumber = 648; - throw SALOME::SALOME_Exception(ExDescription); + THROW_SALOME_CORBA_EXCEPTION( ex.what() ,SALOME::BAD_PARAM ); } catch (SALOME_Exception& ex) { THROW_SALOME_CORBA_EXCEPTION( ex.what() ,SALOME::BAD_PARAM ); @@ -799,13 +847,11 @@ GHS3DPlugin::GHS3DEnforcedMeshList* GHS3DPlugin_Hypothesis_i::GetEnforcedMeshes( enfMesh->elementType = currentMesh->elementType; // Group Name enfMesh->groupName = CORBA::string_dup(currentMesh->groupName.c_str()); - // Size - enfMesh->size = currentMesh->size; result[i]=enfMesh; - } + } -// SMESH::TPythonDump() << "allEnforcedVertices = " << _this() << ".GetEnforcedVertices()"; + // SMESH::TPythonDump() << "allEnforcedVertices = " << _this() << ".GetEnforcedVertices()"; return result._retn(); } @@ -816,31 +862,7 @@ GHS3DPlugin::GHS3DEnforcedMeshList* GHS3DPlugin_Hypothesis_i::GetEnforcedMeshes( bool GHS3DPlugin_Hypothesis_i::SetEnforcedMeshWithGroup(SMESH::SMESH_IDSource_ptr theSource, SMESH::ElementType theType, const char* theGroupName) throw (SALOME::SALOME_Exception) { -#if GHS3D_VERSION >= 42 - return p_SetEnforcedMesh(theSource, theType, -1.0, theGroupName); -// bool res = p_SetEnforcedMesh(theSource, theType, -1.0, theGroupName); -// SMESH_Mesh_i* theMesh_i = SMESH::DownCast( theSource); -// SMESH_Group_i* theGroup_i = SMESH::DownCast( theSource); -// SMESH_GroupOnGeom_i* theGroupOnGeom_i = SMESH::DownCast( theSource); -// if (theGroup_i || theGroupOnGeom_i) -// { -// SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMeshWithGroup( " -// << theSource << ", " << theType << ", \"" << theGroupName << "\" )"; -// } -// else if (theMesh_i) -// { -// SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMeshWithGroup( " -// << theSource << ".GetMesh(), " << theType << ", \"" << theGroupName << "\" )"; -// } -// return res; -#else - SALOME::ExceptionStruct ExDescription; - ExDescription.text = "Bad version of GHS3D. It must >= 4.2."; - ExDescription.type = SALOME::BAD_PARAM; - ExDescription.sourceFile = "GHS3DPlugin_Hypothesis_i.cxx"; - ExDescription.lineNumber = 719; - throw SALOME::SALOME_Exception(ExDescription); -#endif + return p_SetEnforcedMesh(theSource, theType, "", theGroupName); } /*! @@ -849,202 +871,75 @@ bool GHS3DPlugin_Hypothesis_i::SetEnforcedMeshWithGroup(SMESH::SMESH_IDSource_pt bool GHS3DPlugin_Hypothesis_i::SetEnforcedMesh(SMESH::SMESH_IDSource_ptr theSource, SMESH::ElementType theType) throw (SALOME::SALOME_Exception) { -// MESSAGE("GHS3DPlugin_Hypothesis_i::SetEnforcedMesh"); -#if GHS3D_VERSION >= 42 return p_SetEnforcedMesh(theSource, theType); -// bool res = p_SetEnforcedMesh(theSource, theType); -// SMESH_Mesh_i* theMesh_i = SMESH::DownCast( theSource); -// SMESH_Group_i* theGroup_i = SMESH::DownCast( theSource); -// SMESH_GroupOnGeom_i* theGroupOnGeom_i = SMESH::DownCast( theSource); -// if (theGroup_i || theGroupOnGeom_i) -// { -// SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMesh( " -// << theSource << ", " << theType << " )"; -// } -// else if (theMesh_i) -// { -// SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMesh( " -// << theSource << ".GetMesh(), " << theType << " )"; -// } -// return res; -#else - SALOME::ExceptionStruct ExDescription; - ExDescription.text = "Bad version of GHS3D. It must >= 4.2."; - ExDescription.type = SALOME::BAD_PARAM; - ExDescription.sourceFile = "GHS3DPlugin_Hypothesis_i.cxx"; - ExDescription.lineNumber = 750; - throw SALOME::SALOME_Exception(ExDescription); -#endif } /*! - * \brief Adds enforced elements of type elementType using another mesh/sub-mesh/mesh group theSource and a size. The elements will be grouped in theGroupName. + * \brief OBSOLETE FUNCTION - Adds enforced elements of type elementType using another mesh/sub-mesh/mesh group theSource and a size. The elements will be grouped in theGroupName. */ bool GHS3DPlugin_Hypothesis_i::SetEnforcedMeshSizeWithGroup(SMESH::SMESH_IDSource_ptr theSource, SMESH::ElementType theType, double theSize, const char* theGroupName) throw (SALOME::SALOME_Exception) { -#if GHS3D_VERSION >= 42 - if (theSize < 0) { - SALOME::ExceptionStruct ExDescription; - ExDescription.text = "Size cannot be negative"; - ExDescription.type = SALOME::BAD_PARAM; - ExDescription.sourceFile = "GHS3DPlugin_Hypothesis_i.cxx"; - ExDescription.lineNumber = 781; - throw SALOME::SALOME_Exception(ExDescription); - } - - return p_SetEnforcedMesh(theSource, theType, theSize, theGroupName); -// bool res = p_SetEnforcedMesh(theSource, theType, theSize, theGroupName); -// SMESH_Mesh_i* theMesh_i = SMESH::DownCast( theSource); -// SMESH_Group_i* theGroup_i = SMESH::DownCast( theSource); -// SMESH_GroupOnGeom_i* theGroupOnGeom_i = SMESH::DownCast( theSource); -// if (theGroup_i || theGroupOnGeom_i) -// { -// SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMeshSizeWithGroup( " -// << theSource << ", " << theType << ", " << theSize << ", \"" << theGroupName << "\" )"; -// } -// else if (theMesh_i) -// { -// SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMeshSizeWithGroup( " -// << theSource << ".GetMesh(), " << theType << ", " << theSize << ", \"" << theGroupName << "\" )"; -// } -// return res; -#else - SALOME::ExceptionStruct ExDescription; - ExDescription.text = "Bad version of GHS3D. It must >= 4.2."; - ExDescription.type = SALOME::BAD_PARAM; - ExDescription.sourceFile = "GHS3DPlugin_Hypothesis_i.cxx"; - ExDescription.lineNumber = 750; - throw SALOME::SALOME_Exception(ExDescription); -#endif + return p_SetEnforcedMesh(theSource, theType, "", theGroupName); } /*! - * \brief Adds enforced elements of type elementType using another mesh/sub-mesh/mesh group theSource and a size. + * \brief OBSOLETE FUNCTION - Adds enforced elements of type elementType using another mesh/sub-mesh/mesh group theSource and a size. */ bool GHS3DPlugin_Hypothesis_i::SetEnforcedMeshSize(SMESH::SMESH_IDSource_ptr theSource, SMESH::ElementType theType, double theSize) throw (SALOME::SALOME_Exception) { -#if GHS3D_VERSION >= 42 - if (theSize < 0) { - SALOME::ExceptionStruct ExDescription; - ExDescription.text = "Size cannot be negative"; - ExDescription.type = SALOME::BAD_PARAM; - ExDescription.sourceFile = "GHS3DPlugin_Hypothesis_i.cxx"; - ExDescription.lineNumber = 781; - throw SALOME::SALOME_Exception(ExDescription); - } - return p_SetEnforcedMesh(theSource, theType, theSize); -// bool res = p_SetEnforcedMesh(theSource, theType, theSize); -// SMESH_Mesh_i* theMesh_i = SMESH::DownCast( theSource); -// SMESH_Group_i* theGroup_i = SMESH::DownCast( theSource); -// SMESH_GroupOnGeom_i* theGroupOnGeom_i = SMESH::DownCast( theSource); -// if (theGroup_i || theGroupOnGeom_i) -// { -// SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMeshSize( " -// << theSource << ", " << theType << ", " << theSize << " )"; -// } -// else if (theMesh_i) -// { -// SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMeshSize( " -// << theSource << ".GetMesh(), " << theType << ", " << theSize << " )"; -// } -// return res; -#else - SALOME::ExceptionStruct ExDescription; - ExDescription.text = "Bad version of GHS3D. It must >= 4.2."; - ExDescription.type = SALOME::BAD_PARAM; - ExDescription.sourceFile = "GHS3DPlugin_Hypothesis_i.cxx"; - ExDescription.lineNumber = 750; - throw SALOME::SALOME_Exception(ExDescription); -#endif + return p_SetEnforcedMesh(theSource, theType); } -bool GHS3DPlugin_Hypothesis_i::p_SetEnforcedMesh(SMESH::SMESH_IDSource_ptr theSource, SMESH::ElementType theType, double theSize, const char* theGroupName) +bool GHS3DPlugin_Hypothesis_i::p_SetEnforcedMesh(SMESH::SMESH_IDSource_ptr theSource, + SMESH::ElementType theType, + const char* theName, + const char* theGroupName) throw (SALOME::SALOME_Exception) { - MESSAGE("GHS3DPlugin_Hypothesis_i::p_SetEnforcedMesh"); ASSERT(myBaseImpl); - + if (CORBA::is_nil( theSource )) - { - SALOME::ExceptionStruct ExDescription; - ExDescription.text = "The source mesh CORBA object is NULL"; - ExDescription.type = SALOME::BAD_PARAM; - ExDescription.sourceFile = "GHS3DPlugin_Hypothesis_i.cxx"; - ExDescription.lineNumber = 840; - throw SALOME::SALOME_Exception(ExDescription); - } - - if ((theType != SMESH::NODE) && (theType != SMESH::EDGE) && (theType != SMESH::FACE)) - { + THROW_SALOME_CORBA_EXCEPTION( "The source mesh CORBA object is NULL" ,SALOME::BAD_PARAM ); + + switch (theType) { + case SMESH::NODE: + case SMESH::EDGE: + case SMESH::FACE: break; + default: return false; -// SALOME::ExceptionStruct ExDescription; -// ExDescription.text = "Bad elementType"; -// ExDescription.type = SALOME::BAD_PARAM; -// ExDescription.sourceFile = "GHS3DPlugin_Hypothesis_i.cxx"; -// ExDescription.lineNumber = 840; -// throw SALOME::SALOME_Exception(ExDescription); } - SMESH::array_of_ElementType_var types = theSource->GetTypes(); - switch (theType) { - case SMESH::NODE: - MESSAGE("Required type is NODE"); - break; - case SMESH::EDGE: - MESSAGE("Required type is EDGE"); - break; - case SMESH::FACE: - MESSAGE("Required type is FACE"); - break; - default: - break; - } -// MESSAGE("Required type is "<length();i++){MESSAGE(types[i]);} if ( types->length() >= 1 && types[types->length()-1] < theType) { return false; -// SALOME::ExceptionStruct ExDescription; -// ExDescription.text = "The source mesh has bad type"; -// ExDescription.type = SALOME::BAD_PARAM; -// ExDescription.sourceFile = "GHS3DPlugin_Hypothesis_i.cxx"; -// ExDescription.lineNumber = 840; -// throw SALOME::SALOME_Exception(ExDescription); } - + + SMESH_Gen_i *smeshGen = SMESH_Gen_i::GetSMESHGen(); + SALOMEDS::SObject_ptr SObj = smeshGen->ObjectToSObject(smeshGen->GetCurrentStudy(),theSource); + SMESH_Mesh_i* theMesh_i = SMESH::DownCast( theSource); SMESH_Group_i* theGroup_i = SMESH::DownCast( theSource); SMESH_GroupOnGeom_i* theGroupOnGeom_i = SMESH::DownCast( theSource); - TIDSortedElemSet theElemSet; - SMESH_Gen_i *smeshGen = SMESH_Gen_i::GetSMESHGen(); - SALOMEDS::SObject_ptr SObj = smeshGen->ObjectToSObject(smeshGen->GetCurrentStudy(),theSource); + + string enfMeshName = theName; + if (enfMeshName.empty()) + enfMeshName = SObj->GetName(); + if (theMesh_i) { try { - bool res = this->GetImpl()->SetEnforcedMesh(theMesh_i->GetImpl(), theType, SObj->GetName() , SObj->GetID(), theSize, theGroupName); - if (theSize > 0) { - if (theGroupName != "") { - SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMeshSizeWithGroup( " - << theSource << ".GetMesh(), " << theType << ", " << theSize << ", \"" << theGroupName << "\" )"; - } - else { - SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMeshSize( " - << theSource << ".GetMesh(), " << theType << ", " << theSize << ", \"" << theGroupName << "\" )"; - } + bool res = this->GetImpl()->SetEnforcedMesh(theMesh_i->GetImpl(), theType, enfMeshName , SObj->GetID(), theGroupName); + if (theGroupName && theGroupName[0] ) { + SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMeshWithGroup( " + << theSource << ".GetMesh(), " << theType << ", \"" << theGroupName << "\" )"; } else { - if (theGroupName != "") { - SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMeshWithGroup( " - << theSource << ".GetMesh(), " << theType << ", \"" << theGroupName << "\" )"; - } - else { - SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMesh( " - << theSource << ".GetMesh(), " << theType << " )"; - } + SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMesh( " + << theSource << ".GetMesh(), " << theType << " )"; } + return res; } catch (const std::invalid_argument& ex) { @@ -1059,30 +954,17 @@ bool GHS3DPlugin_Hypothesis_i::p_SetEnforcedMesh(SMESH::SMESH_IDSource_ptr theSo THROW_SALOME_CORBA_EXCEPTION( ex.what() ,SALOME::BAD_PARAM ); } } - else if (theGroup_i && types->length() == 1 && types[0] == theType) + else if (theGroup_i)// && types->length() == 1 && types[0] == theType) { - MESSAGE("The source is a group") try { - bool res = this->GetImpl()->SetEnforcedGroup(theGroup_i->GetGroupDS()->GetMesh(), theGroup_i->GetListOfID(), theType, SObj->GetName() , SObj->GetID(), theSize, theGroupName); - if (theSize > 0) { - if (theGroupName != "") { - SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMeshSizeWithGroup( " - << theSource << ", " << theType << ", " << theSize << ", \"" << theGroupName << "\" )"; - } - else { - SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMeshSize( " - << theSource << ", " << theType << ", " << theSize << ", \"" << theGroupName << "\" )"; - } + bool res = this->GetImpl()->SetEnforcedGroup(theGroup_i->GetGroupDS()->GetMesh(), theGroup_i->GetListOfID(), theType, enfMeshName , SObj->GetID(), theGroupName); + if ( theGroupName && theGroupName[0] ) { + SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMeshWithGroup( " + << theSource << ", " << theType << ", \"" << theGroupName << "\" )"; } else { - if (theGroupName != "") { - SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMeshWithGroup( " - << theSource << ", " << theType << ", \"" << theGroupName << "\" )"; - } - else { - SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMesh( " - << theSource << ", " << theType << " )"; - } + SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMesh( " + << theSource << ", " << theType << " )"; } return res; } @@ -1098,30 +980,17 @@ bool GHS3DPlugin_Hypothesis_i::p_SetEnforcedMesh(SMESH::SMESH_IDSource_ptr theSo THROW_SALOME_CORBA_EXCEPTION( ex.what() ,SALOME::BAD_PARAM ); } } - else if (theGroupOnGeom_i && types->length() == 1 && types[0] == theType) + else if (theGroupOnGeom_i)// && types->length() == 1 && types[0] == theType) { - MESSAGE("The source is a group on geom") try { - bool res = this->GetImpl()->SetEnforcedGroup(theGroupOnGeom_i->GetGroupDS()->GetMesh(),theGroupOnGeom_i->GetListOfID(), theType, SObj->GetName() , SObj->GetID(), theSize, theGroupName); - if (theSize > 0) { - if (theGroupName != "") { - SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMeshSizeWithGroup( " - << theSource << ", " << theType << ", " << theSize << ", \"" << theGroupName << "\" )"; - } - else { - SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMeshSize( " - << theSource << ", " << theType << ", " << theSize << ", \"" << theGroupName << "\" )"; - } + bool res = this->GetImpl()->SetEnforcedGroup(theGroupOnGeom_i->GetGroupDS()->GetMesh(),theGroupOnGeom_i->GetListOfID(), theType, enfMeshName , SObj->GetID(), theGroupName); + if ( theGroupName && theGroupName[0] ) { + SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMeshWithGroup( " + << theSource << ", " << theType << ", \"" << theGroupName << "\" )"; } else { - if (theGroupName != "") { - SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMeshWithGroup( " - << theSource << ", " << theType << ", \"" << theGroupName << "\" )"; - } - else { - SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMesh( " - << theSource << ", " << theType << " )"; - } + SMESH::TPythonDump () << "isDone = " << _this() << ".SetEnforcedMesh( " + << theSource << ", " << theType << " )"; } return res; } @@ -1160,4 +1029,3 @@ CORBA::Boolean GHS3DPlugin_Hypothesis_i::IsDimSupported( SMESH::Dimension type ) { return type == SMESH::DIM_3D; } -