]> SALOME platform Git repositories - modules/yacs.git/blob - src/engine/StaticDefinedComposedNode.cxx
Salome HOME
merge from branch DEV tag mergeto_trunk_04apr08
[modules/yacs.git] / src / engine / StaticDefinedComposedNode.cxx
1 #include "StaticDefinedComposedNode.hxx"
2 #include "OutPort.hxx"
3 #include "InPort.hxx"
4
5 using namespace std;
6 using namespace YACS::ENGINE;
7
8 StaticDefinedComposedNode::StaticDefinedComposedNode(const std::string& name):ComposedNode(name)
9 {
10 }
11
12 StaticDefinedComposedNode::StaticDefinedComposedNode(const StaticDefinedComposedNode& other, ComposedNode *father):ComposedNode(other,father)
13 {
14 }
15
16 bool StaticDefinedComposedNode::isPlacementPredictableB4Run() const
17 {
18   return true;
19 }
20
21 bool StaticDefinedComposedNode::isMultiplicitySpecified(unsigned& value) const
22 {
23   value=1;
24   return true;
25 }
26
27 void StaticDefinedComposedNode::forceMultiplicity(unsigned value)
28 {
29   //no sense for this class
30 }
31
32 void StaticDefinedComposedNode::checkControlDependancy(OutPort *start, InPort *end, bool cross,
33                                                        std::map < ComposedNode *,  std::list < OutPort * >, SortHierarc >& fw,
34                                                        std::vector<OutPort *>& fwCross,
35                                                        std::map< ComposedNode *, std::list < OutPort *>, SortHierarc >& bw,
36                                                        LinkInfo& info) const
37 {
38   if(start->getNode()==end->getNode())
39     bw[(ComposedNode *)this].push_back(start);
40   else
41     throw Exception("Internal error occured - dealing an unexpected link !");
42 }