1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
6 * Created on: Dec 8, 2014
11 #include <ModelAPI_Events.h>
13 #include <GeomAPI_Pnt2d.h>
15 ModelAPI_ObjectUpdatedMessage::ModelAPI_ObjectUpdatedMessage(const Events_ID theID,
16 const void* theSender)
17 : Events_MessageGroup(theID, theSender)
22 ModelAPI_ObjectUpdatedMessage::~ModelAPI_ObjectUpdatedMessage()
27 ModelAPI_ObjectDeletedMessage::ModelAPI_ObjectDeletedMessage(const Events_ID theID,
28 const void* theSender)
29 : Events_MessageGroup(theID, theSender)
34 ModelAPI_ObjectDeletedMessage::~ModelAPI_ObjectDeletedMessage()
39 ModelAPI_OrderUpdatedMessage::ModelAPI_OrderUpdatedMessage(const Events_ID theID,
40 const void* theSender)
41 : Events_Message(theID, theSender)
46 ModelAPI_OrderUpdatedMessage::~ModelAPI_OrderUpdatedMessage()
51 ModelAPI_FeatureStateMessage::ModelAPI_FeatureStateMessage(const Events_ID theID,
52 const void* theSender)
53 : Events_Message(theID, theSender)
55 myCurrentFeature = std::shared_ptr<ModelAPI_Feature>();
58 ModelAPI_FeatureStateMessage::~ModelAPI_FeatureStateMessage()
63 std::shared_ptr<ModelAPI_Feature> ModelAPI_FeatureStateMessage::feature() const
65 return myCurrentFeature;
68 void ModelAPI_FeatureStateMessage::setFeature(std::shared_ptr<ModelAPI_Feature>& theFeature)
70 myCurrentFeature = theFeature;
73 bool ModelAPI_FeatureStateMessage::hasState(const std::string& theKey) const
75 return myFeatureState.find(theKey) != myFeatureState.end();
78 bool ModelAPI_FeatureStateMessage::state(const std::string& theFeatureId, bool theDefault) const
80 if(hasState(theFeatureId)) {
81 return myFeatureState.at(theFeatureId);
86 void ModelAPI_FeatureStateMessage::setState(const std::string& theFeatureId, bool theValue)
88 myFeatureState[theFeatureId] = theValue;
91 std::list<std::string> ModelAPI_FeatureStateMessage::features() const
93 std::list<std::string> result;
94 std::map<std::string, bool>::const_iterator it = myFeatureState.begin();
95 for( ; it != myFeatureState.end(); ++it) {
96 result.push_back(it->first);
102 ModelAPI_DocumentCreatedMessage::ModelAPI_DocumentCreatedMessage(
103 const Events_ID theID, const void* theSender)
104 : Events_Message(theID, theSender)
107 ModelAPI_DocumentCreatedMessage::~ModelAPI_DocumentCreatedMessage()
110 DocumentPtr ModelAPI_DocumentCreatedMessage::document() const
115 void ModelAPI_DocumentCreatedMessage::setDocument(DocumentPtr theDocument)
117 myDocument = theDocument;
120 ModelAPI_AttributeEvalMessage::ModelAPI_AttributeEvalMessage(
121 const Events_ID theID, const void* theSender)
122 : Events_Message(theID, theSender)
125 ModelAPI_AttributeEvalMessage::~ModelAPI_AttributeEvalMessage()
128 AttributePtr ModelAPI_AttributeEvalMessage::attribute() const
133 void ModelAPI_AttributeEvalMessage::setAttribute(AttributePtr theAttribute)
135 myAttribute = theAttribute;
138 ModelAPI_ParameterEvalMessage::ModelAPI_ParameterEvalMessage(
139 const Events_ID theID, const void* theSender)
140 : Events_Message(theID, theSender), myIsProcessed(false)
143 ModelAPI_ParameterEvalMessage::~ModelAPI_ParameterEvalMessage()
146 FeaturePtr ModelAPI_ParameterEvalMessage::parameter() const
151 void ModelAPI_ParameterEvalMessage::setParameter(FeaturePtr theParam)
156 void ModelAPI_ParameterEvalMessage::setResults(
157 const std::list<std::shared_ptr<ModelAPI_ResultParameter> >& theParamsList,
158 const double theResult, const std::string& theError)
160 myParamsList = theParamsList;
161 myResult = theResult;
163 myIsProcessed = true;
166 bool ModelAPI_ParameterEvalMessage::isProcessed()
168 return myIsProcessed;
171 const std::list<std::shared_ptr<ModelAPI_ResultParameter> >&
172 ModelAPI_ParameterEvalMessage::params() const
177 const double& ModelAPI_ParameterEvalMessage::result() const
182 const std::string& ModelAPI_ParameterEvalMessage::error() const
187 ModelAPI_ComputePositionsMessage::ModelAPI_ComputePositionsMessage(
188 const Events_ID theID, const void* theSender)
189 : Events_Message(theID, theSender)
192 ModelAPI_ComputePositionsMessage::~ModelAPI_ComputePositionsMessage()
195 const std::string& ModelAPI_ComputePositionsMessage::expression() const
200 const std::string& ModelAPI_ComputePositionsMessage::parameter() const
205 void ModelAPI_ComputePositionsMessage::set(
206 const std::string& theExpression, const std::string& theParameter)
208 myExpression = theExpression;
209 myParamName = theParameter;
212 void ModelAPI_ComputePositionsMessage::setPositions(
213 const std::list<std::pair<int, int> >& thePositions)
215 myPositions = thePositions;
218 const std::list<std::pair<int, int> >& ModelAPI_ComputePositionsMessage::positions() const
224 ModelAPI_ObjectRenamedMessage::ModelAPI_ObjectRenamedMessage(const Events_ID theID,
225 const void* theSender)
226 : Events_Message(theID, theSender)
231 ModelAPI_ObjectRenamedMessage::~ModelAPI_ObjectRenamedMessage()
236 void ModelAPI_ObjectRenamedMessage::send(ObjectPtr theObject,
237 const std::string& theOldName,
238 const std::string& theNewName,
239 const void* theSender)
241 std::shared_ptr<ModelAPI_ObjectRenamedMessage> aMessage(
242 new ModelAPI_ObjectRenamedMessage(eventId(), theSender));
243 aMessage->setObject(theObject);
244 aMessage->setOldName(theOldName);
245 aMessage->setNewName(theNewName);
246 Events_Loop::loop()->send(aMessage);
249 ObjectPtr ModelAPI_ObjectRenamedMessage::object() const
254 void ModelAPI_ObjectRenamedMessage::setObject(ObjectPtr theObject)
256 myObject = theObject;
259 std::string ModelAPI_ObjectRenamedMessage::oldName() const
264 void ModelAPI_ObjectRenamedMessage::setOldName(const std::string& theOldName)
266 myOldName = theOldName;
269 std::string ModelAPI_ObjectRenamedMessage::newName() const
274 void ModelAPI_ObjectRenamedMessage::setNewName(const std::string& theNewName)
276 myNewName = theNewName;
279 ModelAPI_ReplaceParameterMessage::ModelAPI_ReplaceParameterMessage(const Events_ID theID,
280 const void* theSender)
281 : Events_Message(theID, theSender)
286 ModelAPI_ReplaceParameterMessage::~ModelAPI_ReplaceParameterMessage()
291 void ModelAPI_ReplaceParameterMessage::send(ObjectPtr theObject,
292 const void* theSender)
294 std::shared_ptr<ModelAPI_ReplaceParameterMessage> aMessage(
295 new ModelAPI_ReplaceParameterMessage(eventId(), theSender));
296 aMessage->setObject(theObject);
297 Events_Loop::loop()->send(aMessage);
300 ObjectPtr ModelAPI_ReplaceParameterMessage::object() const
305 void ModelAPI_ReplaceParameterMessage::setObject(ObjectPtr theObject)
307 myObject = theObject;
311 // ===== ModelAPI_SolverFailedMessage =====
312 ModelAPI_SolverFailedMessage::ModelAPI_SolverFailedMessage(const Events_ID theID,
313 const void* theSender)
314 : Events_Message(theID, theSender),
319 ModelAPI_SolverFailedMessage::~ModelAPI_SolverFailedMessage()
323 void ModelAPI_SolverFailedMessage::setObjects(const std::set<ObjectPtr>& theObjects)
325 myObjects = theObjects;
328 const std::set<ObjectPtr>& ModelAPI_SolverFailedMessage::objects() const
334 // ===== ModelAPI_ObjectMovedMessage =====
335 ModelAPI_ObjectMovedMessage::ModelAPI_ObjectMovedMessage(const void* theSender)
336 : Events_Message(Events_Loop::eventByName(EVENT_OBJECT_MOVED), theSender)
340 void ModelAPI_ObjectMovedMessage::setMovedObject(const ObjectPtr& theMovedObject)
342 myMovedObject = theMovedObject;
343 myMovedAttribute = AttributePtr();
346 void ModelAPI_ObjectMovedMessage::setMovedAttribute(const AttributePtr& theMovedAttribute)
348 myMovedAttribute = theMovedAttribute;
349 myMovedObject = ObjectPtr();
352 void ModelAPI_ObjectMovedMessage::setOriginalPosition(double theX, double theY)
354 myOriginalPosition = std::shared_ptr<GeomAPI_Pnt2d>(new GeomAPI_Pnt2d(theX, theY));
357 void ModelAPI_ObjectMovedMessage::setOriginalPosition(const std::shared_ptr<GeomAPI_Pnt2d>& thePoint)
359 myOriginalPosition = thePoint;
362 void ModelAPI_ObjectMovedMessage::setCurrentPosition(double theX, double theY)
364 myCurrentPosition = std::shared_ptr<GeomAPI_Pnt2d>(new GeomAPI_Pnt2d(theX, theY));
367 void ModelAPI_ObjectMovedMessage::setCurrentPosition(const std::shared_ptr<GeomAPI_Pnt2d>& thePoint)
369 myCurrentPosition = thePoint;