2 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 * Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
5 * This file must be used under the terms of the CeCILL.
6 * This source file is licensed as described in the file COPYING, which
7 * you should have received as part of this distribution. The terms
8 * are also available at
9 * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
17 #include "utilities.hxx"
19 #include "model/BaseObject.hxx"
20 #include "model/Annotation.hxx"
21 #include "model/Diagram.hxx"
22 #include "model/Block.hxx"
23 #include "model/Link.hxx"
24 #include "model/Port.hxx"
26 namespace org_scilab_modules_scicos
29 bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, double& v) const
48 else if (k == DIAGRAM)
66 model::Port* o = static_cast<model::Port*>(getObject(uid));
79 bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, int& v) const
92 model::Block* o = static_cast<model::Block*>(getObject(uid));
95 case SIM_FUNCTION_API:
96 o->getSimFunctionApi(v);
108 else if (k == DIAGRAM)
118 model::Link* o = static_cast<model::Link*>(getObject(uid));
133 model::Port* o = static_cast<model::Port*>(getObject(uid));
146 bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, bool& v) const
165 else if (k == DIAGRAM)
183 model::Port* o = static_cast<model::Port*>(getObject(uid));
196 bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::string& v) const
201 model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
205 o->getDescription(v);
219 model::Block* o = static_cast<model::Block*>(getObject(uid));
222 case INTERFACE_FUNCTION:
223 o->getInterfaceFunction(v);
225 case SIM_FUNCTION_NAME:
226 o->getSimFunctionName(v);
229 o->getSimBlocktype(v);
244 else if (k == DIAGRAM)
246 model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
256 o->getVersionNumber(v);
264 model::Link* o = static_cast<model::Link*>(getObject(uid));
276 model::Port* o = static_cast<model::Port*>(getObject(uid));
292 bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, ScicosID& v) const
297 model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
301 o->getParentDiagram(v);
304 v = o->getRelatedTo();
312 model::Block* o = static_cast<model::Block*>(getObject(uid));
316 o->getParentDiagram(v);
322 else if (k == DIAGRAM)
328 model::Link* o = static_cast<model::Link*>(getObject(uid));
332 o->getParentDiagram(v);
337 case DESTINATION_PORT:
338 o->getDestinationPort(v);
346 model::Port* o = static_cast<model::Port*>(getObject(uid));
349 case CONNECTED_SIGNALS:
350 v = o->getConnectedSignals().front();
362 bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::vector<double>& v) const
367 model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
379 model::Block* o = static_cast<model::Block*>(getObject(uid));
401 else if (k == DIAGRAM)
403 model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
415 model::Link* o = static_cast<model::Link*>(getObject(uid));
419 o->getControlPoints(v);
440 bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::vector<int>& v) const
453 model::Block* o = static_cast<model::Block*>(getObject(uid));
466 else if (k == DIAGRAM)
484 model::Port* o = static_cast<model::Port*>(getObject(uid));
497 bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::vector<std::string>& v) const
510 model::Block* o = static_cast<model::Block*>(getObject(uid));
520 else if (k == DIAGRAM)
522 model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
525 case DIAGRAM_CONTEXT:
551 bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::vector<ScicosID>& v) const
564 model::Block* o = static_cast<model::Block*>(getObject(uid));
586 else if (k == DIAGRAM)
588 model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
608 model::Port* o = static_cast<model::Port*>(getObject(uid));
611 case CONNECTED_SIGNALS:
612 v = o->getConnectedSignals();
621 } /* namespace org_scilab_modules_scicos */