X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchAPI%2FSketchAPI_Rotation.cpp;h=5215bbf5b18cf056ee38ad1282a8e87c48d72c64;hb=ff4d5d0f42cf5d24b86b2bd2b6e1f58e74f52032;hp=ea2cea1ded7985a6223169cfe6271d13db338562;hpb=63f80d9837b4dcb16e9fafc3b07fac36f6f7b00d;p=modules%2Fshaper.git diff --git a/src/SketchAPI/SketchAPI_Rotation.cpp b/src/SketchAPI/SketchAPI_Rotation.cpp index ea2cea1de..5215bbf5b 100644 --- a/src/SketchAPI/SketchAPI_Rotation.cpp +++ b/src/SketchAPI/SketchAPI_Rotation.cpp @@ -1,6 +1,6 @@ // Copyright (C) 2014-20xx CEA/DEN, EDF R&D // Name : SketchAPI_Rotation.cpp -// Purpose: +// Purpose: // // History: // 16/06/16 - Sergey POKHODENKO - Creation of the file @@ -46,7 +46,7 @@ SketchAPI_Rotation::~SketchAPI_Rotation() } -std::list > SketchAPI_Rotation::rotated() const +std::list > SketchAPI_Rotation::rotated() const { std::list aList = rotatedObjects()->list(); // remove all initial features @@ -82,12 +82,32 @@ void SketchAPI_Rotation::dump(ModelHighAPI_Dumper& theDumper) const // Dump variables for a list of rotated features theDumper << "["; - std::list > aList = rotated(); - std::list >::const_iterator anIt = aList.begin(); + std::list > aList = rotated(); + std::list >::const_iterator anIt = aList.begin(); for (; anIt != aList.end(); ++anIt) { if (anIt != aList.begin()) theDumper << ", "; - theDumper << theDumper.name((*anIt)->feature(), false); + theDumper << (*anIt)->feature(); } theDumper << "] = " << theDumper.name(aBase) << ".rotated()" << std::endl; + + // Set necessary "auxiliary" flag for rotated features + // (flag is set if it differs to base entity) + std::list aRotList = aRotObjects->list(); + std::list::const_iterator aRIt = aRotList.begin(); + anIt = aList.begin(); + for (; aRIt != aRotList.end(); ++aRIt) { + FeaturePtr aFeature = ModelAPI_Feature::feature(*aRIt); + if (!aFeature) + continue; + bool aBaseAux = aFeature->boolean(SketchPlugin_SketchEntity::AUXILIARY_ID())->value(); + + for (int i = 1; i < aNbCopies->value(); ++i, ++anIt) { + aFeature = (*anIt)->feature(); + bool aFeatAux = aFeature->boolean(SketchPlugin_SketchEntity::AUXILIARY_ID())->value(); + if (aFeatAux != aBaseAux) + theDumper << theDumper.name((*anIt)->feature(), false) + << ".setAuxiliary(" << aFeatAux << ")" <