class <NetworkModel/Auto> AutoNetModel : public NetModel


Inheritance:


Public Fields

static int AUTO_ITERATIONS_
static int INCR_ITERATIONS_
static double INIT_TEMP_
follow Elan's
static double MAXX_
static double MAXY_
static double MINX_
static double MINY_
static int RANDOM_SEED_
static int recalc_

Public Methods

AutoNetModel(const char *animator)
void handle(const TraceEvent& e, double now, int direction)
static double max(double a, double b)
static double min(double a, double b)
virtual void recalc()
virtual ~AutoNetModel()

Protected Methods

double ATT(double d, double k)
attractive and repulsive forces
double ATT2(double d, double k)
void bifucate_graph()
int command(int argc, const char*const* argv)
we need our own 'cmd layout'
void cool()
virtual void embed_phase1()
virtual void embed_phase2()
void initEmbedding()
void layout()
int mark_to_depth(Node *n, int depth)
void place_subtrees()
void placeAllAgents(Node *src)
virtual void placeEverything()
void relayout()
double REP(double d, double k)
void reset_layout()
virtual void scale_estimate()
void weigh_subtrees()

Private Fields

int iterations_
double kc_
double kca_
double kcr_
int nNodes_
double optk_
k used in computing att/rep forces
double optka_
double optkr_
double temp_

Inherited from NetModel:

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(Monitor *m)
void delete_monitor(int monnum)
void delete_monitor(Animation *a)
void delete_tag(const char *tn)
int deleteTagCmd(char *tagName, char *tagDel)
Animation* findClosest(float dx, float dy, double halo)
Animation* inside(float px, float py)
Tag* lookupTag(const char *tn)
int monitor(double now, int monitor, char *result, int len)
virtual void moveNode(Node *n)
Packet* newPacket(PacketAttr &pkt, Edge *e, double time)
inline double now()
void remove_view(View *v)
virtual void render(EditView*, BBox &bb)
void render(TestView*)
void render(PSView*)
void render(View*)
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)
void tagObject(Tag *tag, Animation *)
virtual void update(double)
void update(double, Animation*)

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_
EdgeHashNode* hashtab_[EDGE_HASH_SIZE]
int hideDst_
int hideFid_
int hideSrc_
char hideTraffic_[PTYPELEN]
Lan* lans_
int mon_count_
Monitor* monitors_
int nclass_
int nGroup_
Node* nodes_
double now_
int nTag_
double nymin_
Tcl_HashTable* objnameHash_
int* oldpaint_
int* paint_
int paintMask_
Queue* queues_
int resetf_
int selectedColor_
int selectedDst_
int selectedFid_
int selectedSrc_
char selectedTraffic_[PTYPELEN]
int showData_
int showMac_
int showRouting_
Tcl_HashTable* tagHash_
View* views_
int wireless_
double wirelessNodeSize_

Protected Methods

int add_group(Group *grp)
int addAddress(int id, int addr)
int addr2id(int addr)
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)
int registerObjName(const char*, int)
void removeEdge(Edge* e)
void removeNode(Node *n)
void saveState(double)
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

AutoNetModel(const char *animator)

virtual ~AutoNetModel()

static int RANDOM_SEED_

static int AUTO_ITERATIONS_

static int INCR_ITERATIONS_

static int recalc_

static double INIT_TEMP_
follow Elan's

static double MINX_

static double MAXX_

static double MINY_

static double MAXY_

static double min(double a, double b)

static double max(double a, double b)

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

virtual void recalc()

void reset_layout()

void layout()

void relayout()

virtual void embed_phase1()

virtual void embed_phase2()

virtual void scale_estimate()

virtual void placeEverything()

void placeAllAgents(Node *src)

void weigh_subtrees()

void place_subtrees()

void bifucate_graph()

int mark_to_depth(Node *n, int depth)

double ATT(double d, double k)
attractive and repulsive forces

double ATT2(double d, double k)

double REP(double d, double k)

void cool()

void initEmbedding()

int command(int argc, const char*const* argv)
we need our own 'cmd layout'

int iterations_

int nNodes_

double optk_
k used in computing att/rep forces

double optka_

double optkr_

double temp_

double kc_

double kca_

double kcr_


This class has no child classes.

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