我想在Ns2中向移动节点类添加变量;该变量在TCL中获得初始值。
对于每个移动节点,我们为此变量分配一个特殊值。如何将此变量添加到移动节点类?
答案 0 :(得分:0)
转到您的ns2目录,然后先打开mobilenode.h
例如,如果您有ns-2.35,请转到
ns-allinone-2.35/ns-2.35/common/
并从此处打开。
找到说明:
的行 class MobileNode : public Node
并转到可能看起来像public:
的{{1}}的最后一行,并在此处添加您的变量。
示例:
MobileNode* prevX_;
现在为了给它们一个初始值,你可以打开文件 /* For list-keeper */
MobileNode* nextX_;
MobileNode* prevX_;
// My variables
int32_t NodeQueue;
protected:
并使mobilenode.cc
类的构造函数更好,看起来像mobilenode
并简单地给你的变量一个初始值...
示例:
/ * ============================================= ========================= 移动节点 ================================================== ==================== * /
MobileNode::MobileNode(void) :
MobileNode::MobileNode(void) :
pos_handle_(this)
{
X_ = Y_ = Z_ = speed_ = 0.0;
dX_ = dY_ = dZ_ = 0.0;
destX_ = destY_ = 0.0;
然后您需要在终端的ns2目录中 random_motion_ = 0;
base_stn_ = -1;
T_ = 0;
log_target_ = 0;
next_ = 0;
radius_ = 0;
position_update_interval_ = MN_POSITION_UPDATE_INTERVAL;
position_update_time_ = 0.0;
LIST_INSERT_HEAD(&nodehead, this, link_); // node list
LIST_INIT(&ifhead_); // interface list
bind("X_", &X_);
bind("Y_", &Y_);
bind("Z_", &Z_);
bind("speed_", &speed_);
NodeQueue = 0; // Initial value
}
并输入cd
并点击“输入”。