Subversion Repositories programming

Rev

Rev 391 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 391 Rev 392
Line 43... Line 43...
43
		"""Add a vertex to the graph"""
43
		"""Add a vertex to the graph"""
44
		if self.has_vertex (label):
44
		if self.has_vertex (label):
45
			raise ValueError
45
			raise ValueError
46
 
46
 
47
		# Create vertex and set the value
47
		# Create vertex and set the value
48
		self.set_vertex_value (label, data)
48
		self.vertices[label] = Vertex(label, data)
49
 
49
 
50
	def add_edge (self, v1, v2, color='black', label=''):
50
	def add_edge (self, v1, v2, color='black', label=''):
51
		"""Add an edge from v1 to v2 (undirected)"""
51
		"""Add an edge from v1 to v2 (undirected)"""
52
 
52
 
53
		key = self.__get_key (v1, v2)
53
		key = self.__get_key (v1, v2)
Line 88... Line 88...
88
 
88
 
89
		return list(children)
89
		return list(children)
90
 
90
 
91
	def set_vertex_value (self, v, value):
91
	def set_vertex_value (self, v, value):
92
		"""Store some data at a vertex"""
92
		"""Store some data at a vertex"""
-
 
93
		if not self.has_vertex (v):
-
 
94
			raise ValueError
-
 
95
 
93
		self.vertices[v] = Vertex(str(v), value)
96
		self.vertices[v].value = value
94
 
97
 
95
	def get_vertex_value (self, v):
98
	def get_vertex_value (self, v):
96
		"""Get the data at a vertex"""
99
		"""Get the data at a vertex"""
-
 
100
		if not self.has_vertex (v):
-
 
101
			raise ValueError
-
 
102
 
97
		return self.vertices[v].value
103
		return self.vertices[v].value
98
 
104
 
99
	def set_vertex_shape (self, v, shape):
105
	def set_vertex_shape (self, v, shape):
-
 
106
		if not self.has_vertex (v):
-
 
107
			raise ValueError
-
 
108
 
100
		self.vertices[v].shape = shape
109
		self.vertices[v].shape = shape
101
		
110
		
102
	def get_vertex_shape (self, v):
111
	def get_vertex_shape (self, v):
-
 
112
		if not self.has_vertex (v):
-
 
113
			raise ValueError
-
 
114
 
103
		return self.vertices[v].shape
115
		return self.vertices[v].shape
104
 
116
 
105
	def set_edge_color (self, v1, v2, color):
117
	def set_edge_color (self, v1, v2, color):
106
		if not self.has_edge (v1, v2):
118
		if not self.has_edge (v1, v2):
107
			raise ValueError
119
			raise ValueError