See

<project-file type=“source”/> <content> #ifndef NODE_H #define NODE_H

#include <simemindividual.h> #include <vector> #include <link.h>

class Node : public SimEMIndividual { public:

Node(SimID nodeid, bool has_immunity);
virtual ~Node();

unsigned int degree() const { return Links.size(); }

bool isNeighbor(Node *n) const;

Node *neighbor(unsigned int i) { 
	return (i >= Links.size())? NULL : Links[i]->neighbor(); 
}
const Node *neighbor(unsigned int i) const { 
	return (i >= Links.size())? NULL : Links[i]->neighbor(); 
}

void link(Node *n, float current_time, double contact_rate);
void unlink(Node *n);
  virtual void infectionStateChanged(float CurrentTime, SimInfectionState *State);
  void reset();
  
  bool infected() const { return Infected; }
  void checkLink(Node*, float current_time);

protected:

std::vector<Link*> Links;
bool Infected;

};

#endif </content> <use name=“link.h”/> <use name=“simemindividual.h”/>