SHAPER 9.16.0
PartSet_Validators.h
1// Copyright (C) 2014-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 PartSet_Validators_H
21#define PartSet_Validators_H
22
23#include "PartSet.h"
24
25#include <ModuleBase_SelectionValidator.h>
26#include <ModuleBase_ISelection.h>
27#include <ModelAPI_AttributeValidator.h>
28
30
31/*
32 * Selector validators
33 */
34
35
39{
40public:
41 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection,
42 ModuleBase_Operation* theOperation) const;
43};
44
48{
49public:
50 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection,
51 ModuleBase_Operation* theOperation) const;
52};
53
57{
58public:
59 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection,
60 ModuleBase_Operation* theOperation) const;
61};
62
66{
67public:
68 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection,
69 ModuleBase_Operation* theOperation) const;
70};
71
75{
76public:
77 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection,
78 ModuleBase_Operation* theOperation) const;
79};
80
84{
85public:
86 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection,
87 ModuleBase_Operation* theOperation) const;
88};
89
90
94{
95public:
96 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection,
97 ModuleBase_Operation* theOperation) const;
98};
99
103{
104public:
105 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection,
106 ModuleBase_Operation* theOperation) const;
107};
108
112{
113public:
114 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection,
115 ModuleBase_Operation* theOperation) const;
116};
117
121{
122public:
123 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection,
124 ModuleBase_Operation* theOperation) const;
125};
126
130{
131public:
132 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection,
133 ModuleBase_Operation* theOperation) const;
134};
135
139{
140public:
141 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection,
142 ModuleBase_Operation* theOperation) const;
143};
144
148{
149public:
150 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection,
151 ModuleBase_Operation* theOperation) const;
152};
153
157{
158public:
159 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection,
160 ModuleBase_Operation* theOperation) const;
161};
162
166{
167public:
168 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection,
169 ModuleBase_Operation* theOperation) const;
170};
171
175{
176public:
177 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection,
178 ModuleBase_Operation* theOperation) const;
179};
180
184{
185public:
186 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection,
187 ModuleBase_Operation* theOperation) const;
188};
189
193{
194public:
195 PARTSET_EXPORT virtual bool isValid(const ModuleBase_ISelection* theSelection,
196 ModuleBase_Operation* theOperation) const;
197};
198
200
201
207{
209 enum ErrorType {
210 EqualObjects,
211 EqualAttributes,
212 EqualShapes,
213 EmptyShapes
214 };
215 public:
220 virtual bool isValid(const AttributePtr& theAttribute,
221 const std::list<std::string>& theArguments,
222 Events_InfoMessage& theError) const;
223private:
227 std::string errorMessage(const PartSet_DifferentObjectsValidator::ErrorType& theType,
228 const std::string& thEqualObject, const std::string& theFirstAttribute,
229 const std::string& theSecondAttribute) const;
230
231};
232
241{
242 public:
247 virtual bool isValid(const AttributePtr& theAttribute,
248 const std::list<std::string>& theArguments,
249 Events_InfoMessage& theError) const;
250private:
256 std::shared_ptr<GeomDataAPI_Point2D> getRefPointAttribute
257 (const AttributePtr& theAttribute) const;
258};
259
260
267{
268 public:
273 virtual bool isValid(const AttributePtr& theAttribute,
274 const std::list<std::string>& theArguments,
275 Events_InfoMessage& theError) const;
276};
277
278
279#endif
An event message for sending a string message which has to be translated.
Definition: Events_InfoMessage.h:35
Attribute that contains 2D point coordinates.
Definition: GeomDataAPI_Point2D.h:37
Generic validator for any attribute of a feature.
Definition: ModelAPI_AttributeValidator.h:31
A class which provides access to selection.
Definition: ModuleBase_ISelection.h:44
Base class for all operations.
Definition: ModuleBase_Operation.h:53
A validator of selection.
Definition: ModuleBase_SelectionValidator.h:37
A class to validate a selection for Angle constraints operation.
Definition: PartSet_Validators.h:130
virtual bool isValid(const ModuleBase_ISelection *theSelection, ModuleBase_Operation *theOperation) const
Returns True if selection is valid.
Definition: PartSet_Validators.cpp:287
Validator to check whether there is a coincident constraint between the attribute and attribute of ar...
Definition: PartSet_Validators.h:267
virtual bool isValid(const AttributePtr &theAttribute, const std::list< std::string > &theArguments, Events_InfoMessage &theError) const
returns true if attribute is valid
Definition: PartSet_Validators.cpp:679
A class to validate a selection for coincedence constraint operation.
Definition: PartSet_Validators.h:94
virtual bool isValid(const ModuleBase_ISelection *theSelection, ModuleBase_Operation *theOperation) const
Returns True if selection is valid.
Definition: PartSet_Validators.cpp:234
A class to validate a selection for Collinear constraints operation.
Definition: PartSet_Validators.h:148
virtual bool isValid(const ModuleBase_ISelection *theSelection, ModuleBase_Operation *theOperation) const
Returns True if selection is valid.
Definition: PartSet_Validators.cpp:316
A validator which checks that objects selected for feature attributes are different (not the same)
Definition: PartSet_Validators.h:207
virtual bool isValid(const AttributePtr &theAttribute, const std::list< std::string > &theArguments, Events_InfoMessage &theError) const
Returns true if the attribute is good for the feature attribute.
Definition: PartSet_Validators.cpp:411
A validator which checks that Point2D selected for feature attributes are different (not the same) It...
Definition: PartSet_Validators.h:241
virtual bool isValid(const AttributePtr &theAttribute, const std::list< std::string > &theArguments, Events_InfoMessage &theError) const
Returns true if the attribute is good for the feature attribute.
Definition: PartSet_Validators.cpp:629
A class to validate a selection for Distance constraint operation.
Definition: PartSet_Validators.h:39
virtual bool isValid(const ModuleBase_ISelection *theSelection, ModuleBase_Operation *theOperation) const
Returns True if selection is valid.
Definition: PartSet_Validators.cpp:143
A class to validate a selection for Equal constraints operation.
Definition: PartSet_Validators.h:139
virtual bool isValid(const ModuleBase_ISelection *theSelection, ModuleBase_Operation *theOperation) const
Returns True if selection is valid.
Definition: PartSet_Validators.cpp:300
A class to validate a selection for Fillet constraints operation.
Definition: PartSet_Validators.h:121
virtual bool isValid(const ModuleBase_ISelection *theSelection, ModuleBase_Operation *theOperation) const
Returns True if selection is valid.
Definition: PartSet_Validators.cpp:261
A class to validate a selection for Horizontal and Vertical constraints operation.
Definition: PartSet_Validators.h:103
virtual bool isValid(const ModuleBase_ISelection *theSelection, ModuleBase_Operation *theOperation) const
Returns True if selection is valid.
Definition: PartSet_Validators.cpp:248
A class to validate a selection for intersection operation.
Definition: PartSet_Validators.h:193
virtual bool isValid(const ModuleBase_ISelection *theSelection, ModuleBase_Operation *theOperation) const
Returns True if selection is valid.
Definition: PartSet_Validators.cpp:373
A class to validate a selection for Length constraint operation.
Definition: PartSet_Validators.h:48
virtual bool isValid(const ModuleBase_ISelection *theSelection, ModuleBase_Operation *theOperation) const
Returns True if selection is valid.
Definition: PartSet_Validators.cpp:157
A class to validate a selection for Middle point constraints operation.
Definition: PartSet_Validators.h:157
virtual bool isValid(const ModuleBase_ISelection *theSelection, ModuleBase_Operation *theOperation) const
Returns True if selection is valid.
Definition: PartSet_Validators.cpp:329
A class to validate a selection for Middle point constraints operation.
Definition: PartSet_Validators.h:166
virtual bool isValid(const ModuleBase_ISelection *theSelection, ModuleBase_Operation *theOperation) const
Returns True if selection is valid.
Definition: PartSet_Validators.cpp:342
A class to validate a selection for Parallel constraint operation.
Definition: PartSet_Validators.h:66
virtual bool isValid(const ModuleBase_ISelection *theSelection, ModuleBase_Operation *theOperation) const
Returns True if selection is valid.
Definition: PartSet_Validators.cpp:183
A class to validate a selection for Perpendicular constraint operation.
Definition: PartSet_Validators.h:57
virtual bool isValid(const ModuleBase_ISelection *theSelection, ModuleBase_Operation *theOperation) const
Returns True if selection is valid.
Definition: PartSet_Validators.cpp:170
A class to validate a selection for Middle point constraints operation.
Definition: PartSet_Validators.h:184
virtual bool isValid(const ModuleBase_ISelection *theSelection, ModuleBase_Operation *theOperation) const
Returns True if selection is valid.
Definition: PartSet_Validators.cpp:366
A class to validate a selection for Radius constraint operation.
Definition: PartSet_Validators.h:75
virtual bool isValid(const ModuleBase_ISelection *theSelection, ModuleBase_Operation *theOperation) const
Returns True if selection is valid.
Definition: PartSet_Validators.cpp:196
A class to validate a selection for Rigid constraint operation.
Definition: PartSet_Validators.h:84
virtual bool isValid(const ModuleBase_ISelection *theSelection, ModuleBase_Operation *theOperation) const
Returns True if selection is valid.
Definition: PartSet_Validators.cpp:209
A class to validate a selection for Middle point constraints operation.
Definition: PartSet_Validators.h:175
virtual bool isValid(const ModuleBase_ISelection *theSelection, ModuleBase_Operation *theOperation) const
Returns True if selection is valid.
Definition: PartSet_Validators.cpp:354
A class to validate a selection for Tangential constraints operation.
Definition: PartSet_Validators.h:112
virtual bool isValid(const ModuleBase_ISelection *theSelection, ModuleBase_Operation *theOperation) const
Returns True if selection is valid.
Definition: PartSet_Validators.cpp:274