X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH_I%2FSMESH_Filter_i.cxx;h=3e46a2039b7c68cb4297caeb543d23da3ce793f5;hp=94c76ec3d551093afaeea6ab2f01da4a1cec27e5;hb=5c5e1f2368ca2b3388f657ae028b2a6b5ce8ae36;hpb=07589de92eb5d8e7d4e3bfde8b26f0d69251acf0 diff --git a/src/SMESH_I/SMESH_Filter_i.cxx b/src/SMESH_I/SMESH_Filter_i.cxx index 94c76ec3d..3e46a2039 100644 --- a/src/SMESH_I/SMESH_Filter_i.cxx +++ b/src/SMESH_I/SMESH_Filter_i.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 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 @@ -40,6 +40,8 @@ #include #include +#include + #include #include #include @@ -170,21 +172,21 @@ static TopoDS_Shape getShapeByID (const char* theID) return TopoDS_Shape(); } -static std::string getShapeNameByID (const char* theID) -{ - if ( theID && strlen( theID ) > 0 ) { - SMESH_Gen_i* aSMESHGen = SMESH_Gen_i::GetSMESHGen(); - SALOMEDS::Study_var aStudy = aSMESHGen->GetCurrentStudy(); - if ( !aStudy->_is_nil() ) { - SALOMEDS::SObject_wrap aSObj = aStudy->FindObjectID(theID); - if ( !aSObj->_is_nil() ) { - CORBA::String_var name = aSObj->GetName(); - return name.in(); - } - } - } - return ""; -} +// static std::string getShapeNameByID (const char* theID) +// { +// if ( theID && strlen( theID ) > 0 ) { +// SMESH_Gen_i* aSMESHGen = SMESH_Gen_i::GetSMESHGen(); +// SALOMEDS::Study_var aStudy = aSMESHGen->GetCurrentStudy(); +// if ( !aStudy->_is_nil() ) { +// SALOMEDS::SObject_wrap aSObj = aStudy->FindObjectID(theID); +// if ( !aSObj->_is_nil() ) { +// CORBA::String_var name = aSObj->GetName(); +// return name.in(); +// } +// } +// } +// return ""; +// } /* FUNCTORS @@ -510,7 +512,6 @@ FunctorType Length2D_i::GetFunctorType() SMESH::Length2D::Values* Length2D_i::GetValues() { - INFOS("Length2D_i::GetValues"); SMESH::Controls::Length2D::TValues aValues; (dynamic_cast(myFunctorPtr.get()))->GetValues( aValues ); @@ -530,7 +531,6 @@ SMESH::Length2D::Values* Length2D_i::GetValues() aValue.myPnt2 = aVal.myPntId[ 1 ]; } - INFOS("Length2D_i::GetValuess~"); return aResult._retn(); } @@ -564,6 +564,21 @@ FunctorType BallDiameter_i::GetFunctorType() return SMESH::FT_BallDiameter; } +/* + Class : NodeConnectivityNumber_i + Description : Functor returning diameter of a ball element +*/ +NodeConnectivityNumber_i::NodeConnectivityNumber_i() +{ + myNumericalFunctorPtr.reset( new Controls::NodeConnectivityNumber() ); + myFunctorPtr = myNumericalFunctorPtr; +} + +FunctorType NodeConnectivityNumber_i::GetFunctorType() +{ + return SMESH::FT_NodeConnectivityNumber; +} + /* Class : MultiConnection2D_i Description : Functor for calculating number of faces conneted to the edge @@ -581,7 +596,6 @@ FunctorType MultiConnection2D_i::GetFunctorType() SMESH::MultiConnection2D::Values* MultiConnection2D_i::GetValues() { - INFOS("MultiConnection2D_i::GetValues"); SMESH::Controls::MultiConnection2D::MValues aValues; (dynamic_cast(myFunctorPtr.get()))->GetValues( aValues ); @@ -601,7 +615,6 @@ SMESH::MultiConnection2D::Values* MultiConnection2D_i::GetValues() aValue.myNbConnects = (*anIter).second; } - INFOS("Multiconnection2D_i::GetValuess~"); return aResult._retn(); } @@ -1218,7 +1231,6 @@ FreeEdges_i::FreeEdges_i() SMESH::FreeEdges::Borders* FreeEdges_i::GetBorders() { - INFOS("FreeEdges_i::GetBorders"); SMESH::Controls::FreeEdges::TBorders aBorders; myFreeEdgesPtr->GetBoreders( aBorders ); @@ -1237,8 +1249,6 @@ SMESH::FreeEdges::Borders* FreeEdges_i::GetBorders() aBorder.myPnt1 = aBord.myPntId[ 0 ]; aBorder.myPnt2 = aBord.myPntId[ 1 ]; } - - INFOS("FreeEdges_i::GetBorders~"); return aResult._retn(); } @@ -1635,7 +1645,7 @@ void ConnectedElements_i::SetThreshold ( const char* { case SMESH::ConnectedElements::POINT: // read 3 node coordinates /////////////////// { - vector< double > xyz; + std::vector< double > xyz; char* endptr; do { @@ -1837,9 +1847,9 @@ FunctorType EqualTo_i::GetFunctorType() Class : LogicalNOT_i Description : Logical NOT predicate */ -LogicalNOT_i::LogicalNOT_i() -: myPredicate( NULL ), - myLogicalNOTPtr( new Controls::LogicalNOT() ) +LogicalNOT_i::LogicalNOT_i(): + myLogicalNOTPtr( new Controls::LogicalNOT() ), + myPredicate( NULL ) { myFunctorPtr = myPredicatePtr = myLogicalNOTPtr; } @@ -2127,6 +2137,14 @@ BallDiameter_ptr FilterManager_i::CreateBallDiameter() return anObj._retn(); } +NodeConnectivityNumber_ptr FilterManager_i::CreateNodeConnectivityNumber() +{ + SMESH::NodeConnectivityNumber_i* aServant = new SMESH::NodeConnectivityNumber_i(); + SMESH::NodeConnectivityNumber_var anObj = aServant->_this(); + TPythonDump()<CreateBallDiameter(); break; + case SMESH::FT_NodeConnectivityNumber: + aFunctor = aFilterMgr->CreateNodeConnectivityNumber(); + break; // Predicates @@ -3920,6 +3941,7 @@ CORBA::Boolean FilterLibrary_i::Save() if ( myFileName == 0 || strlen( myFileName ) == 0 ) return false; +#if OCC_VERSION_MAJOR < 7 FILE* aOutFile = fopen( myFileName, "wt" ); if ( !aOutFile ) return false; @@ -3928,6 +3950,17 @@ CORBA::Boolean FilterLibrary_i::Save() aWriter.SetIndentation( 2 ); aWriter << myDoc; fclose( aOutFile ); +#else + std::filebuf fb; + fb.open( myFileName, std::ios::out ); + + Standard_OStream os( &fb ); + + LDOM_XmlWriter aWriter; + aWriter.SetIndentation( 2 ); + aWriter.Write( os, myDoc ); + fb.close(); +#endif TPythonDump()<