Xcos MVC: fix header licences
[scilab.git] / scilab / modules / scicos / src / cpp / model / Link.hxx
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
4  *
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
10  *
11  */
12
13 #ifndef LINK_HXX_
14 #define LINK_HXX_
15
16 #include <string>
17 #include <vector>
18 #include <utility>
19
20 #include "Model.hxx"
21 #include "model/BaseObject.hxx"
22
23 namespace org_scilab_modules_scicos
24 {
25 namespace model
26 {
27
28 class Link: public BaseObject
29 {
30     friend class ::org_scilab_modules_scicos::Model;
31
32 private:
33     Link() : BaseObject(LINK), parentDiagram(0), sourcePort(0), destinationPort(0), controlPoints() {};
34     Link(const Link& o) : BaseObject(LINK), parentDiagram(o.parentDiagram), sourcePort(o.sourcePort), destinationPort(o.destinationPort), controlPoints(o.controlPoints) {};
35     ~Link() {}
36
37     ScicosID getParentDiagram() const
38     {
39         return parentDiagram;
40     }
41
42     void setParentDiagram(ScicosID parentDiagram)
43     {
44         this->parentDiagram = parentDiagram;
45     }
46
47     const std::vector<std::pair<double, double> >& getControlPoints() const
48     {
49         return controlPoints;
50     }
51
52     void setControlPoints(const std::vector<std::pair<double, double> >& controlPoints)
53     {
54         this->controlPoints = controlPoints;
55     }
56
57     ScicosID getDestinationPort() const
58     {
59         return destinationPort;
60     }
61
62     void setDestinationPort(ScicosID destinationPort)
63     {
64         this->destinationPort = destinationPort;
65     }
66
67     ScicosID getSourcePort() const
68     {
69         return sourcePort;
70     }
71
72     void setSourcePort(ScicosID sourcePort)
73     {
74         this->sourcePort = sourcePort;
75     }
76
77 private:
78     ScicosID parentDiagram;
79
80     ScicosID sourcePort;
81     ScicosID destinationPort;
82
83     // used to store, user-defined control points
84     std::vector<std::pair<double, double> > controlPoints;
85 };
86
87 } /* namespace model */
88 } /* namespace org_scilab_modules_scicos */
89
90 #endif /* LINK_HXX_ */