SHAPER  9.12.0
FeaturesPlugin_ImportResult.h
1 // Copyright (C) 2017-2023 CEA, EDF
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19 
20 #ifndef FeaturesPlugin_ImportResult_H_
21 #define FeaturesPlugin_ImportResult_H_
22 
23 #include "FeaturesPlugin.h"
24 
25 #include <ModelAPI_CompositeFeature.h>
26 #include <ModelAPI_AttributeValidator.h>
27 
32 
34 {
35 public:
37  inline static const std::string& ID()
38  {
39  static const std::string MY_ID("ImportResult");
40  return MY_ID;
41  }
43  inline static const std::string& FEATURES_ID()
44  {
45  static const std::string MY_FEATURES_ID("Features");
46  return MY_FEATURES_ID;
47  }
48 
50  FEATURESPLUGIN_EXPORT virtual const std::string& getKind()
51  {
52  static std::string MY_KIND = FeaturesPlugin_ImportResult::ID();
53  return MY_KIND;
54  }
55 
57  inline static const std::string& OBJECTS()
58  {
59  static const std::string MY_OBJECTS("objects");
60  return MY_OBJECTS;
61  }
62 
64  FEATURESPLUGIN_EXPORT virtual void execute();
65 
67  FEATURESPLUGIN_EXPORT virtual void initAttributes();
68 
70  FEATURESPLUGIN_EXPORT virtual std::shared_ptr<ModelAPI_Feature> addFeature(std::string theID);
71 
73  FEATURESPLUGIN_EXPORT virtual int numberOfSubs(bool forTree = false) const;
74 
76  FEATURESPLUGIN_EXPORT virtual
77  std::shared_ptr<ModelAPI_Feature> subFeature(const int theIndex, bool forTree = false);
78 
80  FEATURESPLUGIN_EXPORT virtual int subFeatureId(const int theIndex) const;
81 
83  FEATURESPLUGIN_EXPORT virtual bool isSub(ObjectPtr theObject) const;
84 
87  FEATURESPLUGIN_EXPORT virtual void removeFeature(std::shared_ptr<ModelAPI_Feature> theFeature);
88 
91 };
92 
98 {
99 public:
104  virtual bool isValid(const AttributePtr& theAttribute,
105  const std::list<std::string>& theArguments, Events_InfoMessage& theError) const;
106 };
107 
108 #endif
An event message for sending a string message which has to be translated.
Definition: Events_InfoMessage.h:35
The Import Result feature allows the user to import one or several results from another Part.
Definition: FeaturesPlugin_ImportResult.h:34
virtual std::shared_ptr< ModelAPI_Feature > subFeature(const int theIndex, bool forTree=false)
Definition: FeaturesPlugin_ImportResult.cpp:288
virtual const std::string & getKind()
Definition: FeaturesPlugin_ImportResult.h:50
FeaturesPlugin_ImportResult()
Use plugin manager for features creation.
Definition: FeaturesPlugin_ImportResult.h:90
static const std::string & ID()
Feature kind.
Definition: FeaturesPlugin_ImportResult.h:37
virtual void initAttributes()
Request for initialization of data model of the feature: adding all attributes.
Definition: FeaturesPlugin_ImportResult.cpp:32
virtual void removeFeature(std::shared_ptr< ModelAPI_Feature > theFeature)
This method to inform that sub-feature is removed and must be removed from the internal data structur...
Definition: FeaturesPlugin_ImportResult.cpp:326
virtual std::shared_ptr< ModelAPI_Feature > addFeature(std::string theID)
Appends a feature.
Definition: FeaturesPlugin_ImportResult.cpp:270
virtual bool isSub(ObjectPtr theObject) const
Definition: FeaturesPlugin_ImportResult.cpp:316
virtual int subFeatureId(const int theIndex) const
Definition: FeaturesPlugin_ImportResult.cpp:297
virtual int numberOfSubs(bool forTree=false) const
Definition: FeaturesPlugin_ImportResult.cpp:282
virtual void execute()
Performs the algorithm and stores results it in the data structure.
Definition: FeaturesPlugin_ImportResult.cpp:45
static const std::string & FEATURES_ID()
All features (list of references)
Definition: FeaturesPlugin_ImportResult.h:43
static const std::string & OBJECTS()
Selection list attribute that contains all copied shapes selection.
Definition: FeaturesPlugin_ImportResult.h:57
A validator for selection of objects that may be imported: from another part, result bodies.
Definition: FeaturesPlugin_ImportResult.h:98
virtual bool isValid(const AttributePtr &theAttribute, const std::list< std::string > &theArguments, Events_InfoMessage &theError) const
Definition: FeaturesPlugin_ImportResult.cpp:203
Generic validator for any attribute of a feature.
Definition: ModelAPI_AttributeValidator.h:31
Feature that consists of other features: like sketcher with edges inside.
Definition: ModelAPI_CompositeFeature.h:33