我可以在 .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.1inet-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