function e = make_edge
global all_edges;

ref = length(all_edges)+1;

e = [ref 1];

set_Onext(e,e);
set_SymDnext(e,Symet(e));
set_RotRnext(e,Tor(e));
set_TorLnext(e,Rot(e));
set_Mark(e,0);

set_Active(e);
%edge_ref make_edge(void)
%  {
%    edge_ref e;
%
%    e = (edge_ref) malloc(sizeof(edge_struct));
%    ONEXT(e) = e;
%    SYMDNEXT(e) = SYM(e);
%    ROTRNEXT(e) = TOR(e);
%    TORLNEXT(e) = ROT(e);
%    MARK(e) = 0;
%    return e;
%  }

