Salome HOME
projects
/
modules
/
yacs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
WIP
[modules/yacs.git]
/
src
/
engine
/
ElementaryNode.cxx
diff --git
a/src/engine/ElementaryNode.cxx
b/src/engine/ElementaryNode.cxx
index fb82250481f5dc94367b5da3feedefac2f88205a..d227016b9bfb3542e7209a44ed99752a91644b43 100644
(file)
--- a/
src/engine/ElementaryNode.cxx
+++ b/
src/engine/ElementaryNode.cxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2006-201
6
CEA/DEN, EDF R&D
+// Copyright (C) 2006-201
9
CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
@@
-47,11
+47,13
@@
using namespace std;
ElementaryNode::ElementaryNode(const std::string& name):
Node(name),
_createDatastreamPorts(false),
ElementaryNode::ElementaryNode(const std::string& name):
Node(name),
_createDatastreamPorts(false),
- _multi_port_node(false)
+ _multi_port_node(false),
+ _weight()
{
{
+ _weight.setDefaultElementary();
}
}
-ElementaryNode::ElementaryNode(const ElementaryNode& other, ComposedNode *father):Node(other,father)
+ElementaryNode::ElementaryNode(const ElementaryNode& other, ComposedNode *father):Node(other,father)
, _weight(other._weight)
{
_createDatastreamPorts = other._createDatastreamPorts;
_multi_port_node = other._multi_port_node;
{
_createDatastreamPorts = other._createDatastreamPorts;
_multi_port_node = other._multi_port_node;
@@
-92,17
+94,17
@@
void ElementaryNode::initCommonPartWithoutStateManagement(bool start)
for(list<InputPort *>::iterator iter2=_setOfInputPort.begin();iter2!=_setOfInputPort.end();iter2++)
(*iter2)->exInit(start);
_inGate.exReset();
for(list<InputPort *>::iterator iter2=_setOfInputPort.begin();iter2!=_setOfInputPort.end();iter2++)
(*iter2)->exInit(start);
_inGate.exReset();
- if(_state == YACS::DISABLED)
- {
- exDisabledState(); // to refresh propagation of DISABLED state
- return;
- }
}
void ElementaryNode::init(bool start)
{
DEBTRACE("ElementaryNode::init " << getName() << " " << start << " " << _state);
initCommonPartWithoutStateManagement(start);
}
void ElementaryNode::init(bool start)
{
DEBTRACE("ElementaryNode::init " << getName() << " " << start << " " << _state);
initCommonPartWithoutStateManagement(start);
+ if(_state == YACS::DISABLED)
+ {
+ exDisabledState(); // to refresh propagation of DISABLED state
+ return ;
+ }
setState(YACS::READY);
}
setState(YACS::READY);
}
@@
-433,10
+435,10
@@
void ElementaryNode::getReadyTasks(std::vector<Task *>& tasks)
std::string input_port_name = (*iter1)->getName();
// Get Port Name in master node
InputPort * master_port = getInputPort(input_port_name);
std::string input_port_name = (*iter1)->getName();
// Get Port Name in master node
InputPort * master_port = getInputPort(input_port_name);
- for (
std::set<OutPort *>::const_iterator itt=master_port->_backLinks.begin(); itt!=master_port->_backLinks.end();itt++
)
+ for (
auto itt : master_port->_backLinks
)
{
// Connect dataflow
{
// Connect dataflow
- getProc()->edAddDFLink(
(*itt)
,(*iter1));
+ getProc()->edAddDFLink(
itt.first
,(*iter1));
}
}
}
}
@@
-892,3
+894,10
@@
void ElementaryNode::getCoupledNodes(std::set<Task*>& coupledSet)
}
}
}
}
+void ElementaryNode::setWeight(double elementaryWeight)
+{
+ if(elementaryWeight<=0.)
+ throw Exception("ElementaryNode::setWeight : invalid input value !");
+ _weight.setElementaryWeight(elementaryWeight);
+}
+