我只想在两个循环中每次创建节点时定位节点 任何人都可以帮我解释语法吗?
network Network
{
parameters:
int noOfSources = default(2);
int noOfSinks = default(2);
double field_x;
double field_y;
//int noOfConnections;
submodules:
source[noOfSources]: Source;
sink[noOfSinks]: Sink;
operator: Operator;
connections:
for i=0..noOfSources-1 {
source[i].gate <--> Link <--> operator.gate++;
}
for i=0..noOfSinks-1 {
sink[i].gate <--> Link <--> operator.gate++;
}
}
答案 0 :(得分:1)
我认为您不能在NED迭代中定位节点,但您可以使用@display属性(显示字符串)在行/列/环/矩阵中排列模块向量。 请查看手册的这一部分:https://omnetpp.org/doc/omnetpp/manual/#sec:display-strings:module-and-connection-display-strings
例如:
source[noOfSources]: Source @display("p=50,40,r,25");
将Sources排成一排,第一个位于50:40,间距为25。
你也可以从C ++中移动它们,类似地使用它们的cDisplayString对象(就像INET那样的组件库的移动模型)但是这样不太方便。