+//=============================================================================
+/*!
+ * MakeChamferFacesAD
+ */
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferFacesAD
+ (GEOM::GEOM_Object_ptr theShape,
+ CORBA::Double theD, CORBA::Double theAngle,
+ const GEOM::ListOfLong& theFaces)
+{
+ GEOM::GEOM_Object_var aGEOMObject;
+
+ //Get the reference shape
+ Handle(GEOM_Object) aShapeRef = GetObjectImpl(theShape);
+ if (aShapeRef.IsNull()) return aGEOMObject._retn();
+
+ //Get the reference faces
+ int ind = 0;
+ int aLen = theFaces.length();
+ std::list<int> aFaces;
+ for (; ind < aLen; ind++) {
+ aFaces.push_back(theFaces[ind]);
+ }
+
+ //Create the Chamfer
+ Handle(GEOM_Object) anObject =
+ GetOperations()->MakeChamferFacesAD(aShapeRef, theD, theAngle, aFaces);
+ if (!GetOperations()->IsDone() || anObject.IsNull())
+ return aGEOMObject._retn();
+
+ return GetObject(anObject);
+}
+
+//=============================================================================
+/*!
+ * MakeChamferEdges
+ */
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferEdges
+ (GEOM::GEOM_Object_ptr theShape,
+ CORBA::Double theD1, CORBA::Double theD2,
+ const GEOM::ListOfLong& theEdges)
+{
+ GEOM::GEOM_Object_var aGEOMObject;
+
+ //Get the reference shape
+ Handle(GEOM_Object) aShapeRef = GetObjectImpl(theShape);
+ if (aShapeRef.IsNull()) return aGEOMObject._retn();
+
+ //Get the reference edges
+ int ind = 0;
+ int aLen = theEdges.length();
+ std::list<int> aEdges;
+ for (; ind < aLen; ind++) {
+ aEdges.push_back(theEdges[ind]);
+ }
+
+ //Create the Chamfer
+ Handle(GEOM_Object) anObject =
+ GetOperations()->MakeChamferEdges(aShapeRef, theD1, theD2, aEdges);
+ if (!GetOperations()->IsDone() || anObject.IsNull())
+ return aGEOMObject._retn();
+
+ return GetObject(anObject);
+}
+
+//=============================================================================
+/*!
+ * MakeChamferEdgesAD
+ */
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferEdgesAD
+ (GEOM::GEOM_Object_ptr theShape,
+ CORBA::Double theD, CORBA::Double theAngle,
+ const GEOM::ListOfLong& theEdges)
+{
+ GEOM::GEOM_Object_var aGEOMObject;
+
+ //Get the reference shape
+ Handle(GEOM_Object) aShapeRef = GetObjectImpl(theShape);
+ if (aShapeRef.IsNull()) return aGEOMObject._retn();
+
+ //Get the reference edges
+ int ind = 0;
+ int aLen = theEdges.length();
+ std::list<int> aEdges;
+ for (; ind < aLen; ind++) {
+ aEdges.push_back(theEdges[ind]);
+ }
+
+ //Create the Chamfer
+ Handle(GEOM_Object) anObject =
+ GetOperations()->MakeChamferEdgesAD(aShapeRef, theD, theAngle, aEdges);
+ if (!GetOperations()->IsDone() || anObject.IsNull())
+ return aGEOMObject._retn();
+
+ return GetObject(anObject);
+}