Salome HOME
Merge branch 'Dev_1.1.0' of newgeom:newgeom into Dev_1.1.0
[modules/shaper.git] / src / ModelAPI / ModelAPI_Object.cpp
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        ModelAPI_Object.cpp
4 // Created:     19 May 2014
5 // Author:      Mikhail PONIKAROV
6
7 #include "ModelAPI_Object.h"
8 #include "ModelAPI_Document.h"
9
10 bool ModelAPI_Object::isInHistory()
11 {
12   return myInHistory;
13 }
14
15 void ModelAPI_Object::setInHistory(
16   const std::shared_ptr<ModelAPI_Object> theObject, const bool theFlag)
17 {
18   if (myInHistory != theFlag) {
19     myInHistory = theFlag;
20     myDoc->addToHistory(theObject);
21   }
22 }
23
24 std::shared_ptr<ModelAPI_Data> ModelAPI_Object::data() const
25 {
26   return myData;
27 }
28
29 bool ModelAPI_Object::isSame(const std::shared_ptr<ModelAPI_Object>& theObject)
30 {
31   return theObject.get() == this;
32 }
33
34 std::shared_ptr<ModelAPI_Document> ModelAPI_Object::document() const
35 {
36   return myDoc;
37 }
38
39 void ModelAPI_Object::attributeChanged(const std::string& theID)
40 {
41 }
42
43 ModelAPI_Object::ModelAPI_Object() : myInHistory(true)
44 {
45 }
46
47 ModelAPI_Object::~ModelAPI_Object()
48 {
49 }
50
51 void ModelAPI_Object::setData(std::shared_ptr<ModelAPI_Data> theData)
52 {
53   myData = theData;
54 }
55
56 void ModelAPI_Object::setDoc(std::shared_ptr<ModelAPI_Document> theDoc)
57 {
58   myDoc = theDoc;
59 }
60
61 void ModelAPI_Object::erase()
62 {
63   if (myData) myData->erase();
64   setData(DataPtr());
65 }