X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOM_I%2FGEOM_IMeasureOperations_i.cc;fp=src%2FGEOM_I%2FGEOM_IMeasureOperations_i.cc;h=0c09e09c4b1ebaccdf503e5e29c0762917fdee19;hb=de644ac6fe44325aaa8ce9c1aa729dd9189eea6e;hp=ccc759c3e485dada79b4aa319bf570040861b23f;hpb=e6d054cfcd53405d16a2466ceb0aee3603057784;p=modules%2Fgeom.git diff --git a/src/GEOM_I/GEOM_IMeasureOperations_i.cc b/src/GEOM_I/GEOM_IMeasureOperations_i.cc index ccc759c3e..0c09e09c4 100644 --- a/src/GEOM_I/GEOM_IMeasureOperations_i.cc +++ b/src/GEOM_I/GEOM_IMeasureOperations_i.cc @@ -1072,6 +1072,32 @@ CORBA::Double GEOM_IMeasureOperations_i::GetAngleBtwVectors (GEOM::GEOM_Object_p return GetOperations()->GetAngleBtwVectors(aShape1, aShape2); } +//============================================================================= +/*! +* PatchFace +*/ +//============================================================================= +GEOM::ListOfGO* GEOM_IMeasureOperations_i::PatchFace(GEOM::GEOM_Object_ptr theShape) +{ + GEOM::ListOfGO_var aSeq = new GEOM::ListOfGO; + + //Get the reference shape + Handle(::GEOM_Object) aShapeRef = GetObjectImpl(theShape); + if (aShapeRef.IsNull()) return aSeq._retn(); + + // Perform patch face operation + Handle(TColStd_HSequenceOfTransient) aHSeq = + GetOperations()->PatchFace(aShapeRef); + if (!GetOperations()->IsDone() || aHSeq.IsNull()) + return aSeq._retn(); + + 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))); + + return aSeq._retn(); +} //============================================================================= /*!