X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGeomValidators%2FGeomValidators_ShapeType.h;h=57de1470897b06bba892e4ab5678fb3a42b3cc38;hb=3205d0f18200948632155bbe7b640bc1e482243d;hp=ce3232d61b5074674f621dbff70dcc28a26d23b1;hpb=fccb11b890bf75fde316cd0dbc911fa001368062;p=modules%2Fshaper.git diff --git a/src/GeomValidators/GeomValidators_ShapeType.h b/src/GeomValidators/GeomValidators_ShapeType.h index ce3232d61..57de14708 100644 --- a/src/GeomValidators/GeomValidators_ShapeType.h +++ b/src/GeomValidators/GeomValidators_ShapeType.h @@ -10,6 +10,8 @@ #include "GeomValidators.h" #include "ModelAPI_AttributeValidator.h" +#include + #include /** @@ -21,29 +23,58 @@ class GeomValidators_ShapeType : public ModelAPI_AttributeValidator { public: - // the edge type + /// Type of shape enum TypeOfShape { - AnyShape, + Empty, Vertex, + Edge, Line, - Circle + Circle, + Face, + Solid, + Compound, + Plane, + AnyShape }; public: GEOMVALIDATORS_EXPORT GeomValidators_ShapeType() {} - //! returns true if attribute is valid - //! \param theAttribute the checked attribute - //! \param theArguments arguments of the attribute + //! Returns true if attribute has shape type listed in the parameter arguments + //! \param[in] theAttribute the checked attribute + //! \param[in] theArguments arguments of the attribute + //! \param[out] theError error message. GEOMVALIDATORS_EXPORT virtual bool isValid(const AttributePtr& theAttribute, - const std::list& theArguments) const; + const std::list& theArguments, + std::string& theError) const; protected: /// Convert string to TypeOfShape value /// \param theType a string value static TypeOfShape shapeType(const std::string& theType); - bool isValidArgument(const AttributePtr& theAttribute, - const std::string& theArgument) const; + /// Returns true if the attibute's object type satisfies the argument value + /// \param[in] theAttribute a checked attribute + /// \param[in] theShapeType a type of shape + /// \param[out] theError error message. + bool isValidAttribute(const AttributePtr& theAttribute, + const TypeOfShape theShapeType, + std::string& theError) const; + + /// Returns true if the attibute's object type satisfies the argument value + /// \param[in] theObject a checked object + /// \param[in] theShapeType a shape type + /// \param[out] theError error message. + bool isValidObject(const ObjectPtr& theObject, + const TypeOfShape theShapeType, + std::string& theError) const; + + /// Returns true if the attibute's object type satisfies the argument value + /// \param[in] theShape a checked shape + /// \param[in] theShapeType a shape type + /// \param[out] theError error message. + bool isValidShape(const GeomShapePtr theShape, + const TypeOfShape theShapeType, + std::string& theError) const; };