X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FModelAPI%2FModelAPI_Feature.h;h=5572bc08d4147cf49467f2fdc5563ed1ba473ab1;hb=9b6fa5ea0662642f58e278af3798f4dc9ddd0acf;hp=183077f4fff6e55b47067a7430f0f83b4226ab38;hpb=5c861257d29de904a1418488b65e6100cd078433;p=modules%2Fshaper.git diff --git a/src/ModelAPI/ModelAPI_Feature.h b/src/ModelAPI/ModelAPI_Feature.h index 183077f4f..5572bc08d 100644 --- a/src/ModelAPI/ModelAPI_Feature.h +++ b/src/ModelAPI/ModelAPI_Feature.h @@ -49,12 +49,14 @@ class ModelAPI_Feature : public ModelAPI_Object return group(); } - /// Request for initialization of data model of the feature: adding all attributes - virtual void initAttributes() = 0; - /// Computes or recomputes the results virtual void execute() = 0; + /// Computes the attribute value on the base of other attributes if the value can be computed + /// \param theAttributeId an attribute index to be computed + /// \return a boolean value about it is computed + virtual bool compute(const std::string& theAttributeId) { return false; }; + /// Registers error during the execution, causes the ExecutionFailed state virtual void setError(const std::string& theError) { data()->setError(theError); @@ -73,6 +75,8 @@ class ModelAPI_Feature : public ModelAPI_Object const int theIndex); /// removes the result from the feature MODELAPI_EXPORT void removeResult(const std::shared_ptr& theResult); + /// removes all results starting from the gived index (zero-based) + MODELAPI_EXPORT void removeResults(const int theSinceIndex); /// removes all results from the feature MODELAPI_EXPORT void eraseResults(); /// removes all fields from this feature: results, data, etc @@ -90,7 +94,7 @@ class ModelAPI_Feature : public ModelAPI_Object } /// Must return document where the new feature must be added to - /// By default it is current document + /// By default it is null document: it is added to the document this method is called to MODELAPI_EXPORT virtual std::shared_ptr documentToAdd(); /// To virtually destroy the fields of successors