macros.h

来自「omnet++ 平台下的flood 我弄了好久」· C头文件 代码 · 共 94 行

H
94
字号
//macros availaable within a sensor node are defined here
/* * @name node ID
  * @ingroup group_macros
*/
//@{

/* * macro that returns a node's ID(value ranges from 0 to NNODES-1)
  * @hideinitializer
  */
//@}

#define ID (int)parentModule()->index()

#define KIND (int)(parentModule()->par("KIND"))

#define COLOR (int)(parentModule()->par("COLOR"))

#define UPDATECOLOR(color){
\parentModule()->par("COLOR")=color;\
char tempstring[30];\
sprintf(tempstring,"p=%d,%d,exact;i=snode_%d_%d",PX+MX,PY+MY,COLOR%MAXCOLOR,KIND%MAXKIND);\
parentModule()->setDisplayString(tempstring);
}

#define UPDAREKIND(kind){\
parentModule()->par("KIND")=kind;\
 char tempstring[30];\
  sprintf(tempstring,"p=%d,%d,exact;i=snode_%d_%d",PX+MX,PY+MY,COLOR%MAXCOLOR,KIND%MAXKIND);\
  parentModule()->setDisplayString(tempstring);
}


#define UPDATEGRAPHICS(color,kind){\
parentModule()->par("COLOR")=color;\
parentModule()->par("KIND")=kind;\
char tempstring[30];\
sprintf(tempstring,"p=%d,%d,exact;i=snode_%d_%d",PX+MX,PY+MY,COLOR%MAXCOLOR,KIND%MAXKIND);\
  parentModule()->setDisplayString(tempstring);

}

#define REFRESHIMAGE{\
char tempstring[30];\
sprintf(tempstring,"p=%d,%d,exact;i=snode_%d_%d",PX+MX,PY+MY,COLOR%MAXCOLOR,KIND%MAXKIND);\
  parentModule()->setDisplayString(tempstring);
}


#define PX (int)parentModule()->par("PX")

#define PY (int)parentModule()->par("PY")

#define SSTRENGTH (int)parentModule()->par("sstrength")

 

#define UPDATESSTRENGTH(sstrength){\};

#define NRJ *(double *)lookup("gv_energy")

#define NRJ_CONSUMED *(double *)lookup("gv_energyconsumed")


#define NRJ_CONSUME(nrj){
\
double energy=0.0,energyconsumed=0.0;\
  if(lookup("gv_energy")!=NULL)\
     energy=NRJ;\
   if(lookup("gv_energyconsumed")!=NULL)\
     energyconsumed=NRJ_CONSUMED;\
    publish("gv_energy",energy-nrj);\
  publish("gv_energyconsumed",energyconsumed+nrj);
}




#define NRJ_ADD(nrj){
publish("gv_energy",NRJ+nrj);
}


#define NRJ_LIFETIME(simtime_t)(simTime()*NRJ/NRJ_CONSUMED))










⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?