+
+//=============================================================================
+/*!
+ * GetAngle
+ */
+//=============================================================================
+CORBA::Double GEOM_IMeasureOperations_i::GetAngle (GEOM::GEOM_Object_ptr theShape1,
+ GEOM::GEOM_Object_ptr theShape2)
+{
+ //Set a not done flag
+ GetOperations()->SetNotDone();
+
+ //Get the reference shapes
+ Handle(GEOM_Object) aShape1 = GetObjectImpl(theShape1);
+ Handle(GEOM_Object) aShape2 = GetObjectImpl(theShape2);
+ if (aShape1.IsNull() || aShape2.IsNull()) return -1.0;
+
+ // Get the angle
+ return GetOperations()->GetAngle(aShape1, aShape2);
+}
+
+//=============================================================================
+/*!
+ * GetAngle
+ */
+//=============================================================================
+CORBA::Double GEOM_IMeasureOperations_i::GetAngleBtwVectors (GEOM::GEOM_Object_ptr theShape1,
+ GEOM::GEOM_Object_ptr theShape2)
+{
+ //Set a not done flag
+ GetOperations()->SetNotDone();
+
+ //Get the reference shapes
+ Handle(GEOM_Object) aShape1 = GetObjectImpl(theShape1);
+ Handle(GEOM_Object) aShape2 = GetObjectImpl(theShape2);
+ if (aShape1.IsNull() || aShape2.IsNull()) return -1.0;
+
+ // Get the angle
+ return GetOperations()->GetAngleBtwVectors(aShape1, aShape2);
+}
+
+
+//=============================================================================
+/*!
+ * CurveCurvatureByParam
+ */
+//=============================================================================
+CORBA::Double GEOM_IMeasureOperations_i::CurveCurvatureByParam
+ (GEOM::GEOM_Object_ptr theCurve, CORBA::Double theParam)
+{
+ //Set a not done flag
+ GetOperations()->SetNotDone();
+
+ //Get the reference shape
+ Handle(GEOM_Object) aShape = GetObjectImpl(theCurve);
+ if(aShape.IsNull()) return -1.0;
+
+ return GetOperations()->CurveCurvatureByParam(aShape,theParam);
+}
+
+//=============================================================================
+/*!
+ * CurveCurvatureByPoint
+ */
+//=============================================================================
+CORBA::Double GEOM_IMeasureOperations_i::CurveCurvatureByPoint
+ (GEOM::GEOM_Object_ptr theCurve, GEOM::GEOM_Object_ptr thePoint)
+{
+ //Set a not done flag
+ GetOperations()->SetNotDone();
+
+ //Get the reference shape
+ Handle(GEOM_Object) aShape = GetObjectImpl(theCurve);
+ Handle(GEOM_Object) aPoint = GetObjectImpl(thePoint);
+ if( aShape.IsNull() || aPoint.IsNull() ) return -1.0;
+
+ return GetOperations()->CurveCurvatureByPoint(aShape,aPoint);
+}
+
+
+//=============================================================================
+/*!
+ * MaxSurfaceCurvatureByParam
+ */
+//=============================================================================
+CORBA::Double GEOM_IMeasureOperations_i::MaxSurfaceCurvatureByParam
+ (GEOM::GEOM_Object_ptr theSurf,
+ CORBA::Double theUParam,
+ CORBA::Double theVParam)
+{
+ //Set a not done flag
+ GetOperations()->SetNotDone();
+
+ //Get the reference shape
+ Handle(GEOM_Object) aShape = GetObjectImpl(theSurf);
+ if(aShape.IsNull()) return -1.0;
+
+ return GetOperations()->MaxSurfaceCurvatureByParam(aShape,theUParam,theVParam);
+}
+
+//=============================================================================
+/*!
+ * MaxSurfaceCurvatureByPoint
+ */
+//=============================================================================
+CORBA::Double GEOM_IMeasureOperations_i::MaxSurfaceCurvatureByPoint
+ (GEOM::GEOM_Object_ptr theSurf, GEOM::GEOM_Object_ptr thePoint)
+{
+ //Set a not done flag
+ GetOperations()->SetNotDone();
+
+ //Get the reference shape
+ Handle(GEOM_Object) aShape = GetObjectImpl(theSurf);
+ Handle(GEOM_Object) aPoint = GetObjectImpl(thePoint);
+ if( aShape.IsNull() || aPoint.IsNull() ) return -1.0;
+
+ return GetOperations()->MaxSurfaceCurvatureByPoint(aShape,aPoint);
+}
+
+//=============================================================================
+/*!
+ * MinSurfaceCurvatureByParam
+ */
+//=============================================================================
+CORBA::Double GEOM_IMeasureOperations_i::MinSurfaceCurvatureByParam
+ (GEOM::GEOM_Object_ptr theSurf,
+ CORBA::Double theUParam,
+ CORBA::Double theVParam)
+{
+ //Set a not done flag
+ GetOperations()->SetNotDone();
+
+ //Get the reference shape
+ Handle(GEOM_Object) aShape = GetObjectImpl(theSurf);
+ if (aShape.IsNull()) return -1.0;
+
+ return GetOperations()->MinSurfaceCurvatureByParam(aShape,theUParam,theVParam);
+}
+
+//=============================================================================
+/*!
+ * MinSurfaceCurvatureByPoint
+ */
+//=============================================================================
+CORBA::Double GEOM_IMeasureOperations_i::MinSurfaceCurvatureByPoint
+ (GEOM::GEOM_Object_ptr theSurf, GEOM::GEOM_Object_ptr thePoint)
+{
+ //Set a not done flag
+ GetOperations()->SetNotDone();
+
+ //Get the reference shape
+ Handle(GEOM_Object) aShape = GetObjectImpl(theSurf);
+ Handle(GEOM_Object) aPoint = GetObjectImpl(thePoint);
+ if (aShape.IsNull() || aPoint.IsNull()) return -1.0;
+
+ return GetOperations()->MinSurfaceCurvatureByPoint(aShape,aPoint);
+}