Salome HOME
added support for all type of edges in KindOfShape method
[modules/geom.git] / src / GEOM_I / GEOM_Gen_i.cc
index 00c865c457e1fc682fcd6b861b3ddd6423d297b7..f4da6559580e882eb24336f21e96feb2f9c9e7e7 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2021  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
@@ -2485,6 +2485,25 @@ GEOM::GEOM_ITestOperations_ptr GEOM_Gen_i::GetITestOperations()
   return operations._retn();
 }
 
+//============================================================================
+// function : GetICanonicalRecognition
+// purpose  :
+//============================================================================
+GEOM::GEOM_ICanonicalRecognition_ptr GEOM_Gen_i::GetICanonicalRecognition()
+{
+  Unexpect aCatch(SALOME_SalomeException);
+  MESSAGE("GEOM_Gen_i::GetICanonicalRecognition");
+
+  GEOM::GEOM_Gen_ptr engine = _this();
+
+  GEOM_ICanonicalRecognition_i* aServant =
+    new GEOM_ICanonicalRecognition_i(_poa, engine, _impl->GetICanonicalRecognition());
+
+  // activate the CORBA servant
+  GEOM::GEOM_ICanonicalRecognition_var operations = aServant->_this();
+  return operations._retn();
+}
+
 //============================================================================
 // function : GetPluginOperations
 // purpose  :
@@ -2835,6 +2854,18 @@ char* GEOM_Gen_i::getObjectInfo(const char* entry)
       case GEOM::GEOM_IKindOfShape::SEGMENT:
         aTypeInfo = "Segment";
         break;
+      case GEOM::GEOM_IKindOfShape::CRV_BSPLINE:
+        aTypeInfo = "Crv BSpline";
+        break;
+      case GEOM::GEOM_IKindOfShape::CRV_BEZIER:
+        aTypeInfo = "Crv Bezier";
+        break;
+      case GEOM::GEOM_IKindOfShape::HYPERBOLA:
+        aTypeInfo = "Hyperbola";
+        break;
+      case GEOM::GEOM_IKindOfShape::PARABOLA:
+        aTypeInfo = "Parabola";
+        break;
       case GEOM::GEOM_IKindOfShape::EDGE:
         aTypeInfo = "Edge";
         break;