X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FConstructionPlugin%2FConstructionPlugin_Point.h;h=d1f15287f64d62d6e50bc67a555eac16a8e23ee9;hb=383021cb51c4720904096ca851db5ee79255b402;hp=63a13422614b10b26b218487c5657141b14d41fd;hpb=8dc74f82810d5f597b78633b457efb0ef4f89f9f;p=modules%2Fshaper.git diff --git a/src/ConstructionPlugin/ConstructionPlugin_Point.h b/src/ConstructionPlugin/ConstructionPlugin_Point.h index 63a134226..d1f15287f 100644 --- a/src/ConstructionPlugin/ConstructionPlugin_Point.h +++ b/src/ConstructionPlugin/ConstructionPlugin_Point.h @@ -1,3 +1,5 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + // File: ConstructionPlugin_Point.h // Created: 3 Apr 2014 // Author: Mikhail PONIKAROV @@ -7,36 +9,43 @@ #include "ConstructionPlugin.h" #include - -/// Point kind -const std::string CONSTRUCTION_POINT_KIND("Point"); - -/// attribute name for X coordinate -const std::string POINT_ATTR_X = "x"; -/// attribute name for Y coordinate -const std::string POINT_ATTR_Y = "y"; -/// attribute name for Z coordinate -const std::string POINT_ATTR_Z = "z"; +#include +#include /**\class ConstructionPlugin_Point - * \ingroup DataModel + * \ingroup Plugins * \brief Feature for creation of the new part in PartSet. */ -class ConstructionPlugin_Point : public ModelAPI_Feature +class ConstructionPlugin_Point : public ModelAPI_Feature, public GeomAPI_ICustomPrs { public: /// Returns the kind of a feature - CONSTRUCTIONPLUGIN_EXPORT virtual const std::string& getKind() + CONSTRUCTIONPLUGIN_EXPORT virtual const std::string& getKind(); + + /// Point kind + inline static const std::string& ID() { - static std::string MY_KIND = CONSTRUCTION_POINT_KIND; - return MY_KIND; + static const std::string CONSTRUCTION_POINT_KIND("Point"); + return CONSTRUCTION_POINT_KIND; } - /// Returns to which group in the document must be added feature - CONSTRUCTIONPLUGIN_EXPORT virtual const std::string& getGroup() + /// attribute name for X coordinate + inline static const std::string& X() + { + static const std::string POINT_ATTR_X("x"); + return POINT_ATTR_X; + } + /// attribute name for Y coordinate + inline static const std::string& Y() + { + static const std::string POINT_ATTR_Y("y"); + return POINT_ATTR_Y; + } + /// attribute name for Z coordinate + inline static const std::string& Z() { - static std::string MY_GROUP = "Construction"; - return MY_GROUP; + static const std::string POINT_ATTR_Z("z"); + return POINT_ATTR_Z; } /// Creates a new part document if needed @@ -45,8 +54,15 @@ class ConstructionPlugin_Point : public ModelAPI_Feature /// Request for initialization of data model of the feature: adding all attributes CONSTRUCTIONPLUGIN_EXPORT virtual void initAttributes(); + /// Construction result is allways recomuted on the fly + CONSTRUCTIONPLUGIN_EXPORT virtual bool isPersistentResult() {return false;} + /// Use plugin manager for features creation ConstructionPlugin_Point(); + + /// Customize presentation of the feature + virtual bool customisePresentation(ResultPtr theResult, AISObjectPtr thePrs, + std::shared_ptr theDefaultPrs); }; #endif