X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGeomAlgoAPI%2FGeomAlgoAPI_Placement.h;h=866791a020561cb7b5166462b0ffa168b3e2229f;hb=cacdf9c1e4b42af09db1aa302897a3188b77e0b0;hp=703f609c159c6f7a23dc45d209e34ac34555d797;hpb=7b9e257dacdb4564754c3bcd0c35817e73a3989c;p=modules%2Fshaper.git diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_Placement.h b/src/GeomAlgoAPI/GeomAlgoAPI_Placement.h index 703f609c1..866791a02 100644 --- a/src/GeomAlgoAPI/GeomAlgoAPI_Placement.h +++ b/src/GeomAlgoAPI/GeomAlgoAPI_Placement.h @@ -11,32 +11,35 @@ #include #include #include +#include #include #include #include /**\class GeomAlgoAPI_Placement * \ingroup DataAlgo - * \brief Creates the copied object which face is placed on the given plane + * \brief Creates the copied object which sub-element is placed on the given element */ class GeomAlgoAPI_Placement : public GeomAPI_Interface { public: /** \brief Creates an object which is obtained from current object by transformation calculated - * as a movement of the source plane to be coincident with the destination plane - * \param[in] theSourceShape shape to be moved - * \param[in] theDestShape invariabt shape - * \param[in] theSourcePlane plane on the shape to be made coincident with destination plane - * \param[in] theDestPlane destination plane + * as a movement of the source object to be coincident with the destination object + * \param[in] theSourceSolid a shape to be moved + * \param[in] theDestSolid invariant shape + * \param[in] theSourceShape a shape on the solid to be made coincident with destination object + * \param[in] theDestShape destination object * \param[in] theIsReverse indicates that the solid materials should be on the same side against the destination plane * \param[in] theIsCentering indicates the planes should be centered + * \param[in] theSimpleTransform makes just transformation of shape without changing of topology or geometry */ - GEOMALGOAPI_EXPORT GeomAlgoAPI_Placement(std::shared_ptr theSourceShape, + GEOMALGOAPI_EXPORT GeomAlgoAPI_Placement(std::shared_ptr theSourceSolid, + std::shared_ptr theDestSolid, + std::shared_ptr theSourceShape, std::shared_ptr theDestShape, - std::shared_ptr theSourcePlane, - std::shared_ptr theDestPlane, bool theIsReverse = false, - bool theIsCentering = false); + bool theIsCentering = false, + bool theSimpleTransform = false); /// Returns True if algorithm succeed GEOMALGOAPI_EXPORT const bool isDone() const @@ -57,23 +60,28 @@ public: /// Return interface for for History processing GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShape* makeShape () const; + /// Returns the simple transformation + GEOMALGOAPI_EXPORT std::shared_ptr transformation() const; + /// Destructor GEOMALGOAPI_EXPORT virtual ~GeomAlgoAPI_Placement(); private: /// builds resulting shape - void build(const std::shared_ptr& theSourceShape, + void build(const std::shared_ptr& theSourceSolid, + const std::shared_ptr& theDestSolid, + const std::shared_ptr& theSourceShape, const std::shared_ptr& theDestShape, - const std::shared_ptr& theSourcePlane, - const std::shared_ptr& theDestPlane, bool theIsReverse, - bool theIsCentering); + bool theIsCentering, + bool theSimpleTransform); /// fields bool myDone; std::shared_ptr myShape; GeomAPI_DataMapOfShapeShape myMap; GeomAlgoAPI_MakeShape * myMkShape; + std::shared_ptr myTrsf; ///< transformation of the shape in case theSimpleTransform }; #endif