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)
34 model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
43 model::Block* o = static_cast<model::Block*>(getObject(uid));
50 else if (k == DIAGRAM)
52 model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
61 model::Link* o = static_cast<model::Link*>(getObject(uid));
70 model::Port* o = static_cast<model::Port*>(getObject(uid));
83 bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, int& v)
88 model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
97 model::Block* o = static_cast<model::Block*>(getObject(uid));
100 case SIM_FUNCTION_API:
101 o->getSimFunctionApi(v);
104 o->getSimBlocktype(v);
116 else if (k == DIAGRAM)
118 model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
127 model::Link* o = static_cast<model::Link*>(getObject(uid));
142 model::Port* o = static_cast<model::Port*>(getObject(uid));
155 bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, bool& v)
160 model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
169 model::Block* o = static_cast<model::Block*>(getObject(uid));
176 else if (k == DIAGRAM)
178 model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
187 model::Link* o = static_cast<model::Link*>(getObject(uid));
196 model::Port* o = static_cast<model::Port*>(getObject(uid));
209 bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::string& v)
214 model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
223 model::Block* o = static_cast<model::Block*>(getObject(uid));
226 case INTERFACE_FUNCTION:
227 o->getInterfaceFunction(v);
229 case SIM_FUNCTION_NAME:
230 o->getSimFunctionName(v);
245 else if (k == DIAGRAM)
247 model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
262 model::Link* o = static_cast<model::Link*>(getObject(uid));
274 model::Port* o = static_cast<model::Port*>(getObject(uid));
290 bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, ScicosID& v)
295 model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
299 v = o->getParentDiagram();
302 v = o->getRelatedTo();
310 model::Block* o = static_cast<model::Block*>(getObject(uid));
314 v = o->getParentDiagram();
320 else if (k == DIAGRAM)
322 model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
327 model::Link* o = static_cast<model::Link*>(getObject(uid));
331 v = o->getParentDiagram();
336 case DESTINATION_PORT:
337 o->getDestinationPort(v);
345 model::Port* o = static_cast<model::Port*>(getObject(uid));
348 case CONNECTED_SIGNALS:
349 v = o->getConnectedSignals().front();
361 bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::vector<double>& v)
366 model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
378 model::Block* o = static_cast<model::Block*>(getObject(uid));
400 else if (k == DIAGRAM)
402 model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
414 model::Link* o = static_cast<model::Link*>(getObject(uid));
418 o->getControlPoints(v);
429 model::Port* o = static_cast<model::Port*>(getObject(uid));
437 bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::vector<int>& v)
442 model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
451 model::Block* o = static_cast<model::Block*>(getObject(uid));
464 else if (k == DIAGRAM)
466 model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
475 model::Link* o = static_cast<model::Link*>(getObject(uid));
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)
502 model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
511 model::Block* o = static_cast<model::Block*>(getObject(uid));
521 else if (k == DIAGRAM)
523 model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
535 model::Link* o = static_cast<model::Link*>(getObject(uid));
544 model::Port* o = static_cast<model::Port*>(getObject(uid));
554 bool Model::getObjectProperty(ScicosID uid, kind_t k, object_properties_t p, std::vector<ScicosID>& v)
559 model::Annotation* o = static_cast<model::Annotation*>(getObject(uid));
568 model::Block* o = static_cast<model::Block*>(getObject(uid));
590 else if (k == DIAGRAM)
592 model::Diagram* o = static_cast<model::Diagram*>(getObject(uid));
596 v = o->getChildren();
604 model::Link* o = static_cast<model::Link*>(getObject(uid));
613 model::Port* o = static_cast<model::Port*>(getObject(uid));
616 case CONNECTED_SIGNALS:
617 v = o->getConnectedSignals();
626 } /* namespace org_scilab_modules_scicos */