X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FStdMeshers_I%2FStdMeshers_ViscousLayers_i.cxx;h=6a1f41daa8aac95da73942a36a69c6c17d07b4c1;hb=a5f7916fb6386e1f54a9a39073e83a703b29fc48;hp=5ad82c7ecbb22ef1dd9b8a2c8d775b25ccc0f63c;hpb=62c442d05faf338dd2a7c14a6c175a588735bbe4;p=modules%2Fsmesh.git diff --git a/src/StdMeshers_I/StdMeshers_ViscousLayers_i.cxx b/src/StdMeshers_I/StdMeshers_ViscousLayers_i.cxx index 5ad82c7ec..6a1f41daa 100644 --- a/src/StdMeshers_I/StdMeshers_ViscousLayers_i.cxx +++ b/src/StdMeshers_I/StdMeshers_ViscousLayers_i.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2014 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 @@ -6,7 +6,7 @@ // 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 @@ -78,15 +78,18 @@ StdMeshers_ViscousLayers_i::~StdMeshers_ViscousLayers_i() */ //================================================================================ -void StdMeshers_ViscousLayers_i::SetIgnoreFaces(const ::SMESH::long_array& faceIDs) -throw ( SALOME::SALOME_Exception ) +void StdMeshers_ViscousLayers_i::SetFaces(const ::SMESH::long_array& faceIDs, + CORBA::Boolean toIgnore) + throw ( SALOME::SALOME_Exception ) { vector ids( faceIDs.length() ); for ( unsigned i = 0; i < ids.size(); ++i ) if (( ids[i] = faceIDs[i] ) < 1 ) THROW_SALOME_CORBA_EXCEPTION( "Invalid face id", SALOME::BAD_PARAM ); - GetImpl()->SetBndShapes( ids, /*toIgnore=*/true ); - SMESH::TPythonDump() << _this() << ".SetIgnoreFaces( " << faceIDs << " )"; + + GetImpl()->SetBndShapes( ids, toIgnore ); + + SMESH::TPythonDump() << _this() << ".SetFaces( " << faceIDs << ", " << toIgnore << " )"; } //================================================================================ @@ -95,16 +98,13 @@ throw ( SALOME::SALOME_Exception ) */ //================================================================================ -SMESH::long_array* StdMeshers_ViscousLayers_i::GetIgnoreFaces() +SMESH::long_array* StdMeshers_ViscousLayers_i::GetFaces() { + vector idsVec = GetImpl()->GetBndShapes(); SMESH::long_array_var ids = new SMESH::long_array; - if ( GetImpl()->IsToIgnoreShapes() ) - { - vector idsVec = GetImpl()->GetBndShapes(); - ids->length( idsVec.size() ); - for ( unsigned i = 0; i < idsVec.size(); ++i ) - ids[i] = idsVec[i]; - } + ids->length( idsVec.size() ); + for ( unsigned i = 0; i < idsVec.size(); ++i ) + ids[i] = idsVec[i]; return ids._retn(); } @@ -114,6 +114,47 @@ SMESH::long_array* StdMeshers_ViscousLayers_i::GetIgnoreFaces() */ //================================================================================ +SMESH::long_array* StdMeshers_ViscousLayers_i::GetIgnoreFaces() +{ + if ( GetImpl()->IsToIgnoreShapes() ) + return this->GetFaces(); + return new SMESH::long_array; +} + +//================================================================================ +/*! + * \brief + */ +//================================================================================ + +CORBA::Boolean StdMeshers_ViscousLayers_i::GetIsToIgnoreFaces() +{ + return GetImpl()->IsToIgnoreShapes(); +} + +//================================================================================ +/*! + * \brief + */ +//================================================================================ + +void StdMeshers_ViscousLayers_i::SetIgnoreFaces(const ::SMESH::long_array& faceIDs) +throw ( SALOME::SALOME_Exception ) +{ + vector ids( faceIDs.length() ); + for ( unsigned i = 0; i < ids.size(); ++i ) + if (( ids[i] = faceIDs[i] ) < 1 ) + THROW_SALOME_CORBA_EXCEPTION( "Invalid face id", SALOME::BAD_PARAM ); + GetImpl()->SetBndShapes( ids, /*toIgnore=*/true ); + SMESH::TPythonDump() << _this() << ".SetIgnoreFaces( " << faceIDs << " )"; +} + +//================================================================================ +/*! + * \brief + */ +//================================================================================ + void StdMeshers_ViscousLayers_i::SetTotalThickness(::CORBA::Double thickness) throw ( SALOME::SALOME_Exception ) {