Salome HOME
projects
/
modules
/
shaper.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git]
/
src
/
ModelAPI
/
ModelAPI_Object.h
diff --git
a/src/ModelAPI/ModelAPI_Object.h
b/src/ModelAPI/ModelAPI_Object.h
index d46fb76237c76ba2ca7a5b2c554a54b550e33509..aba6567eb3a0d643409a36dc40644d2811650511 100644
(file)
--- a/
src/ModelAPI/ModelAPI_Object.h
+++ b/
src/ModelAPI/ModelAPI_Object.h
@@
-6,6
+6,7
@@
#define ModelAPI_Object_H_
#include "ModelAPI.h"
#define ModelAPI_Object_H_
#include "ModelAPI.h"
+#include "ModelAPI_Data.h"
#include <boost/shared_ptr.hpp>
#include <boost/shared_ptr.hpp>
@@
-23,35
+24,64
@@
class ModelAPI_Document;
*/
class ModelAPI_Object
{
*/
class ModelAPI_Object
{
- boost::shared_ptr<ModelAPI_Data> myData; ///< manager of the data model of a feature
- boost::shared_ptr<ModelAPI_Document> myDoc;
///< document this feature
belongs to
-public:
+ boost::shared_ptr<ModelAPI_Data> myData;
///< manager of the data model of a feature
+ boost::shared_ptr<ModelAPI_Document> myDoc;
///< document this object
belongs to
+
public:
/// By default object is displayed in the object browser.
/// By default object is displayed in the object browser.
- virtual bool isInHistory() {return true;}
+ virtual bool isInHistory()
+ {
+ return true;
+ }
/// Returns the data manager of this object: attributes
/// Returns the data manager of this object: attributes
- virtual boost::shared_ptr<ModelAPI_Data> data() {return myData;}
+ virtual boost::shared_ptr<ModelAPI_Data> data() const
+ {
+ return myData;
+ }
/// Returns true if object refers to the same data model instance
virtual bool isSame(const boost::shared_ptr<ModelAPI_Object>& theObject)
/// Returns true if object refers to the same data model instance
virtual bool isSame(const boost::shared_ptr<ModelAPI_Object>& theObject)
- {return theObject.get() == this;}
+ {
+ return theObject.get() == this;
+ }
/// Returns document this feature belongs to
/// Returns document this feature belongs to
- virtual boost::shared_ptr<ModelAPI_Document> document()
- {return myDoc;}
+ virtual boost::shared_ptr<ModelAPI_Document> document() const
+ {
+ return myDoc;
+ }
/// Returns the group identifier of this object
virtual std::string groupName() = 0;
/// Returns the group identifier of this object
virtual std::string groupName() = 0;
-protected:
+ /// Called on change of any argument-attribute of this object
+ MODELAPI_EXPORT virtual void attributeChanged()
+ {}
+
+ /// To use virtuality for destructors
+ virtual ~ModelAPI_Object() {}
+
+ protected:
/// Sets the data manager of an object (document does)
/// Sets the data manager of an object (document does)
- virtual void setData(boost::shared_ptr<ModelAPI_Data> theData)
- {myData = theData;}
+ virtual void setData(boost::shared_ptr<ModelAPI_Data> theData)
+ {
+ myData = theData;
+ }
/// Sets the data manager of an object (document does)
/// Sets the data manager of an object (document does)
- virtual void setDoc(boost::shared_ptr<ModelAPI_Document> theDoc) {myDoc = theDoc;}
+ virtual void setDoc(boost::shared_ptr<ModelAPI_Document> theDoc)
+ {
+ myDoc = theDoc;
+ }
+
+ /// removes all fields from this feature
+ MODELAPI_EXPORT virtual void erase() {
+ if (myData) myData->erase();
+ setData(DataPtr());
+ }
friend class Model_Document;
friend class Model_Document;
+
};
typedef boost::shared_ptr<ModelAPI_Object> ObjectPtr;
};
typedef boost::shared_ptr<ModelAPI_Object> ObjectPtr;