Changeset d5ab42


Ignore:
Timestamp:
08/15/11 21:34:58 (21 months ago)
Author:
Tiago de Paula Peixoto <tiago@…>
Branches:
master, python3
Children:
ef9ad9
Parents:
49f2ec
git-author:
Tiago de Paula Peixoto <tiago@…> (08/15/11 21:34:58)
git-committer:
Tiago de Paula Peixoto <tiago@…> (08/15/11 21:34:58)
Message:
Fix behaviour of new vertices or edges in filtered graphs

Newly added vertices or edges in filtered graphs now automatically
appear in them.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/graph_tool/__init__.py

    r49f2ec rd5ab42  
    962962        vertices are inserted and a list is returned.""" 
    963963        self.__check_perms("add_vertex") 
    964         vlist = [libcore.add_vertex(weakref.ref(self.__graph)) \ 
    965                  for i in xrange(0, n)] 
     964        vlist = [] 
     965        vfilt = self.get_vertex_filter() 
     966        for i in xrange(n): 
     967            v = libcore.add_vertex(weakref.ref(self.__graph)) 
     968            if vfilt[0] is not None: 
     969                vfilt[0][v] = not vfilt[1] 
     970            vlist.append(v) 
    966971        if n == 1: 
    967972            return vlist[0] 
     
    9991004        it.""" 
    10001005        self.__check_perms("add_edge") 
    1001         return libcore.add_edge(weakref.ref(self.__graph), source, target) 
     1006        e = libcore.add_edge(weakref.ref(self.__graph), source, target) 
     1007        efilt = self.get_edge_filter() 
     1008        if efilt[0] is not None: 
     1009            efilt[0][e] = not efilt[1] 
     1010        return e 
    10021011 
    10031012    def remove_edge(self, edge): 
Note: See TracChangeset for help on using the changeset viewer.