class <NetworkModel> NetModel : public TraceHandler

The underlying model for a NetView

Inheritance:


Public Methods

void add_drop(const TraceEvent &, double now, int direction)
int add_monitor(Animation *a)
int add_tag(Tag *tag)
void addView(NetView*)
virtual void BoundingBox(BBox&)
void check_monitors(Animation *a)
void color_subtrees()
void delete_monitor(Animation *a)
void delete_monitor(Monitor *m)
void delete_monitor(int monnum)
void delete_tag(const char *tn)
int deleteTagCmd(char *tagName, char *tagDel)
Animation* findClosest(float dx, float dy, double halo)
void handle(const TraceEvent&, double now, int direction)
Animation* inside(float px, float py)
Animation* inside(double now, float px, float py) const;
Tag* lookupTag(const char *tn)
int monitor(double now, int monitor, char *result, int len)
virtual void moveNode(Node *n)
If editing is enabled, these functions must be public
NetModel(const char *animator)
Packet* newPacket(PacketAttr &pkt, Edge *e, double time)
inline double now()
virtual void recalc()
void remove_view(View *v)
virtual void render(EditView*, BBox &bb)
Only redraw the part within a rectangle. Follows Tk_CanvasEventuallyRedraw
void render(View*)
void render(TestView*)
void render(PSView*)
void reset(double)
int save_layout(const char *filename)
void selectPkt(int, int, int )
void set_wireless()
int tagArea(BBox &bb, Tag *tag, int bEnclosed)
int tagCmd(View *v, int argc, char **argv, char *newTag, char *cmdName)
Tagging methods
void tagObject(Tag *tag, Animation *)
virtual void update(double)
TraceHandler hooks
void update(double, Animation*)
virtual ~NetModel()

Protected Classes

struct EdgeHashNode
EdgeHashNode* next
int src
int dst
Edge* edge
Queue* queue

Protected Fields

Tcl_HashTable* addrHash_
Animation* animations_
int colorDst_
int colorFid_
int colorSrc_
char colorTraffic_[PTYPELEN]
Animation* drawables_
Tcl_HashTable* grpHash_
Map group address to group id
EdgeHashNode* hashtab_[EDGE_HASH_SIZE]
int hideDst_
int hideFid_
int hideSrc_
char hideTraffic_[PTYPELEN]
Lan* lans_
int mon_count_
Monitor* monitors_
int nclass_
no. of classes (colors)
int nGroup_
Node* nodes_
double now_
int nTag_
double nymin_
XXX
Tcl_HashTable* objnameHash_
Map object class name to class id
int* oldpaint_
int* paint_
int paintMask_
Mask to convert flow id to color id
Queue* queues_
int resetf_
int selectedColor_
int selectedDst_
int selectedFid_
int selectedSrc_
char selectedTraffic_[PTYPELEN]
selected filter value
int showData_
int showMac_
int showRouting_
Tcl_HashTable* tagHash_
Map tag name (string) to tag id
View* views_
int wireless_
in a wireless network ?
double wirelessNodeSize_

Protected Methods

int add_group(Group *grp)
int addAddress(int id, int addr)
int addr2id(int addr)
int command(int argc, const char*const* argv)
inline int ehash(int src, int dst)
void enterEdge(Edge* e)
Agent* lookupAgent(int id)
EdgeHashNode* lookupEdge(int, int)
Group* lookupGroup(unsigned int addr)
Lan* lookupLan(int nn)
Node* lookupNode(int nn)
int lookupObjname(const char *)
Packet* lookupPacket(int src, int dst, int id)
Animation* lookupTagOrID(const char *)
void move(double& x, double& y, double angle, double d)
virtual void placeAgent(Agent* a, Node* src)
virtual void placeEdge(Edge* e, Node* src)
void placeEdgeByAngle(Edge* e, Node* src)
virtual void placeEverything()
int registerObjName(const char*, int)
void removeEdge(Edge* e)
void removeNode(Node *n)
void saveState(double)
virtual void scale_estimate()
int traverse(Node* n)

Protected

#define EDGE_HASH_SIZE
struct EdgeHashNode
EdgeHashNode* next
int src
int dst
Edge* edge
Queue* queue

Inherited from TraceHandler:

Public Methods

inline NetworkAnimator* nam()

Protected Fields

NetworkAnimator* nam_

Documentation

The underlying model for a NetView. We factor this state out of the NetView since we might have multiple displays of the same network (i.e., zoomed windows), as opposed to multiple interpretations (i.e, strip charts).
NetModel(const char *animator)

virtual ~NetModel()

void render(View*)

void render(PSView*)

void render(TestView*)

void update(double, Animation*)

virtual void render(EditView*, BBox &bb)
Only redraw the part within a rectangle. Follows Tk_CanvasEventuallyRedraw

virtual void update(double)
TraceHandler hooks

void reset(double)

void handle(const TraceEvent&, double now, int direction)

virtual void BoundingBox(BBox&)

void addView(NetView*)

Animation* inside(float px, float py)
Animation* inside(double now, float px, float py) const;

int add_monitor(Animation *a)

void delete_monitor(Monitor *m)

void delete_monitor(Animation *a)

void delete_monitor(int monnum)

void check_monitors(Animation *a)

int monitor(double now, int monitor, char *result, int len)

Packet* newPacket(PacketAttr &pkt, Edge *e, double time)

void color_subtrees()

void set_wireless()

void selectPkt(int, int, int )

int save_layout(const char *filename)

int tagCmd(View *v, int argc, char **argv, char *newTag, char *cmdName)
Tagging methods

Animation* findClosest(float dx, float dy, double halo)

void tagObject(Tag *tag, Animation *)

int tagArea(BBox &bb, Tag *tag, int bEnclosed)

int deleteTagCmd(char *tagName, char *tagDel)

int add_tag(Tag *tag)

void delete_tag(const char *tn)

Tag* lookupTag(const char *tn)

inline double now()

virtual void moveNode(Node *n)
If editing is enabled, these functions must be public

virtual void recalc()

void remove_view(View *v)

void add_drop(const TraceEvent &, double now, int direction)

virtual void scale_estimate()

int traverse(Node* n)

void move(double& x, double& y, double angle, double d)

virtual void placeEverything()

void placeEdgeByAngle(Edge* e, Node* src)

virtual void placeEdge(Edge* e, Node* src)

virtual void placeAgent(Agent* a, Node* src)

int addr2id(int addr)

int addAddress(int id, int addr)

Node* lookupNode(int nn)

void removeNode(Node *n)

Agent* lookupAgent(int id)

Lan* lookupLan(int nn)

Packet* lookupPacket(int src, int dst, int id)

int command(int argc, const char*const* argv)

#define EDGE_HASH_SIZE

inline int ehash(int src, int dst)

struct EdgeHashNode

EdgeHashNode* next

int src

int dst

Edge* edge

Queue* queue

EdgeHashNode* lookupEdge(int, int)

Tcl_HashTable* addrHash_

void enterEdge(Edge* e)

void removeEdge(Edge* e)

void saveState(double)

Animation* drawables_

Animation* animations_

Queue* queues_

View* views_

Node* nodes_

Lan* lans_

double now_

double wirelessNodeSize_

double nymin_
XXX

int mon_count_

Monitor* monitors_

EdgeHashNode* hashtab_[EDGE_HASH_SIZE]

int nclass_
no. of classes (colors)

int wireless_
in a wireless network ?

int resetf_

int* paint_

int* oldpaint_

int paintMask_
Mask to convert flow id to color id

char selectedTraffic_[PTYPELEN]
selected filter value

int selectedSrc_

int selectedDst_

int selectedFid_

char hideTraffic_[PTYPELEN]

int hideSrc_

int hideDst_

int hideFid_

char colorTraffic_[PTYPELEN]

int colorSrc_

int colorDst_

int colorFid_

int showData_

int showRouting_

int showMac_

int selectedColor_

Tcl_HashTable* grpHash_
Map group address to group id

int nGroup_

int add_group(Group *grp)

Group* lookupGroup(unsigned int addr)

Tcl_HashTable* tagHash_
Map tag name (string) to tag id

int nTag_

Tcl_HashTable* objnameHash_
Map object class name to class id

int registerObjName(const char*, int)

int lookupObjname(const char *)

Animation* lookupTagOrID(const char *)


Direct child classes:
WirelessNetModel
EditorNetModel
AutoNetModel

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

Adapted for the NS documentation page

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de