Salome HOME
Issue #1834: Fix length of lines
[modules/shaper.git] / src / SketchAPI / SketchAPI_Projection.cpp
index 3a2f457025483a0150cd9e878d5f30b14a492655..0c5c7f0bea448c2a1087473819aa991ee9a298ee 100644 (file)
@@ -1,3 +1,4 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 // Name   : SketchAPI_Projection.cpp
 // Purpose: 
 //
@@ -58,6 +59,15 @@ void SketchAPI_Projection::setByExternalName(const std::string& theExternalName)
   execute();
 }
 
+//--------------------------------------------------------------------------------------
+std::shared_ptr<ModelHighAPI_Interface> SketchAPI_Projection::createdFeature() const
+{
+  AttributeRefAttrPtr aProjectedRefAttr = projectedFeature();
+  FeaturePtr aProjectedFeature = ModelAPI_Feature::feature(aProjectedRefAttr->object());
+
+  return std::shared_ptr<ModelHighAPI_Interface>(new ModelHighAPI_Interface(aProjectedFeature));
+}
+
 //--------------------------------------------------------------------------------------
 
 void SketchAPI_Projection::dump(ModelHighAPI_Dumper& theDumper) const
@@ -69,4 +79,10 @@ void SketchAPI_Projection::dump(ModelHighAPI_Dumper& theDumper) const
   theDumper << aBase << " = " << aSketchName << ".addProjection(" << anExternal << ")" << std::endl;
   // dump "auxiliary" flag if necessary
   SketchAPI_SketchEntity::dump(theDumper);
+
+  // Dump created line feature
+  AttributeRefAttrPtr aProjectedRefAttr = projectedFeature();
+  FeaturePtr aProjectedFeature = ModelAPI_Feature::feature(aProjectedRefAttr->object());
+  std::string aProjectedName = theDumper.name(aProjectedFeature, false);
+  theDumper << aProjectedName << " = " << theDumper.name(aBase) << ".createdFeature()" << std::endl;
 }