我可以在 .ini 文件中或以编程方式设置节点位置吗?
Can I set the node position in the .ini file or programmatically?
虽然我可以在.ned文件中设置节点位置
hostA: <default("WirelessHost")> like INetworkNode {
@display("p=300,400");
}
是否可以像*.hostA.**.setPosition(posX, posY)
那样在.ini文件中指定位置
还是在App源文件中?
*.hostA.numApps = 1
*.hostA.app[0].typename = "MyApp"
我正在使用 omnetpp-5.4.1 和 inet-4.0.0
通过使用 @display
字符串,您可以定义模块在图形环境中的呈现。默认情况下与节点的物理位置无关。
您想要的是实现 IMobility
接口的模块。这意味着相应的实例必须是一个现有的模块接口,具体模块类型必须实现它。可以在 INET 示例 mobility
中找到这方面的示例。您应该查看的模块称为 MobileHost
。通过使用这样的实现,您可以设置模块在 omnetpp.ini 文件中的位置:
**.host[0].mobility.initialX = 50m
**.host[0].mobility.initialY = 200m
但是,您也可以在这种情况下通过设置使用@display 字符串:
**.host[0].mobility.initFromDisplayString = true
虽然我可以在.ned文件中设置节点位置
hostA: <default("WirelessHost")> like INetworkNode {
@display("p=300,400");
}
是否可以像*.hostA.**.setPosition(posX, posY)
还是在App源文件中?
*.hostA.numApps = 1
*.hostA.app[0].typename = "MyApp"
我正在使用 omnetpp-5.4.1 和 inet-4.0.0
通过使用 @display
字符串,您可以定义模块在图形环境中的呈现。默认情况下与节点的物理位置无关。
您想要的是实现 IMobility
接口的模块。这意味着相应的实例必须是一个现有的模块接口,具体模块类型必须实现它。可以在 INET 示例 mobility
中找到这方面的示例。您应该查看的模块称为 MobileHost
。通过使用这样的实现,您可以设置模块在 omnetpp.ini 文件中的位置:
**.host[0].mobility.initialX = 50m
**.host[0].mobility.initialY = 200m
但是,您也可以在这种情况下通过设置使用@display 字符串:
**.host[0].mobility.initFromDisplayString = true