X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FFeaturesAPI%2FFeaturesAPI_Translation.h;fp=src%2FFeaturesAPI%2FFeaturesAPI_Translation.h;h=fef95b503508ccc83ec89cd385db28f7419cea2a;hb=49aae0203d4c89a9cd5409451c3e4208b799e004;hp=0000000000000000000000000000000000000000;hpb=e3a9926786e6e4bd8d84bd2093fed1b059db5056;p=modules%2Fshaper.git diff --git a/src/FeaturesAPI/FeaturesAPI_Translation.h b/src/FeaturesAPI/FeaturesAPI_Translation.h new file mode 100644 index 000000000..fef95b503 --- /dev/null +++ b/src/FeaturesAPI/FeaturesAPI_Translation.h @@ -0,0 +1,70 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D --> + +// File: FeaturesAPI_Translation.h +// Created: 07 June 2016 +// Author: Dmitry Bobylev + +#ifndef FeaturesAPI_Translation_H_ +#define FeaturesAPI_Translation_H_ + +#include "FeaturesAPI.h" + +#include + +#include +#include + +class ModelHighAPI_Double; +class ModelHighAPI_Selection; + +/// \class FeaturesAPI_Translation +/// \ingroup CPPHighAPI +/// \brief Interface for Translation feature. +class FeaturesAPI_Translation : public ModelHighAPI_Interface +{ +public: + /// Constructor without values. + FEATURESAPI_EXPORT + explicit FeaturesAPI_Translation(const std::shared_ptr & theFeature); + + /// Constructor with values. + FEATURESAPI_EXPORT + FeaturesAPI_Translation(const std::shared_ptr & theFeature, + const std::list& theMainObjects, + const ModelHighAPI_Selection& theAxisObject, + const ModelHighAPI_Double& theDistance); + + /// Destructor. + FEATURESAPI_EXPORT + virtual ~FeaturesAPI_Translation(); + + INTERFACE_3(FeaturesPlugin_Translation::ID(), + mainObjects, FeaturesPlugin_Translation::OBJECTS_LIST_ID(), ModelAPI_AttributeSelectionList, /** Main objects */, + axisObject, FeaturesPlugin_Translation::AXIS_OBJECT_ID(), ModelAPI_AttributeSelection, /** Axis object */, + distance, FeaturesPlugin_Translation::DISTANCE_ID(), ModelAPI_AttributeDouble, /** Distance */) + + /// Set main objects. + FEATURESAPI_EXPORT + void setMainObjects(const std::list& theMainObjects); + + /// Set axis object. + FEATURESAPI_EXPORT + void setAxisObject(const ModelHighAPI_Selection& theAxisObject); + + /// Set distance. + FEATURESAPI_EXPORT + void setDistance(const ModelHighAPI_Double& theDistance); +}; + +/// Pointer on Translation object. +typedef std::shared_ptr TranslationPtr; + +/// \ingroup CPPHighAPI +/// \brief Create Translation feature. +FEATURESAPI_EXPORT +TranslationPtr addTranslation(const std::shared_ptr & thePart, + const std::list& theMainObjects, + const ModelHighAPI_Selection& theAxisObject, + const ModelHighAPI_Double& theDistance); + +#endif // FeaturesAPI_Translation_H_