SHAPER 9.16.0
FeaturesPlugin_ImportResult.h
1// Copyright (C) 2017-2026 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{
35public:
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{
99public:
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
static const std::string & FEATURES_ID()
All features (list of references)
Definition: FeaturesPlugin_ImportResult.h:43
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
static const std::string & OBJECTS()
Selection list attribute that contains all copied shapes selection.
Definition: FeaturesPlugin_ImportResult.h:57
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 const std::string & getKind()
Definition: FeaturesPlugin_ImportResult.h:50
virtual void execute()
Performs the algorithm and stores results it in the data structure.
Definition: FeaturesPlugin_ImportResult.cpp:45
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