如何向mobile-node.h添加新变量

时间:2015-11-13 08:36:33

标签: simulation sensor wireless ns2

我想在Ns2中向移动节点类添加变量;该变量在TCL中获得初始值。

对于每个移动节点,我们为此变量分配一个特殊值。如何将此变量添加到移动节点类?

1 个答案:

答案 0 :(得分:0)

  1. 转到您的ns2目录,然后先打开mobilenode.h 例如,如果您有ns-2.35,请转到 ns-allinone-2.35/ns-2.35/common/并从此处打开。

  2. 找到说明:

    的行

    class MobileNode : public Node

  3. 并转到可能看起来像public:的{​​{1}}的最后一行,并在此处添加您的变量。
    示例:

    MobileNode* prevX_;
    1. 现在为了给它们一个初始值,你可以打开文件 /* For list-keeper */ MobileNode* nextX_; MobileNode* prevX_; // My variables int32_t NodeQueue; protected: 并使mobilenode.cc类的构造函数更好,看起来像mobilenode并简单地给你的变量一个初始值...
      示例:

      / * ============================================= =========================    移动节点    ================================================== ==================== * /

    2. 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并点击“输入”。