X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FFeaturesAPI%2FFeaturesAPI_Pipe.cpp;h=40213134d7d5633405820de31f031d8c8892fb91;hb=b5893b0a30fac08134c24de4565cb513a43affa6;hp=3ca9a4e54e78263ea85fd030522843c8feeee35e;hpb=d5009408b937be1a3436028eec3ef4a920e999a9;p=modules%2Fshaper.git diff --git a/src/FeaturesAPI/FeaturesAPI_Pipe.cpp b/src/FeaturesAPI/FeaturesAPI_Pipe.cpp index 3ca9a4e54..40213134d 100644 --- a/src/FeaturesAPI/FeaturesAPI_Pipe.cpp +++ b/src/FeaturesAPI/FeaturesAPI_Pipe.cpp @@ -6,6 +6,7 @@ #include "FeaturesAPI_Pipe.h" +#include #include //================================================================================================== @@ -22,8 +23,7 @@ FeaturesAPI_Pipe::FeaturesAPI_Pipe(const std::shared_ptr& theF : ModelHighAPI_Interface(theFeature) { if(initialize()) { - fillAttribute(theBaseObjects, mybaseObjects); - setPath(thePath); + setByBasePath(theBaseObjects, thePath); } } @@ -85,9 +85,10 @@ void FeaturesAPI_Pipe::setByBasePath(const std::list& th } //================================================================================================== -void FeaturesAPI_Pipe::setByBasePathBiNormal(const std::list& theBaseObjects, - const ModelHighAPI_Selection& thePath, - const ModelHighAPI_Selection& theBiNoramal) +void FeaturesAPI_Pipe::setByBasePathBiNormal( + const std::list& theBaseObjects, + const ModelHighAPI_Selection& thePath, + const ModelHighAPI_Selection& theBiNoramal) { fillAttribute(FeaturesPlugin_Pipe::CREATION_METHOD_BINORMAL(), mycreationMethod); fillAttribute(theBaseObjects, mybaseObjects); @@ -98,9 +99,10 @@ void FeaturesAPI_Pipe::setByBasePathBiNormal(const std::list& theBaseObjects, - const ModelHighAPI_Selection& thePath, - const std::list& theLocations) +void FeaturesAPI_Pipe::setByBasePathLocations( + const std::list& theBaseObjects, + const ModelHighAPI_Selection& thePath, + const std::list& theLocations) { fillAttribute(FeaturesPlugin_Pipe::CREATION_METHOD_LOCATIONS(), mycreationMethod); fillAttribute(theBaseObjects, mybaseObjects); @@ -110,6 +112,37 @@ void FeaturesAPI_Pipe::setByBasePathLocations(const std::listdocument()); + + AttributeSelectionListPtr anAttrObjects = + aBase->selectionList(FeaturesPlugin_Pipe::BASE_OBJECTS_ID()); + AttributeSelectionPtr anAttrPath = aBase->selection(FeaturesPlugin_Pipe::PATH_OBJECT_ID()); + + theDumper << aBase << " = model.addPipe(" << aDocName << ", " + << anAttrObjects << ", " << anAttrPath; + + std::string aCreationMethod = aBase->string(FeaturesPlugin_Pipe::CREATION_METHOD())->value(); + + if(aCreationMethod == FeaturesPlugin_Pipe::CREATION_METHOD_SIMPLE()) { + // Do nothing; + } else if(aCreationMethod == FeaturesPlugin_Pipe::CREATION_METHOD_BINORMAL()) { + AttributeSelectionPtr anAttrBiNormal = aBase->selection(FeaturesPlugin_Pipe::BINORMAL_ID()); + + theDumper << ", " << anAttrBiNormal; + } else if(aCreationMethod == FeaturesPlugin_Pipe::CREATION_METHOD_LOCATIONS()) { + AttributeSelectionListPtr anAttrLocations = + aBase->selectionList(FeaturesPlugin_Pipe::LOCATIONS_ID()); + + theDumper << ", " << anAttrLocations; + } + + theDumper << ")" << std::endl; +} + //================================================================================================== PipePtr addPipe(const std::shared_ptr& thePart, const std::list& theBaseObjects,