X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH_I%2FSMESH_2smeshpy.cxx;h=db7e04afa7a985ce7c01a20a1f017c8c5f15ef5c;hp=9ad3852900d66c165bb880333b877e68b24c077c;hb=cb55604f37e3d2583272fd436bb6557b041948b5;hpb=0fc0831670e27a5611b941c52dc152fd63964515 diff --git a/src/SMESH_I/SMESH_2smeshpy.cxx b/src/SMESH_I/SMESH_2smeshpy.cxx index 9ad385290..db7e04afa 100644 --- a/src/SMESH_I/SMESH_2smeshpy.cxx +++ b/src/SMESH_I/SMESH_2smeshpy.cxx @@ -50,22 +50,22 @@ #include #endif -IMPLEMENT_STANDARD_RTTIEXT(_pyObject ,Standard_Transient); -IMPLEMENT_STANDARD_RTTIEXT(_pyCommand ,Standard_Transient); -IMPLEMENT_STANDARD_RTTIEXT(_pyHypothesisReader,Standard_Transient); -IMPLEMENT_STANDARD_RTTIEXT(_pyGen ,_pyObject); -IMPLEMENT_STANDARD_RTTIEXT(_pyMesh ,_pyObject); -IMPLEMENT_STANDARD_RTTIEXT(_pySubMesh ,_pyObject); -IMPLEMENT_STANDARD_RTTIEXT(_pyMeshEditor ,_pyObject); -IMPLEMENT_STANDARD_RTTIEXT(_pyHypothesis ,_pyObject); -IMPLEMENT_STANDARD_RTTIEXT(_pySelfEraser ,_pyObject); -IMPLEMENT_STANDARD_RTTIEXT(_pyGroup ,_pyObject); -IMPLEMENT_STANDARD_RTTIEXT(_pyFilter ,_pyObject); -IMPLEMENT_STANDARD_RTTIEXT(_pyAlgorithm ,_pyHypothesis); -IMPLEMENT_STANDARD_RTTIEXT(_pyComplexParamHypo,_pyHypothesis); -IMPLEMENT_STANDARD_RTTIEXT(_pyNumberOfSegmentsHyp,_pyHypothesis); -IMPLEMENT_STANDARD_RTTIEXT(_pyLayerDistributionHypo,_pyHypothesis); -IMPLEMENT_STANDARD_RTTIEXT(_pySegmentLengthAroundVertexHyp,_pyHypothesis); +IMPLEMENT_STANDARD_RTTIEXT(_pyObject ,Standard_Transient) +IMPLEMENT_STANDARD_RTTIEXT(_pyCommand ,Standard_Transient) +IMPLEMENT_STANDARD_RTTIEXT(_pyHypothesisReader,Standard_Transient) +IMPLEMENT_STANDARD_RTTIEXT(_pyGen ,_pyObject) +IMPLEMENT_STANDARD_RTTIEXT(_pyMesh ,_pyObject) +IMPLEMENT_STANDARD_RTTIEXT(_pySubMesh ,_pyObject) +IMPLEMENT_STANDARD_RTTIEXT(_pyMeshEditor ,_pyObject) +IMPLEMENT_STANDARD_RTTIEXT(_pyHypothesis ,_pyObject) +IMPLEMENT_STANDARD_RTTIEXT(_pySelfEraser ,_pyObject) +IMPLEMENT_STANDARD_RTTIEXT(_pyGroup ,_pyObject) +IMPLEMENT_STANDARD_RTTIEXT(_pyFilter ,_pyObject) +IMPLEMENT_STANDARD_RTTIEXT(_pyAlgorithm ,_pyHypothesis) +IMPLEMENT_STANDARD_RTTIEXT(_pyComplexParamHypo,_pyHypothesis) +IMPLEMENT_STANDARD_RTTIEXT(_pyNumberOfSegmentsHyp,_pyHypothesis) +IMPLEMENT_STANDARD_RTTIEXT(_pyLayerDistributionHypo,_pyHypothesis) +IMPLEMENT_STANDARD_RTTIEXT(_pySegmentLengthAroundVertexHyp,_pyHypothesis) using namespace std; using SMESH::TPythonDump; @@ -930,8 +930,8 @@ Handle(_pyCommand) _pyGen::AddCommand( const TCollection_AsciiString& theCommand if ( -1 < iGeom && iGeom < nbTypes ) Threshold = SMESH + types[ iGeom ]; #ifdef _DEBUG_ - // is types complete? (compilation failure mains that enum GeometryType changed) - int _asrt[( sizeof(types) / sizeof(const char*) == nbTypes ) ? 2 : -1 ]; _asrt[0]=_asrt[1]; + // is types complete? (compilation failure means that enum GeometryType changed) + int _asrt[( sizeof(types) / sizeof(const char*) == nbTypes ) ? 2 : -1 ]; _asrt[0]=_asrt[1]; // _asrt[1] may be used uninitialized => replace this with static_assert? #endif } if (Type == "SMESH.FT_EntityType") @@ -950,8 +950,8 @@ Handle(_pyCommand) _pyGen::AddCommand( const TCollection_AsciiString& theCommand if ( -1 < iGeom && iGeom < nbTypes ) Threshold = SMESH + types[ iGeom ]; #ifdef _DEBUG_ - // is 'types' complete? (compilation failure mains that enum EntityType changed) - int _asrt[( sizeof(types) / sizeof(const char*) == nbTypes ) ? 2 : -1 ]; _asrt[0]=_asrt[1]; + // is 'types' complete? (compilation failure means that enum EntityType changed) + int _asrt[( sizeof(types) / sizeof(const char*) == nbTypes ) ? 2 : -1 ]; _asrt[0]=_asrt[1]; // _asrt[1] may be used uninitialized => replace this with static_assert? #endif } } @@ -1230,7 +1230,7 @@ void _pyGen::Flush() */ //================================================================================ -void _pyGen::PlaceSubmeshAfterItsCreation( Handle(_pyCommand) theCmdUsingSubmesh ) const +void _pyGen::PlaceSubmeshAfterItsCreation( Handle(_pyCommand) /*theCmdUsingSubmesh*/ ) const { // map< _pyID, Handle(_pyObject) >::const_iterator id_obj = myObjects.begin(); // for ( ; id_obj != myObjects.end(); ++id_obj ) @@ -3939,7 +3939,7 @@ int _pyCommand::GetArgBeginning() const if ( pos == UNKNOWN ) { pos = GetBegPos( METHOD_IND ) + myMeth.Length(); - if ( pos < 1 ) + if ( pos < 1 && Length() >= 4 ) pos = myString.Location( "(", 4, Length() ); // 4 = strlen("b.c(") } return pos; @@ -4024,6 +4024,11 @@ TCollection_AsciiString _pyCommand::GetWord( const _AString & theString, } theStartPos = beg; //cout << theString << " ---- " << beg << " - " << end << endl; + if ( end > theString.Length() ) + { + theStartPos = EMPTY; + return theEmptyString; + } return theString.SubString( beg, end ); } @@ -4477,7 +4482,7 @@ _pySubMesh::_pySubMesh(const Handle(_pyCommand)& theCreationCmd, bool toKeepAgrC */ //================================================================================ -bool _pySubMesh::CanBeArgOfMethod(const _AString& theMethodName) +bool _pySubMesh::CanBeArgOfMethod(const _AString& /*theMethodName*/) { return false; // names of all methods where a sub-mesh can be used as argument