Salome HOME
0022353: EDF GEOM: Projection on a edge or a wire
authorskv <skv@opencascade.com>
Tue, 29 Oct 2013 06:52:17 +0000 (06:52 +0000)
committerskv <skv@opencascade.com>
Tue, 29 Oct 2013 06:52:17 +0000 (06:52 +0000)
src/GEOMImpl/GEOMImpl_ProjectionDriver.cxx

index eeb87d09f5e696b517b40a4a4af2c8d1dd43b875..ebc0843ed3a524f3f44d427f0e8b9a2a2f713865 100644 (file)
@@ -382,16 +382,28 @@ GetCreationInformation(std::string&             theOperationName,
   if (Label().IsNull()) return 0;
   Handle(GEOM_Function) function = GEOM_Function::GetFunction(Label());
 
-  GEOMImpl_IMirror aCI( function );
   Standard_Integer aType = function->GetType();
 
   theOperationName = "PROJECTION";
 
   switch ( aType ) {
   case PROJECTION_COPY:
-    AddParam( theParams, "Source object", aCI.GetOriginal() );
-    AddParam( theParams, "Target face", aCI.GetPlane() );
-    break;
+    {
+      GEOMImpl_IMirror aCI( function );
+
+      AddParam( theParams, "Source object", aCI.GetOriginal() );
+      AddParam( theParams, "Target face", aCI.GetPlane() );
+      break;
+    }
+  case PROJECTION_ON_WIRE:
+    {
+      GEOMImpl_IProjection aProj (function);
+
+      AddParam(theParams, "Point", aProj.GetPoint());
+      AddParam(theParams, "Shape", aProj.GetShape());
+
+      break;
+    }
   default:
     return false;
   }