X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOM_I%2FGEOM_IShapesOperations_i.cc;h=751c8839cde7b2f703ca07df7752d33902810a66;hb=b6f0965afb72083a5234f9b4fb0b233adaaf8d9d;hp=7561d9a168461e0fe90191c2214a5d216ddc28d9;hpb=29dfaa447450872cc5f5fbb57419e83aa9fd2cff;p=modules%2Fgeom.git diff --git a/src/GEOM_I/GEOM_IShapesOperations_i.cc b/src/GEOM_I/GEOM_IShapesOperations_i.cc index 7561d9a16..751c8839c 100644 --- a/src/GEOM_I/GEOM_IShapesOperations_i.cc +++ b/src/GEOM_I/GEOM_IShapesOperations_i.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2022 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 @@ -35,6 +35,8 @@ #include #include +#include + /** * This function converts GEOM::comparison_condition type into * GEOMUtils::ComparisonCondition type. @@ -102,13 +104,13 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeEdge GetOperations()->SetNotDone(); //Get the reference points - Handle(GEOM_Object) aPnt1 = GetObjectImpl(thePnt1); - Handle(GEOM_Object) aPnt2 = GetObjectImpl(thePnt2); + Handle(::GEOM_Object) aPnt1 = GetObjectImpl(thePnt1); + Handle(::GEOM_Object) aPnt2 = GetObjectImpl(thePnt2); if (aPnt1.IsNull() || aPnt2.IsNull()) return aGEOMObject._retn(); //Create the Edge - Handle(GEOM_Object) anObject = GetOperations()->MakeEdge(aPnt1, aPnt2); + Handle(::GEOM_Object) anObject = GetOperations()->MakeEdge(aPnt1, aPnt2); if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn(); @@ -131,17 +133,17 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeEdgeOnCurveByLength GetOperations()->SetNotDone(); //Get the reference curve - Handle(GEOM_Object) aRefCurve = GetObjectImpl(theCurve); + Handle(::GEOM_Object) aRefCurve = GetObjectImpl(theCurve); if (aRefCurve.IsNull()) return aGEOMObject._retn(); //Get the reference point (can be NULL) - Handle(GEOM_Object) aRefPoint; + Handle(::GEOM_Object) aRefPoint; if (!CORBA::is_nil(theStartPoint)) { aRefPoint = GetObjectImpl(theStartPoint); } //Create the point - Handle(GEOM_Object) anObject = + Handle(::GEOM_Object) anObject = GetOperations()->MakeEdgeOnCurveByLength(aRefCurve, theLength, aRefPoint); if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn(); @@ -165,12 +167,12 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeEdgeWire GetOperations()->SetNotDone(); //Get the source wire - Handle(GEOM_Object) aWire = GetObjectImpl(theWire); + Handle(::GEOM_Object) aWire = GetObjectImpl(theWire); if (aWire.IsNull()) return aGEOMObject._retn(); //Create the Edge - Handle(GEOM_Object) anObject = GetOperations()->MakeEdgeWire(aWire, theLinearTolerance, theAngularTolerance); + Handle(::GEOM_Object) anObject = GetOperations()->MakeEdgeWire(aWire, theLinearTolerance, theAngularTolerance); if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn(); @@ -192,18 +194,18 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeWire GetOperations()->SetNotDone(); int ind, aLen; - std::list aShapes; + std::list aShapes; //Get the shapes aLen = theEdgesAndWires.length(); for (ind = 0; ind < aLen; ind++) { - Handle(GEOM_Object) aSh = GetObjectImpl(theEdgesAndWires[ind]); + Handle(::GEOM_Object) aSh = GetObjectImpl(theEdgesAndWires[ind]); if (aSh.IsNull()) return aGEOMObject._retn(); aShapes.push_back(aSh); } // Make Solid - Handle(GEOM_Object) anObject = + Handle(::GEOM_Object) anObject = GetOperations()->MakeWire(aShapes, theTolerance); if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn(); @@ -226,11 +228,11 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeFace GetOperations()->SetNotDone(); //Get the reference wire - Handle(GEOM_Object) aWire = GetObjectImpl(theWire); + Handle(::GEOM_Object) aWire = GetObjectImpl(theWire); if (aWire.IsNull()) return aGEOMObject._retn(); //Create the Face - Handle(GEOM_Object) anObject = GetOperations()->MakeFace(aWire, isPlanarWanted); + Handle(::GEOM_Object) anObject = GetOperations()->MakeFace(aWire, isPlanarWanted); //if (!GetOperations()->IsDone() || anObject.IsNull()) // enable warning status if (anObject.IsNull()) @@ -254,18 +256,18 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeFaceWires GetOperations()->SetNotDone(); int ind, aLen; - std::list aShapes; + std::list aShapes; //Get the shapes aLen = theWires.length(); for (ind = 0; ind < aLen; ind++) { - Handle(GEOM_Object) aSh = GetObjectImpl(theWires[ind]); + Handle(::GEOM_Object) aSh = GetObjectImpl(theWires[ind]); if (aSh.IsNull()) return aGEOMObject._retn(); aShapes.push_back(aSh); } // Make Face - Handle(GEOM_Object) anObject = + Handle(::GEOM_Object) anObject = GetOperations()->MakeFaceWires(aShapes, isPlanarWanted); //if (!GetOperations()->IsDone() || anObject.IsNull()) // enable warning status @@ -290,15 +292,15 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeFaceFromSurface GetOperations()->SetNotDone(); //Get the reference face and wire - Handle(GEOM_Object) aFace = GetObjectImpl(theFace); - Handle(GEOM_Object) aWire = GetObjectImpl(theWire); + Handle(::GEOM_Object) aFace = GetObjectImpl(theFace); + Handle(::GEOM_Object) aWire = GetObjectImpl(theWire); if (aFace.IsNull() || aWire.IsNull()) { return aGEOMObject._retn(); } //Create the Face - Handle(GEOM_Object) anObject = + Handle(::GEOM_Object) anObject = GetOperations()->MakeFaceFromSurface(aFace, aWire); if (anObject.IsNull()) { @@ -322,14 +324,14 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeFaceWithConstraints GetOperations()->SetNotDone(); //Get the shapes - std::list aConstraints; - for( int ind = 0; ind < theConstraints.length(); ind++ ) { - Handle(GEOM_Object) anObject = GetObjectImpl( theConstraints[ind] ); + std::list aConstraints; + for( CORBA::ULong ind = 0; ind < theConstraints.length(); ind++ ) { + Handle(::GEOM_Object) anObject = GetObjectImpl( theConstraints[ind] ); aConstraints.push_back(anObject); } // Make Face - Handle(GEOM_Object) anObject = + Handle(::GEOM_Object) anObject = GetOperations()->MakeFaceWithConstraints( aConstraints ); // enable warning status @@ -353,18 +355,18 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeShell GetOperations()->SetNotDone(); int ind, aLen; - std::list aShapes; + std::list aShapes; //Get the shapes aLen = theFacesAndShells.length(); for (ind = 0; ind < aLen; ind++) { - Handle(GEOM_Object) aSh = GetObjectImpl(theFacesAndShells[ind]); + Handle(::GEOM_Object) aSh = GetObjectImpl(theFacesAndShells[ind]); if (aSh.IsNull()) return aGEOMObject._retn(); aShapes.push_back(aSh); } // Make Solid - Handle(GEOM_Object) anObject = + Handle(::GEOM_Object) anObject = GetOperations()->MakeShell(aShapes); if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn(); @@ -386,14 +388,14 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeSolidShell GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShell = GetObjectImpl(theShell); + Handle(::GEOM_Object) aShell = GetObjectImpl(theShell); if (aShell.IsNull()) return aGEOMObject._retn(); - std::list aShapes; + std::list aShapes; aShapes.push_back(aShell); //Create the Solid - Handle(GEOM_Object) anObject = GetOperations()->MakeSolidShells(aShapes); + Handle(::GEOM_Object) anObject = GetOperations()->MakeSolidShells(aShapes); if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn(); @@ -414,18 +416,18 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeSolidShells GetOperations()->SetNotDone(); int ind, aLen; - std::list aShapes; + std::list aShapes; //Get the shapes aLen = theShells.length(); for (ind = 0; ind < aLen; ind++) { - Handle(GEOM_Object) aSh = GetObjectImpl(theShells[ind]); + Handle(::GEOM_Object) aSh = GetObjectImpl(theShells[ind]); if (aSh.IsNull()) return aGEOMObject._retn(); aShapes.push_back(aSh); } // Make Solid - Handle(GEOM_Object) anObject = + Handle(::GEOM_Object) anObject = GetOperations()->MakeSolidShells(aShapes); if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn(); @@ -447,18 +449,18 @@ GEOM_IShapesOperations_i::MakeCompound (const GEOM::ListOfGO& theShapes) GetOperations()->SetNotDone(); int ind, aLen; - std::list aShapes; + std::list aShapes; //Get the shapes aLen = theShapes.length(); for (ind = 0; ind < aLen; ind++) { - Handle(GEOM_Object) aSh = GetObjectImpl(theShapes[ind]); + Handle(::GEOM_Object) aSh = GetObjectImpl(theShapes[ind]); if (aSh.IsNull()) return aGEOMObject._retn(); aShapes.push_back(aSh); } // Make Solid - Handle(GEOM_Object) anObject = + Handle(::GEOM_Object) anObject = GetOperations()->MakeCompound(aShapes); if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn(); @@ -481,18 +483,18 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeSolidFromConnectedFaces GetOperations()->SetNotDone(); int ind, aLen; - std::list aShapes; + std::list aShapes; //Get the shapes aLen = theFacesOrShells.length(); for (ind = 0; ind < aLen; ind++) { - Handle(GEOM_Object) aSh = GetObjectImpl(theFacesOrShells[ind]); + ::Handle(::GEOM_Object) aSh = GetObjectImpl(theFacesOrShells[ind]); if (aSh.IsNull()) return aGEOMObject._retn(); aShapes.push_back(aSh); } // Make Solid - Handle(GEOM_Object) anObject = + Handle(::GEOM_Object) anObject = GetOperations()->MakeSolidFromConnectedFaces(aShapes, isIntersect); if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn(); @@ -516,12 +518,12 @@ GEOM_IShapesOperations_i::MakeGlueFaces (const GEOM::ListOfGO& theShapes, GetOperations()->SetNotDone(); //Get the reference objects - std::list< Handle(GEOM_Object) > aShapes; + std::list< Handle(::GEOM_Object) > aShapes; if (! GetListOfObjectsImpl( theShapes, aShapes )) return aGEOMObject._retn(); //Perform the gluing - Handle(GEOM_Object) anObject = + Handle(::GEOM_Object) anObject = GetOperations()->MakeGlueFaces(aShapes, theTolerance, doKeepNonSolids); //if (!GetOperations()->IsDone() || anObject.IsNull()) // to allow warning @@ -546,7 +548,7 @@ GEOM_IShapesOperations_i::GetGlueFaces (const GEOM::ListOfGO& theShapes, GetOperations()->SetNotDone(); //Get the reference objects - std::list< Handle(GEOM_Object) > aShapes; + std::list< Handle(::GEOM_Object) > aShapes; if (! GetListOfObjectsImpl( theShapes, aShapes )) return aSeq._retn(); @@ -561,7 +563,7 @@ GEOM_IShapesOperations_i::GetGlueFaces (const GEOM::ListOfGO& theShapes, Standard_Integer aLength = aHSeq->Length(); aSeq->length(aLength); for (Standard_Integer i = 1; i <= aLength; i++) - aSeq[i-1] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i))); + aSeq[i-1] = GetObject(Handle(::GEOM_Object)::DownCast(aHSeq->Value(i))); return aSeq._retn(); } @@ -584,17 +586,17 @@ GEOM_IShapesOperations_i::MakeGlueFacesByList (const GEOM::ListOfGO& theShapes, GetOperations()->SetNotDone(); //Get the reference objects - std::list< Handle(GEOM_Object) > aShapes; + std::list< Handle(::GEOM_Object) > aShapes; if (! GetListOfObjectsImpl( theShapes, aShapes )) return aGEOMObject._retn(); //Get the shapes - std::list aFaces; + std::list aFaces; if (! GetListOfObjectsImpl( theFaces, aFaces )) return aGEOMObject._retn(); //Perform the gluing - Handle(GEOM_Object) anObject = + Handle(::GEOM_Object) anObject = GetOperations()->MakeGlueFacesByList(aShapes, theTolerance, aFaces, doKeepNonSolids, doGlueAllEdges); //if (!GetOperations()->IsDone() || anObject.IsNull()) @@ -620,12 +622,12 @@ GEOM_IShapesOperations_i::MakeGlueEdges (const GEOM::ListOfGO& theShapes, GetOperations()->SetNotDone(); //Get the reference objects - std::list< Handle(GEOM_Object) > aShapes; + std::list< Handle(::GEOM_Object) > aShapes; if (! GetListOfObjectsImpl( theShapes, aShapes )) return aGEOMObject._retn(); //Perform the gluing - Handle(GEOM_Object) anObject = + Handle(::GEOM_Object) anObject = GetOperations()->MakeGlueEdges(aShapes, theTolerance); //if (!GetOperations()->IsDone() || anObject.IsNull()) // to allow warning @@ -650,7 +652,7 @@ GEOM_IShapesOperations_i::GetGlueEdges (const GEOM::ListOfGO& theShapes, GetOperations()->SetNotDone(); //Get the reference objects - std::list< Handle(GEOM_Object) > aShapes; + std::list< Handle(::GEOM_Object) > aShapes; if (! GetListOfObjectsImpl( theShapes, aShapes )) return aSeq._retn(); @@ -665,7 +667,7 @@ GEOM_IShapesOperations_i::GetGlueEdges (const GEOM::ListOfGO& theShapes, Standard_Integer aLength = aHSeq->Length(); aSeq->length(aLength); for (Standard_Integer i = 1; i <= aLength; i++) - aSeq[i-1] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i))); + aSeq[i-1] = GetObject(Handle(::GEOM_Object)::DownCast(aHSeq->Value(i))); return aSeq._retn(); } @@ -686,17 +688,17 @@ GEOM_IShapesOperations_i::MakeGlueEdgesByList (const GEOM::ListOfGO& theShapes, GetOperations()->SetNotDone(); //Get the reference objects - std::list< Handle(GEOM_Object) > aShapes; + std::list< Handle(::GEOM_Object) > aShapes; if (! GetListOfObjectsImpl( theShapes, aShapes )) return aGEOMObject._retn(); //Get the shapes - std::list anEdges; + std::list anEdges; if (! GetListOfObjectsImpl( theEdges, anEdges )) return aGEOMObject._retn(); //Perform the gluing - Handle(GEOM_Object) anObject = + Handle(::GEOM_Object) anObject = GetOperations()->MakeGlueEdgesByList(aShapes, theTolerance, anEdges); //if (!GetOperations()->IsDone() || anObject.IsNull()) // to allow warning @@ -717,7 +719,7 @@ GEOM_IShapesOperations_i::GetExistingSubObjects (GEOM::GEOM_Object_ptr theShape, { GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO; - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); if (aShape.IsNull()) return aSeq._retn(); Handle(TColStd_HSequenceOfTransient) aHSeq = @@ -728,7 +730,7 @@ GEOM_IShapesOperations_i::GetExistingSubObjects (GEOM::GEOM_Object_ptr theShape, Standard_Integer aLength = aHSeq->Length(); aSeq->length(aLength); for (Standard_Integer i = 1; i <= aLength; i++) - aSeq[i-1] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i))); + aSeq[i-1] = GetObject(Handle(::GEOM_Object)::DownCast(aHSeq->Value(i))); return aSeq._retn(); } @@ -744,7 +746,7 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::MakeExplode (GEOM::GEOM_Object_ptr the { GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO; - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); if (aShape.IsNull()) return aSeq._retn(); Handle(TColStd_HSequenceOfTransient) aHSeq = @@ -756,7 +758,7 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::MakeExplode (GEOM::GEOM_Object_ptr the Standard_Integer aLength = aHSeq->Length(); aSeq->length(aLength); for (Standard_Integer i = 1; i <= aLength; i++) - aSeq[i-1] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i))); + aSeq[i-1] = GetObject(Handle(::GEOM_Object)::DownCast(aHSeq->Value(i))); return aSeq._retn(); } @@ -772,7 +774,7 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::MakeAllSubShapes (GEOM::GEOM_Object_pt { GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO; - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); if (aShape.IsNull()) return aSeq._retn(); Handle(TColStd_HSequenceOfTransient) aHSeq = @@ -784,7 +786,7 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::MakeAllSubShapes (GEOM::GEOM_Object_pt Standard_Integer aLength = aHSeq->Length(); aSeq->length(aLength); for (Standard_Integer i = 1; i <= aLength; i++) - aSeq[i-1] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i))); + aSeq[i-1] = GetObject(Handle(::GEOM_Object)::DownCast(aHSeq->Value(i))); return aSeq._retn(); } @@ -800,7 +802,7 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::ExtractSubShapes (GEOM::GEOM_Object_pt { GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO; - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); if (aShape.IsNull()) return aSeq._retn(); Handle(TColStd_HSequenceOfTransient) aHSeq = @@ -813,7 +815,7 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::ExtractSubShapes (GEOM::GEOM_Object_pt Standard_Integer aLength = aHSeq->Length(); aSeq->length(aLength); for (Standard_Integer i = 1; i <= aLength; i++) - aSeq[i-1] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i))); + aSeq[i-1] = GetObject(Handle(::GEOM_Object)::DownCast(aHSeq->Value(i))); return aSeq._retn(); } @@ -829,7 +831,7 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::SubShapeAllIDs (GEOM::GEOM_Object_pt { GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong; - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); if (aShape.IsNull()) return aSeq._retn(); Handle(TColStd_HSequenceOfInteger) aHSeq = @@ -856,7 +858,7 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetAllSubShapesIDs (GEOM::GEOM_Objec { GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong; - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); if (aShape.IsNull()) return aSeq._retn(); Handle(TColStd_HSequenceOfInteger) aHSeq = @@ -887,10 +889,10 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetSubShape GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theMainShape); + Handle(::GEOM_Object) aShape = GetObjectImpl(theMainShape); if (aShape.IsNull()) return aGEOMObject._retn(); - Handle(GEOM_Object) anObject = GetOperations()->GetSubShape(aShape, theID); + Handle(::GEOM_Object) anObject = GetOperations()->GetSubShape(aShape, theID); if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn(); @@ -906,7 +908,6 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::MakeSubShapes (GEOM::GEOM_Object_ptr t const GEOM::ListOfLong& theIndices) { GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO; - Standard_Integer i; //Set a not done flag GetOperations()->SetNotDone(); @@ -914,11 +915,11 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::MakeSubShapes (GEOM::GEOM_Object_ptr t if (theIndices.length() < 1) return aSeq._retn(); - Handle(GEOM_Object) aShape = GetObjectImpl(theMainShape); + Handle(::GEOM_Object) aShape = GetObjectImpl(theMainShape); if (aShape.IsNull()) return aSeq._retn(); Handle(TColStd_HArray1OfInteger) anArray = new TColStd_HArray1OfInteger (1, theIndices.length()); - for (i = 0; i < theIndices.length(); i++) + for (CORBA::ULong i = 0; i < theIndices.length(); i++) anArray->SetValue(i+1, theIndices[i]); Handle(TColStd_HSequenceOfTransient) aHSeq = GetOperations()->MakeSubShapes(aShape, anArray); @@ -927,8 +928,8 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::MakeSubShapes (GEOM::GEOM_Object_ptr t Standard_Integer aLength = aHSeq->Length(); aSeq->length(aLength); - for (i = 0; i < aLength; i++) - aSeq[i] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i+1))); + for (int i = 0; i < aLength; i++) + aSeq[i] = GetObject(Handle(::GEOM_Object)::DownCast(aHSeq->Value(i+1))); return aSeq._retn(); } @@ -942,8 +943,8 @@ CORBA::Long GEOM_IShapesOperations_i::GetSubShapeIndex (GEOM::GEOM_Object_ptr theMainShape, GEOM::GEOM_Object_ptr theSubShape) { //Get the reference shapes - Handle(GEOM_Object) aMainShapeRef = GetObjectImpl(theMainShape); - Handle(GEOM_Object) aSubShapeRef = GetObjectImpl(theSubShape); + Handle(::GEOM_Object) aMainShapeRef = GetObjectImpl(theMainShape); + Handle(::GEOM_Object) aSubShapeRef = GetObjectImpl(theSubShape); if (aMainShapeRef.IsNull() || aSubShapeRef.IsNull()) return -1; @@ -966,14 +967,14 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetSubShapesIndices GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong; //Get the reference main shape - Handle(GEOM_Object) aMainShapeRef = GetObjectImpl(theMainShape); + Handle(::GEOM_Object) aMainShapeRef = GetObjectImpl(theMainShape); if (aMainShapeRef.IsNull()) return aSeq._retn(); //Get the subshapes - std::list aShapes; + std::list aShapes; int aLen = theSubShapes.length(); for (int ind = 0; ind < aLen; ind++) { - Handle(GEOM_Object) aSh = GetObjectImpl(theSubShapes[ind]); + Handle(::GEOM_Object) aSh = GetObjectImpl(theSubShapes[ind]); if (aSh.IsNull()) { MESSAGE("NULL shape") @@ -1007,8 +1008,8 @@ CORBA::Long GEOM_IShapesOperations_i::GetTopologyIndex (GEOM::GEOM_Object_ptr theMainShape, GEOM::GEOM_Object_ptr theSubShape) { //Get the reference shapes - Handle(GEOM_Object) aMainShapeRef = GetObjectImpl(theMainShape); - Handle(GEOM_Object) aSubShapeRef = GetObjectImpl(theSubShape); + Handle(::GEOM_Object) aMainShapeRef = GetObjectImpl(theMainShape); + Handle(::GEOM_Object) aSubShapeRef = GetObjectImpl(theSubShape); if (aMainShapeRef.IsNull() || aSubShapeRef.IsNull()) return -1; @@ -1028,7 +1029,7 @@ CORBA::Long GEOM_IShapesOperations_i::GetTopologyIndex char* GEOM_IShapesOperations_i::GetShapeTypeString (GEOM::GEOM_Object_ptr theShape) { //Get the reference shape - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); if (aShape.IsNull()) return NULL; // Get shape parameters @@ -1046,8 +1047,8 @@ CORBA::Boolean GEOM_IShapesOperations_i::IsSubShapeBelongsTo( GEOM::GEOM_Object_ GEOM::GEOM_Object_ptr theObject, const CORBA::Long theObjectIndex) { - Handle(GEOM_Object) aSubObject = GetObjectImpl( theSubObject ); - Handle(GEOM_Object) anObject = GetObjectImpl( theObject ); + Handle(::GEOM_Object) aSubObject = GetObjectImpl( theSubObject ); + Handle(::GEOM_Object) anObject = GetObjectImpl( theObject ); if( anObject.IsNull() || aSubObject.IsNull() ) return false; @@ -1083,7 +1084,7 @@ CORBA::Long GEOM_IShapesOperations_i::NumberOfEdges (GEOM::GEOM_Object_ptr theSh CORBA::Long GEOM_IShapesOperations_i::NumberOfSubShapes (GEOM::GEOM_Object_ptr theShape, const CORBA::Long theShapeType) { - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); if (aShape.IsNull()) return -1; CORBA::Long aNb = GetOperations()->NumberOfSubShapes(aShape, theShapeType); @@ -1106,11 +1107,11 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::ChangeOrientation GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); if (aShape.IsNull()) return aGEOMObject._retn(); //Create the Solid - Handle(GEOM_Object) anObject = GetOperations()->ReverseShape(aShape); + Handle(::GEOM_Object) anObject = GetOperations()->ReverseShape(aShape); if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn(); @@ -1129,7 +1130,7 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetFreeFacesIDs (GEOM::GEOM_Object_p GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong; - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); if (aShape.IsNull()) return aSeq._retn(); Handle(TColStd_HSequenceOfInteger) aHSeq = @@ -1159,8 +1160,8 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetSharedShapes GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO; - Handle(GEOM_Object) aShape1 = GetObjectImpl(theShape1); - Handle(GEOM_Object) aShape2 = GetObjectImpl(theShape2); + Handle(::GEOM_Object) aShape1 = GetObjectImpl(theShape1); + Handle(::GEOM_Object) aShape2 = GetObjectImpl(theShape2); if (aShape1.IsNull() || aShape2.IsNull()) return aSeq._retn(); @@ -1172,7 +1173,7 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetSharedShapes Standard_Integer aLength = aHSeq->Length(); aSeq->length(aLength); for (Standard_Integer i = 1; i <= aLength; i++) - aSeq[i-1] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i))); + aSeq[i-1] = GetObject(Handle(::GEOM_Object)::DownCast(aHSeq->Value(i))); return aSeq._retn(); } @@ -1193,7 +1194,7 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetSharedShapesMulti GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO; //Get the shapes - std::list aShapes; + std::list aShapes; if (! GetListOfObjectsImpl( theShapes, aShapes )) return aSeq._retn(); @@ -1205,7 +1206,7 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetSharedShapesMulti Standard_Integer aLength = aHSeq->Length(); aSeq->length(aLength); for (Standard_Integer i = 1; i <= aLength; i++) - aSeq[i-1] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i))); + aSeq[i-1] = GetObject(Handle(::GEOM_Object)::DownCast(aHSeq->Value(i))); return aSeq._retn(); } @@ -1254,8 +1255,8 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnPlane GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); - Handle(GEOM_Object) anAx1 = GetObjectImpl(theAx1); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) anAx1 = GetObjectImpl(theAx1); if (aShape.IsNull() || anAx1.IsNull()) return aSeq._retn(); @@ -1268,7 +1269,7 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnPlane Standard_Integer aLength = aHSeq->Length(); aSeq->length(aLength); for (Standard_Integer i = 1; i <= aLength; i++) - aSeq[i-1] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i))); + aSeq[i-1] = GetObject(Handle(::GEOM_Object)::DownCast(aHSeq->Value(i))); return aSeq._retn(); } @@ -1291,9 +1292,9 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnPlaneWithLocation GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); - Handle(GEOM_Object) anAx1 = GetObjectImpl(theAx1); - Handle(GEOM_Object) anPnt = GetObjectImpl(thePnt); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) anAx1 = GetObjectImpl(theAx1); + Handle(::GEOM_Object) anPnt = GetObjectImpl(thePnt); if (aShape.IsNull() || anAx1.IsNull() || anPnt.IsNull()) return aSeq._retn(); @@ -1306,7 +1307,7 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnPlaneWithLocation Standard_Integer aLength = aHSeq->Length(); aSeq->length(aLength); for (Standard_Integer i = 1; i <= aLength; i++) - aSeq[i-1] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i))); + aSeq[i-1] = GetObject(Handle(::GEOM_Object)::DownCast(aHSeq->Value(i))); return aSeq._retn(); } @@ -1329,8 +1330,8 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnCylinder GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); - Handle(GEOM_Object) anAxis = GetObjectImpl(theAxis); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) anAxis = GetObjectImpl(theAxis); if (aShape.IsNull() || anAxis.IsNull()) return aSeq._retn(); @@ -1343,7 +1344,7 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnCylinder Standard_Integer aLength = aHSeq->Length(); aSeq->length(aLength); for (Standard_Integer i = 1; i <= aLength; i++) - aSeq[i-1] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i))); + aSeq[i-1] = GetObject(Handle(::GEOM_Object)::DownCast(aHSeq->Value(i))); return aSeq._retn(); } @@ -1367,9 +1368,9 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnCylinderWithLocation GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); - Handle(GEOM_Object) anAxis = GetObjectImpl(theAxis); - Handle(GEOM_Object) aPnt = GetObjectImpl(thePnt); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) anAxis = GetObjectImpl(theAxis); + Handle(::GEOM_Object) aPnt = GetObjectImpl(thePnt); if (aShape.IsNull() || anAxis.IsNull() || aPnt.IsNull()) return aSeq._retn(); @@ -1382,7 +1383,7 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnCylinderWithLocation Standard_Integer aLength = aHSeq->Length(); aSeq->length(aLength); for (Standard_Integer i = 1; i <= aLength; i++) - aSeq[i-1] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i))); + aSeq[i-1] = GetObject(Handle(::GEOM_Object)::DownCast(aHSeq->Value(i))); return aSeq._retn(); } @@ -1405,8 +1406,8 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnSphere GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); - Handle(GEOM_Object) aCenter = GetObjectImpl(theCenter); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aCenter = GetObjectImpl(theCenter); if (aShape.IsNull() || aCenter.IsNull()) return aSeq._retn(); @@ -1419,7 +1420,7 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnSphere Standard_Integer aLength = aHSeq->Length(); aSeq->length(aLength); for (Standard_Integer i = 1; i <= aLength; i++) - aSeq[i-1] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i))); + aSeq[i-1] = GetObject(Handle(::GEOM_Object)::DownCast(aHSeq->Value(i))); return aSeq._retn(); } @@ -1433,9 +1434,9 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnQuadrangle (GEOM::GEOM_Object_ptr theShape, CORBA::Long theShapeType, GEOM::GEOM_Object_ptr theTopLeftPoint, - GEOM::GEOM_Object_ptr theTopRigthPoint, + GEOM::GEOM_Object_ptr theTopRightPoint, GEOM::GEOM_Object_ptr theBottomLeftPoint, - GEOM::GEOM_Object_ptr theBottomRigthPoint, + GEOM::GEOM_Object_ptr theBottomRightPoint, GEOM::shape_state theState) { GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO; @@ -1444,23 +1445,23 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnQuadrangle GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); - Handle(GEOM_Object) aTopLeftPoint = GetObjectImpl(theTopLeftPoint); - Handle(GEOM_Object) aTopRigthPoint = GetObjectImpl(theTopRigthPoint); - Handle(GEOM_Object) aBottomLeftPoint = GetObjectImpl(theBottomLeftPoint); - Handle(GEOM_Object) aBottomRigthPoint = GetObjectImpl(theBottomRigthPoint); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aTopLeftPoint = GetObjectImpl(theTopLeftPoint); + Handle(::GEOM_Object) aTopRightPoint = GetObjectImpl(theTopRightPoint); + Handle(::GEOM_Object) aBottomLeftPoint = GetObjectImpl(theBottomLeftPoint); + Handle(::GEOM_Object) aBottomRightPoint = GetObjectImpl(theBottomRightPoint); if (aShape.IsNull() || aTopLeftPoint.IsNull() || - aTopRigthPoint.IsNull() || + aTopRightPoint.IsNull() || aBottomLeftPoint.IsNull() || - aBottomRigthPoint.IsNull()) + aBottomRightPoint.IsNull()) return aSeq._retn(); //Get Shapes On Quadrangle Handle(TColStd_HSequenceOfTransient) aHSeq = GetOperations()->GetShapesOnQuadrangle (aShape, theShapeType, - aTopLeftPoint, aTopRigthPoint, aBottomLeftPoint, aBottomRigthPoint, + aTopLeftPoint, aTopRightPoint, aBottomLeftPoint, aBottomRightPoint, ShapeState(theState)); if (!GetOperations()->IsDone() || aHSeq.IsNull()) return aSeq._retn(); @@ -1468,7 +1469,7 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnQuadrangle Standard_Integer aLength = aHSeq->Length(); aSeq->length(aLength); for (Standard_Integer i = 1; i <= aLength; i++) - aSeq[i-1] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i))); + aSeq[i-1] = GetObject(Handle(::GEOM_Object)::DownCast(aHSeq->Value(i))); return aSeq._retn(); } @@ -1490,8 +1491,8 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnPlaneIDs GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); - Handle(GEOM_Object) anAx1 = GetObjectImpl(theAx1); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) anAx1 = GetObjectImpl(theAx1); if (aShape.IsNull() || anAx1.IsNull()) return aSeq._retn(); @@ -1527,9 +1528,9 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnPlaneWithLocationIDs GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); - Handle(GEOM_Object) anAx1 = GetObjectImpl(theAx1); - Handle(GEOM_Object) anPnt = GetObjectImpl(thePnt); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) anAx1 = GetObjectImpl(theAx1); + Handle(::GEOM_Object) anPnt = GetObjectImpl(thePnt); if (aShape.IsNull() || anAx1.IsNull() || anPnt.IsNull()) return aSeq._retn(); @@ -1566,8 +1567,8 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnCylinderIDs GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); - Handle(GEOM_Object) anAxis = GetObjectImpl(theAxis); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) anAxis = GetObjectImpl(theAxis); if (aShape.IsNull() || anAxis.IsNull()) return aSeq._retn(); @@ -1604,9 +1605,9 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnCylinderWithLocationIDs GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); - Handle(GEOM_Object) anAxis = GetObjectImpl(theAxis); - Handle(GEOM_Object) aPnt = GetObjectImpl(thePnt); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) anAxis = GetObjectImpl(theAxis); + Handle(::GEOM_Object) aPnt = GetObjectImpl(thePnt); if (aShape.IsNull() || anAxis.IsNull() || aPnt.IsNull()) return aSeq._retn(); @@ -1642,8 +1643,8 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnSphereIDs GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); - Handle(GEOM_Object) aCenter = GetObjectImpl(theCenter); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aCenter = GetObjectImpl(theCenter); if (aShape.IsNull() || aCenter.IsNull()) return aSeq._retn(); @@ -1670,9 +1671,9 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnQuadrangleIDs (GEOM::GEOM_Object_ptr theShape, CORBA::Long theShapeType, GEOM::GEOM_Object_ptr theTopLeftPoint, - GEOM::GEOM_Object_ptr theTopRigthPoint, + GEOM::GEOM_Object_ptr theTopRightPoint, GEOM::GEOM_Object_ptr theBottomLeftPoint, - GEOM::GEOM_Object_ptr theBottomRigthPoint, + GEOM::GEOM_Object_ptr theBottomRightPoint, GEOM::shape_state theState) { GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong; @@ -1681,23 +1682,23 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnQuadrangleIDs GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); - Handle(GEOM_Object) aTopLeftPoint = GetObjectImpl(theTopLeftPoint); - Handle(GEOM_Object) aTopRigthPoint = GetObjectImpl(theTopRigthPoint); - Handle(GEOM_Object) aBottomLeftPoint = GetObjectImpl(theBottomLeftPoint); - Handle(GEOM_Object) aBottomRigthPoint = GetObjectImpl(theBottomRigthPoint); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aTopLeftPoint = GetObjectImpl(theTopLeftPoint); + Handle(::GEOM_Object) aTopRightPoint = GetObjectImpl(theTopRightPoint); + Handle(::GEOM_Object) aBottomLeftPoint = GetObjectImpl(theBottomLeftPoint); + Handle(::GEOM_Object) aBottomRightPoint = GetObjectImpl(theBottomRightPoint); if (aShape.IsNull() || aTopLeftPoint.IsNull() || - aTopRigthPoint.IsNull() || + aTopRightPoint.IsNull() || aBottomLeftPoint.IsNull() || - aBottomRigthPoint.IsNull() ) + aBottomRightPoint.IsNull() ) return aSeq._retn(); //Get Shapes On Quadrangle Handle(TColStd_HSequenceOfInteger) aHSeq = GetOperations()->GetShapesOnQuadrangleIDs (aShape, theShapeType, - aTopLeftPoint, aTopRigthPoint, aBottomLeftPoint, aBottomRigthPoint, + aTopLeftPoint, aTopRightPoint, aBottomLeftPoint, aBottomRightPoint, ShapeState(theState)); if (!GetOperations()->IsDone() || aHSeq.IsNull()) return aSeq._retn(); @@ -1727,8 +1728,8 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnBox GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); - Handle(GEOM_Object) aBox = GetObjectImpl(theBox); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aBox = GetObjectImpl(theBox); if (aShape.IsNull() || aBox.IsNull() ) return aSeq._retn(); @@ -1742,7 +1743,7 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnBox Standard_Integer aLength = aHSeq->Length(); aSeq->length(aLength); for (Standard_Integer i = 1; i <= aLength; i++) - aSeq[i-1] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i))); + aSeq[i-1] = GetObject(Handle(::GEOM_Object)::DownCast(aHSeq->Value(i))); return aSeq._retn(); } @@ -1764,8 +1765,8 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnBoxIDs GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); - Handle(GEOM_Object) aBox = GetObjectImpl(theBox); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aBox = GetObjectImpl(theBox); if (aShape.IsNull() || aBox.IsNull() ) return aSeq._retn(); @@ -1802,8 +1803,8 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnShape GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); - Handle(GEOM_Object) aCheckShape = GetObjectImpl(theCheckShape); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aCheckShape = GetObjectImpl(theCheckShape); if (aShape.IsNull() || aCheckShape.IsNull() ) return aSeq._retn(); @@ -1818,7 +1819,7 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetShapesOnShape Standard_Integer aLength = aHSeq->Length(); aSeq->length(aLength); for (Standard_Integer i = 1; i <= aLength; i++) - aSeq[i-1] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i))); + aSeq[i-1] = GetObject(Handle(::GEOM_Object)::DownCast(aHSeq->Value(i))); return aSeq._retn(); } @@ -1841,14 +1842,14 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetShapesOnShapeAsCompound GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); - Handle(GEOM_Object) aCheckShape = GetObjectImpl(theCheckShape); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aCheckShape = GetObjectImpl(theCheckShape); if (aShape.IsNull() || aCheckShape.IsNull() ) return aGEOMObject._retn(); //Get Shapes On Shape - Handle(GEOM_Object) anObject = GetOperations()->GetShapesOnShapeAsCompound + Handle(::GEOM_Object) anObject = GetOperations()->GetShapesOnShapeAsCompound (aCheckShape,aShape, theShapeType,ShapeState(theState)); if (anObject.IsNull()) @@ -1875,8 +1876,8 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetShapesOnShapeIDs GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); - Handle(GEOM_Object) aCheckShape = GetObjectImpl(theCheckShape); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aCheckShape = GetObjectImpl(theCheckShape); if (aShape.IsNull() || aCheckShape.IsNull() ) return aSeq._retn(); @@ -1911,14 +1912,14 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetInPlace GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShapeWhere = GetObjectImpl(theShapeWhere); - Handle(GEOM_Object) aShapeWhat = GetObjectImpl(theShapeWhat); + Handle(::GEOM_Object) aShapeWhere = GetObjectImpl(theShapeWhere); + Handle(::GEOM_Object) aShapeWhat = GetObjectImpl(theShapeWhat); if (aShapeWhere.IsNull() || aShapeWhat.IsNull()) return aGEOMObject._retn(); //Get Shapes in place of aShapeWhat - Handle(GEOM_Object) anObject = + Handle(::GEOM_Object) anObject = GetOperations()->GetInPlace(aShapeWhere, aShapeWhat); if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn(); @@ -1941,14 +1942,14 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetInPlaceOld GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShapeWhere = GetObjectImpl(theShapeWhere); - Handle(GEOM_Object) aShapeWhat = GetObjectImpl(theShapeWhat); + Handle(::GEOM_Object) aShapeWhere = GetObjectImpl(theShapeWhere); + Handle(::GEOM_Object) aShapeWhat = GetObjectImpl(theShapeWhat); if (aShapeWhere.IsNull() || aShapeWhat.IsNull()) return aGEOMObject._retn(); //Get Shapes in place of aShapeWhat - Handle(GEOM_Object) anObject = + Handle(::GEOM_Object) anObject = GetOperations()->GetInPlaceOld(aShapeWhere, aShapeWhat); if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn(); @@ -1971,14 +1972,14 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetInPlaceByHistory GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShapeWhere = GetObjectImpl(theShapeWhere); - Handle(GEOM_Object) aShapeWhat = GetObjectImpl(theShapeWhat); + Handle(::GEOM_Object) aShapeWhere = GetObjectImpl(theShapeWhere); + Handle(::GEOM_Object) aShapeWhat = GetObjectImpl(theShapeWhat); if (aShapeWhere.IsNull() || aShapeWhat.IsNull()) return aGEOMObject._retn(); //Get Shapes in place of aShapeWhat - Handle(GEOM_Object) anObject = + Handle(::GEOM_Object) anObject = GetOperations()->GetInPlaceByHistory(aShapeWhere, aShapeWhat); if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn(); @@ -1986,6 +1987,39 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetInPlaceByHistory return GetObject(anObject); } +//============================================================================= +/*! + * GetInPlaceMap + */ +//============================================================================= +GEOM::ListOfListOfLong* +GEOM_IShapesOperations_i::GetInPlaceMap (GEOM::GEOM_Object_ptr theShapeWhere, + GEOM::GEOM_Object_ptr theShapeWhat) +{ + GEOM::ListOfListOfLong_var aResult = new GEOM::ListOfListOfLong(); + + //Get the reference objects + Handle(::GEOM_Object) aShapeWhere = GetObjectImpl(theShapeWhere); + Handle(::GEOM_Object) aShapeWhat = GetObjectImpl(theShapeWhat); + + if (!aShapeWhere.IsNull() && + !aShapeWhat.IsNull()) + { + std::vector< std::vector< int > > resVec; + GetOperations()->GetInPlaceMap(aShapeWhere, aShapeWhat, resVec); + + aResult->length( resVec.size() ); + for ( size_t i = 0; i < resVec.size(); ++i ) + { + //if ( !resVec[i].empty() ) + aResult[i].length( resVec[i].size() ); + for ( size_t j = 0; j < resVec[i].size(); ++j ) + aResult[i][j] = resVec[i][j]; + } + } + return aResult._retn(); +} + //============================================================================= /*! * GetSame @@ -2001,14 +2035,14 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetSame GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShapeWhere = GetObjectImpl(theShapeWhere); - Handle(GEOM_Object) aShapeWhat = GetObjectImpl(theShapeWhat); + Handle(::GEOM_Object) aShapeWhere = GetObjectImpl(theShapeWhere); + Handle(::GEOM_Object) aShapeWhat = GetObjectImpl(theShapeWhat); if (aShapeWhere.IsNull() || aShapeWhat.IsNull()) return aGEOMObject._retn(); //Get Shapes in place of aShapeWhat - Handle(GEOM_Object) anObject = + Handle(::GEOM_Object) anObject = GetOperations()->GetSame(aShapeWhere, aShapeWhat); if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn(); @@ -2027,8 +2061,8 @@ GEOM::ListOfLong* GEOM_IShapesOperations_i::GetSameIDs GEOM::ListOfLong_var aSeq = new GEOM::ListOfLong; //Get the reference objects - Handle(GEOM_Object) aShapeWhere = GetObjectImpl(theShapeWhere); - Handle(GEOM_Object) aShapeWhat = GetObjectImpl(theShapeWhat); + Handle(::GEOM_Object) aShapeWhere = GetObjectImpl(theShapeWhere); + Handle(::GEOM_Object) aShapeWhat = GetObjectImpl(theShapeWhat); if (aShapeWhere.IsNull() || aShapeWhat.IsNull()) return aSeq._retn(); @@ -2063,14 +2097,14 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::ExtendEdge GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) anEdge = GetObjectImpl(theEdge); + Handle(::GEOM_Object) anEdge = GetObjectImpl(theEdge); if (anEdge.IsNull()) { return aGEOMObject._retn(); } //Get Shapes in place of aShapeWhat - Handle(GEOM_Object) aNewEdge = + Handle(::GEOM_Object) aNewEdge = GetOperations()->ExtendEdge(anEdge, theMin, theMax); if (!GetOperations()->IsDone() || aNewEdge.IsNull()) { @@ -2098,14 +2132,14 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::ExtendFace GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aFace = GetObjectImpl(theFace); + Handle(::GEOM_Object) aFace = GetObjectImpl(theFace); if (aFace.IsNull()) { return aGEOMObject._retn(); } //Get Shapes in place of aShapeWhat - Handle(GEOM_Object) aNewFace = + Handle(::GEOM_Object) aNewFace = GetOperations()->ExtendFace(aFace, theUMin, theUMax, theVMin, theVMax); if (!GetOperations()->IsDone() || aNewFace.IsNull()) { @@ -2129,14 +2163,14 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeSurfaceFromFace GetOperations()->SetNotDone(); //Get the reference object - Handle(GEOM_Object) aFace = GetObjectImpl(theFace); + Handle(::GEOM_Object) aFace = GetObjectImpl(theFace); if (aFace.IsNull()) { return aGEOMObject._retn(); } //Get Shapes in place of aShapeWhat - Handle(GEOM_Object) aNewFace = GetOperations()->MakeSurfaceFromFace(aFace); + Handle(::GEOM_Object) aNewFace = GetOperations()->MakeSurfaceFromFace(aFace); if (!GetOperations()->IsDone() || aNewFace.IsNull()) { return aGEOMObject._retn(); @@ -2160,8 +2194,8 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetSubShapeEdgeSorted GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); - Handle(GEOM_Object) aStartPoint = GetObjectImpl(theStartPoint); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aStartPoint = GetObjectImpl(theStartPoint); if (aShape.IsNull() || aStartPoint.IsNull()) { return aSeq._retn(); @@ -2180,7 +2214,7 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetSubShapeEdgeSorted aSeq->length(aLength); for (i = 1; i <= aLength; i++) { - aSeq[i-1] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i))); + aSeq[i-1] = GetObject(Handle(::GEOM_Object)::DownCast(aHSeq->Value(i))); } return aSeq._retn(); @@ -2203,7 +2237,7 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetSubShapesWithTolerance GetOperations()->SetNotDone(); //Get the reference objects - Handle(GEOM_Object) aShape = GetObjectImpl(theShape); + Handle(::GEOM_Object) aShape = GetObjectImpl(theShape); if (aShape.IsNull()) { return aSeq._retn(); @@ -2225,8 +2259,103 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::GetSubShapesWithTolerance aSeq->length(aLength); for (i = 1; i <= aLength; i++) { - aSeq[i-1] = GetObject(Handle(GEOM_Object)::DownCast(aHSeq->Value(i))); + aSeq[i-1] = GetObject(Handle(::GEOM_Object)::DownCast(aHSeq->Value(i))); } return aSeq._retn(); } + +//============================================================================= +/*! + * MakeExtraction + */ +//============================================================================= +GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeExtraction + (GEOM::GEOM_Object_ptr theShape, + const GEOM::ListOfLong &theSubShapeIDs, + GEOM::GEOM_IShapesOperations::ExtractionStats_out theStats) +{ + GEOM::GEOM_Object_var aGEOMObject; + + //Set a not done flag + theStats = new GEOM::GEOM_IShapesOperations::ExtractionStats; + GetOperations()->SetNotDone(); + + //Get the reference object + Handle(GEOM_Object) aShape = GetObjectImpl(theShape); + + if (aShape.IsNull()) { + return aGEOMObject._retn(); + } + + const int aNbIDs = theSubShapeIDs.length(); + + if (aNbIDs == 0) { + return aGEOMObject._retn(); + } + + int i; + Handle(TColStd_HArray1OfInteger) anArray = + new TColStd_HArray1OfInteger (1, aNbIDs); + + for (i = 0; i < aNbIDs; i++) { + anArray->SetValue(i + 1, theSubShapeIDs[i]); + } + + //Get Shapes in place of aShapeWhat + std::list aStats; + Handle(GEOM_Object) aResult = + GetOperations()->MakeExtraction(aShape, anArray, aStats); + + if (!GetOperations()->IsDone() || aResult.IsNull()) { + return aGEOMObject._retn(); + } + + // Convert statistics. + const int aNbStats = aStats.size(); + + theStats->length(aNbStats); + + // fill the local CORBA array with values from lists + std::list::const_iterator + anIt = aStats.begin(); + + for (i = 0; anIt != aStats.end(); i++, anIt++) { + GEOM::GEOM_IShapesOperations::ExtractionStat_var aResStat = + new GEOM::GEOM_IShapesOperations::ExtractionStat; + + // Copy type + switch (anIt->type) { + case GEOMImpl_IShapesOperations::EST_Removed: + aResStat->type = GEOM::GEOM_IShapesOperations::EST_Removed; + break; + case GEOMImpl_IShapesOperations::EST_Modified: + aResStat->type = GEOM::GEOM_IShapesOperations::EST_Modified; + break; + case GEOMImpl_IShapesOperations::EST_Added: + aResStat->type = GEOM::GEOM_IShapesOperations::EST_Added; + break; + default: + break; + } + + // Copy the list of IDs + std::list aIDList = anIt->indices; + GEOM::ListOfLong_var aResIDList = new GEOM::ListOfLong; + + aResIDList->length(aIDList.size()); + + std::list::iterator anIDIt = aIDList.begin(); + int j = 0; + + for (; anIDIt != aIDList.end(); j++, anIDIt++) { + aResIDList[j] = *anIDIt; + } + + aResStat->indices = aResIDList; + + theStats[(_CORBA_ULong)i] = aResStat; + } + + return GetObject(aResult); +}