X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FFeaturesPlugin%2FFeaturesPlugin_Symmetry.h;h=5d73f9ec8b9ff94888d58e0535f4140518107d50;hb=f6253bc3de6b7e40bcf023bc25ae718db4c28c96;hp=f91f29a2ae850cd5267e61e4234be13f5f7f2946;hpb=72cbef5fd473239ab823ea9f99b7221479829c71;p=modules%2Fshaper.git diff --git a/src/FeaturesPlugin/FeaturesPlugin_Symmetry.h b/src/FeaturesPlugin/FeaturesPlugin_Symmetry.h index f91f29a2a..5d73f9ec8 100644 --- a/src/FeaturesPlugin/FeaturesPlugin_Symmetry.h +++ b/src/FeaturesPlugin/FeaturesPlugin_Symmetry.h @@ -1,4 +1,4 @@ -// Copyright (C) 2014-2019 CEA/DEN, EDF R&D +// Copyright (C) 2014-2021 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -24,10 +24,8 @@ #include -#include -#include - class GeomAPI_Trsf; +class GeomAlgoAPI_MakeShapeList; /** \class FeaturesPlugin_Symmetry * \ingroup Plugins @@ -123,23 +121,23 @@ class FeaturesPlugin_Symmetry : public ModelAPI_Feature FeaturesPlugin_Symmetry(); private: - /// Obtain list of source objects of the mirror - bool collectSourceObjects(ListOfShape& theSourceShapes, - std::list>& theSourceResults); + /// Calculate symmetry with respect to a point. + std::shared_ptr symmetryByPoint(); - /// Perform symmetry with respect to a point. - void performSymmetryByPoint(); + /// Calculate symmetry with respect to an axis. + std::shared_ptr symmetryByAxis(); - /// Perform symmetry with respect to an axis. - void performSymmetryByAxis(); + /// Calculate symmetry with respect to a plane. + std::shared_ptr symmetryByPlane(); - /// Perform symmetry with respect to a plane. - void performSymmetryByPlane(); + /// Perform the transformation + void performSymmetry(std::shared_ptr theTrsf); /// Create new result on given shapes and the index of result - void buildResult(std::shared_ptr& theSymmetryAlgo, - std::shared_ptr theBaseShape, - int theResultIndex); + void buildResult(const std::shared_ptr& theAlgo, + const std::list >& theOriginalShapes, + std::shared_ptr theTargetShape, + int& theResultIndex, std::string &theTextureFile); /// Create new result for the given part and transformation void buildResult(std::shared_ptr theOriginal,