获取 .cc 文件中 class 的参数和属性
Get parameter and attributes of a class in .cc file
问题是:几个移动元素 (ME) 被用来从现场收集感官数据。首先,节点应该集群,一些能量丰富的 CHs 应该被选择作为会合节点(RN)。传感器节点将它们的数据传递给 RNs,最后移动元素应该访问这些 RNs 来收集数据。
这项工作的主要部分是估计通往 RN 的路由路径。
1) 我如何进行聚类和确定 RN?
2)如何强制移动元素通过我定义的移动路径?
我使用 INET 无线展示来模拟这个问题。
第一部分:我不知道。请帮助!
作为我的问题的第二部分(我的运动)我做了:
module MEpath extends AdhocHost
{
parameters:
@display("i=device/cellphone");
@class(MEpath);
mobilityType = "MassMobility";
}
network MyNet
{
parameters:
int numHost;
int numME;
string mediumType = default("IdealRadioMedium");
submodules:
visualizer: IntegratedCanvasVisualizer {
parameters:
@display("p=47,16");
}
configurator: IPv4NetworkConfigurator {
parameters:
@display("p=47,97");
}
radioMedium: <mediumType> like IRadioMedium {
parameters:
@display("p=55,271");
}
lifecycleController: LifecycleController {
parameters:
@display("p=34,176");
}
host[numHost]: AdhocHost {
parameters:
@display("p=222,300");
}
mobileHost[numME]: MEpath {
@display("p=296,207;i=device/pocketpc");
}
}
定义MEpath模块是否正确?我应该更改哪个 class 或 .cc 文件?我应该在 MEpath.cc 中写什么?
maybe it is unusual but at all I have problem in working with omnet++ and inet manual. I couldn't find out which attribute and parameter of a class should I change? !
广告。 2.可以用BonnMotionMobility
。 INET Framework 4.0 User's Guide as well as in INET API Reference 中对此进行了解释。它需要一个包含多个值的文件:时间、x 和 y,由 space 分隔。您可以在 INET
的 examples
目录中找到此文件的示例,例如:examples\mobility\bonnmotion_small.movements
.
要使用这种移动方式,您应该在 omnetpp.ini
中设置如下内容:
**.mobileHost*.mobility.typename = "BonnMotionMobility"
**.mobileHost*.mobility.traceFile = "your_trace_file"
此外,您应该删除这一行:
mobilityType = "MassMobility";
根据您的 MEpath
定义(因为这样是 hardcoded,无法通过 omnetpp.ini
控制)。
MEpath
的定义是正确的。它需要 *.h
和 *.cc
文件,其中包含 MEpath
C++ class 的 declaration and definition。
问题是:几个移动元素 (ME) 被用来从现场收集感官数据。首先,节点应该集群,一些能量丰富的 CHs 应该被选择作为会合节点(RN)。传感器节点将它们的数据传递给 RNs,最后移动元素应该访问这些 RNs 来收集数据。 这项工作的主要部分是估计通往 RN 的路由路径。 1) 我如何进行聚类和确定 RN? 2)如何强制移动元素通过我定义的移动路径? 我使用 INET 无线展示来模拟这个问题。 第一部分:我不知道。请帮助! 作为我的问题的第二部分(我的运动)我做了:
module MEpath extends AdhocHost
{
parameters:
@display("i=device/cellphone");
@class(MEpath);
mobilityType = "MassMobility";
}
network MyNet
{
parameters:
int numHost;
int numME;
string mediumType = default("IdealRadioMedium");
submodules:
visualizer: IntegratedCanvasVisualizer {
parameters:
@display("p=47,16");
}
configurator: IPv4NetworkConfigurator {
parameters:
@display("p=47,97");
}
radioMedium: <mediumType> like IRadioMedium {
parameters:
@display("p=55,271");
}
lifecycleController: LifecycleController {
parameters:
@display("p=34,176");
}
host[numHost]: AdhocHost {
parameters:
@display("p=222,300");
}
mobileHost[numME]: MEpath {
@display("p=296,207;i=device/pocketpc");
}
}
定义MEpath模块是否正确?我应该更改哪个 class 或 .cc 文件?我应该在 MEpath.cc 中写什么?
maybe it is unusual but at all I have problem in working with omnet++ and inet manual. I couldn't find out which attribute and parameter of a class should I change? !
广告。 2.可以用BonnMotionMobility
。 INET Framework 4.0 User's Guide as well as in INET API Reference 中对此进行了解释。它需要一个包含多个值的文件:时间、x 和 y,由 space 分隔。您可以在 INET
的 examples
目录中找到此文件的示例,例如:examples\mobility\bonnmotion_small.movements
.
要使用这种移动方式,您应该在 omnetpp.ini
中设置如下内容:
**.mobileHost*.mobility.typename = "BonnMotionMobility"
**.mobileHost*.mobility.traceFile = "your_trace_file"
此外,您应该删除这一行:
mobilityType = "MassMobility";
根据您的 MEpath
定义(因为这样是 hardcoded,无法通过 omnetpp.ini
控制)。
MEpath
的定义是正确的。它需要 *.h
和 *.cc
文件,其中包含 MEpath
C++ class 的 declaration and definition。