Fix for Bug IPAL11843:

Error in the python code if use Nb. Segments hypothesis with analitic density
This commit is contained in:
enk 2006-03-21 08:08:05 +00:00
parent aeb7cec23a
commit f285075263

View File

@ -909,12 +909,21 @@ bool _pyNumberOfSegmentsHyp::Addition2Creation( const Handle(_pyCommand)& theCmd
const _pyID& theMesh) const _pyID& theMesh)
{ {
if ( IsWrappable( theMesh ) && myArgs.Length() > 0 ) { if ( IsWrappable( theMesh ) && myArgs.Length() > 0 ) {
list<Handle(_pyCommand)>::iterator cmd = myUnknownCommands.begin(); list<Handle(_pyCommand)> aNewCommandsList;
for ( ; cmd != myUnknownCommands.end(); ++cmd ) { list<TCollection_AsciiString> aNewList;
// clear SetDistrType() list<TCollection_AsciiString>::iterator aNewListIter;
if ( (*cmd)->GetString().Location( "SetDistrType", 1, (*cmd)->Length() ))
(*cmd)->Clear(); list<Handle(_pyCommand)>::reverse_iterator cmd = myUnknownCommands.rbegin();
for ( ; cmd != myUnknownCommands.rend(); ++cmd ) {
aNewListIter = find(aNewList.begin(),aNewList.end(),(*cmd)->GetMethod());
if(aNewListIter == aNewList.end()){
aNewList.push_front((*cmd)->GetMethod());
aNewCommandsList.push_front((*cmd));
} else {
(*cmd)->Clear();
}
} }
myUnknownCommands = aNewCommandsList;
} }
return _pyHypothesis::Addition2Creation( theCmd, theMesh ); return _pyHypothesis::Addition2Creation( theCmd, theMesh );
} }
@ -1280,8 +1289,8 @@ void _pyCommand::RemoveArgs()
bool _pyCommand::SetDependentCmdsAfter() const bool _pyCommand::SetDependentCmdsAfter() const
{ {
bool orderChanged = false; bool orderChanged = false;
list< Handle(_pyCommand)>::const_iterator cmd = myDependentCmds.begin(); list< Handle(_pyCommand)>::const_reverse_iterator cmd = myDependentCmds.rbegin();
for ( ; cmd != myDependentCmds.end(); ++cmd ) { for ( ; cmd != myDependentCmds.rend(); ++cmd ) {
if ( (*cmd)->GetOrderNb() < GetOrderNb() ) { if ( (*cmd)->GetOrderNb() < GetOrderNb() ) {
orderChanged = true; orderChanged = true;
theGen->SetCommandAfter( *cmd, this ); theGen->SetCommandAfter( *cmd, this );