wnetmodel.h
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:1k
源码类别:

通讯编程

开发平台:

Visual C++

  1. /*
  2.  * Network model with wireless net layout
  3.  *
  4.  */
  5. #ifndef nam_wnetmodel_h
  6. #define nam_wnetmodel_h
  7. #include "netmodel.h"
  8. // The ratio of node radius and mean edge length in the topology
  9. class WirelessNetModel : public NetModel {
  10. public:
  11. WirelessNetModel(const char *animator);
  12. virtual ~WirelessNetModel();
  13. void handle(const TraceEvent& e, double now, int direction);
  14. void removeLink(const TraceEvent& e);
  15. void removeLink(int src, int dst );
  16. void BoundingBox(BBox&);
  17. virtual void moveNode(Node *n);
  18. inline WirelessNetModel* wobj() { return wobj_; }
  19. virtual void update(double);
  20.        
  21. void addToEdgePool(Edge*);
  22. Edge* removeFromEdgePool();
  23. protected:
  24. void layout();
  25. virtual void placeEdge(Edge* e, Node* src) const;
  26. WirelessNetModel *wobj_;
  27. // we need our own 'cmd layout'
  28. int command(int argc, const char*const* argv); 
  29. struct WEdgeList {
  30.        Edge* wEdge;
  31.        WEdgeList* next;
  32. };      
  33.  
  34. private:
  35. int nNodes_;
  36. double pxmax_;
  37. double  pymax_;
  38.         WEdgeList* edges_;
  39. };
  40. #endif // nam_wnetmodel_h