* \brief Functionality of the model object: to update result,
* to initialize attributes, etc.
*/
-class MODELAPI_EXPORT ModelAPI_Feature
+class ModelAPI_Feature
{
std::shared_ptr<ModelAPI_Object> myData; ///< manager of the data model of a feature
public:
/// Returns the kind of a feature (like "Point")
- virtual const std::string& getKind() = 0;
+ MODELAPI_EXPORT virtual const std::string& getKind() = 0;
/// Returns to which group in the document must be added feature
- virtual const std::string& getGroup() = 0;
+ MODELAPI_EXPORT virtual const std::string& getGroup() = 0;
/// Request for initialization of data model of the feature: adding all attributes
- virtual void initAttributes() = 0;
+ MODELAPI_EXPORT virtual void initAttributes() = 0;
/// Computes or recomputes the result
- virtual void execute() = 0;
+ MODELAPI_EXPORT virtual void execute() = 0;
/// Returns the data manager of this feature
- virtual std::shared_ptr<ModelAPI_Object> data() {return myData;}
+ MODELAPI_EXPORT virtual std::shared_ptr<ModelAPI_Object> data() {return myData;}
/// Must return document where the new feature must be added to
/// By default it is current document
- virtual std::shared_ptr<ModelAPI_Document> documentToAdd()
+ MODELAPI_EXPORT virtual std::shared_ptr<ModelAPI_Document> documentToAdd()
{return ModelAPI_PluginManager::get()->currentDocument();}
protected:
{}
/// Sets the data manager of an object (document does)
- void setData(std::shared_ptr<ModelAPI_Object> theData) {myData = theData;}
+ MODELAPI_EXPORT void setData(std::shared_ptr<ModelAPI_Object> theData) {myData = theData;}
friend class Model_Document;
};