X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOM%2FGEOM_PythonDump.cxx;h=31900a1606f5fc2a6e6cafc84dabb7ef7c162533;hb=14e1a694c4cf249fe205a39c099482bc5b28a6e5;hp=107203a407625586b0d77b7edcb7801dbfeed76e;hpb=97c05bd172eb333540395044a41bb3e1160ffc48;p=modules%2Fgeom.git diff --git a/src/GEOM/GEOM_PythonDump.cxx b/src/GEOM/GEOM_PythonDump.cxx index 107203a40..31900a160 100644 --- a/src/GEOM/GEOM_PythonDump.cxx +++ b/src/GEOM/GEOM_PythonDump.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -110,7 +110,14 @@ namespace GEOM TPythonDump& TPythonDump::operator<< (const TopAbs_ShapeEnum theArg) { myStream<<"geompy.ShapeType[\""; - TopAbs::Print(theArg, myStream); + if (theArg == -1) + myStream<<"AUTO"; + else if (theArg == 9) + myStream<<"FLAT"; + else if (theArg >= TopAbs_COMPOUND && theArg <= TopAbs_SHAPE) + TopAbs::Print(theArg, myStream); + else + myStream<& theObjects) { Standard_Integer aLength = theObjects.size(); - if ( aLength > 1 ) { + if ( aLength != 1 ) { myStream << "["; } std::list::const_iterator obj = theObjects.begin(); @@ -152,7 +159,7 @@ namespace GEOM *this << *obj; if ( i < aLength ) myStream << ", "; } - if ( aLength > 1 ) { + if ( aLength != 1 ) { myStream << "]"; } return *this; @@ -170,41 +177,43 @@ namespace GEOM return *this; } - Handle(GEOM_Object) GetCreatedLast(const Handle(GEOM_Object)& theObj1, - const Handle(GEOM_Object)& theObj2) + Handle(GEOM_BaseObject) GetCreatedLast(const Handle(Standard_Transient)& theObj1, + const Handle(Standard_Transient)& theObj2) { - if (theObj1.IsNull()) return theObj2; - if (theObj2.IsNull()) return theObj1; + Handle(GEOM_BaseObject) bo1 = Handle(GEOM_Object)::DownCast(theObj1); + Handle(GEOM_BaseObject) bo2 = Handle(GEOM_Object)::DownCast(theObj2); + if (bo1.IsNull()) return bo2; + if (bo2.IsNull()) return bo1; TColStd_ListOfInteger aTags1, aTags2; - TDF_Tool::TagList(theObj1->GetEntry(), aTags1); - TDF_Tool::TagList(theObj2->GetEntry(), aTags2); + TDF_Tool::TagList(bo1->GetEntry(), aTags1); + TDF_Tool::TagList(bo2->GetEntry(), aTags2); TColStd_ListIteratorOfListOfInteger aListIter1(aTags1), aListIter2(aTags2); for (; aListIter1.More(); aListIter1.Next(), aListIter2.Next()) { if (!aListIter2.More()) - return theObj1; // anObj1 is stored under anObj2 + return bo1; // anObj1 is stored under anObj2 if (aListIter1.Value() > aListIter2.Value()) - return theObj1; + return bo1; else if (aListIter1.Value() < aListIter2.Value()) - return theObj2; + return bo2; } - return theObj1; + return bo1; } - Handle(GEOM_Object) GetCreatedLast(const Handle(TColStd_HSequenceOfTransient)& theObjects) + Handle(GEOM_BaseObject) GetCreatedLast(const Handle(TColStd_HSequenceOfTransient)& theObjects) { - Handle(GEOM_Object) anObject, aLatest; + Handle(GEOM_BaseObject) anObject, aLatest; int i, aLen = theObjects->Length(); if (aLen < 1) return aLatest; for (i = 1; i <= aLen; i++) { - anObject = Handle(GEOM_Object)::DownCast(theObjects->Value(i)); + anObject = Handle(GEOM_BaseObject)::DownCast(theObjects->Value(i)); if ( anObject.IsNull() ) { Handle(GEOM_Function) fun = Handle(GEOM_Function)::DownCast(theObjects->Value(i)); if ( !fun.IsNull() ) - anObject = GEOM_Object::GetObject( fun->GetOwnerEntry() ); + anObject = GEOM_BaseObject::GetObject( fun->GetOwnerEntry() ); } aLatest = GetCreatedLast(aLatest, anObject); }