MCPcopy Create free account
hub / github.com/Smorodov/Multitarget-tracker / del_node

Method del_node

src/Tracker/graph/GTL/src/graph.cpp:254–305  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

252//--------------------------------------------------------------------------
253
254void graph::del_node(GTL::node n)
255{
256 assert (n.data);
257 assert (n.data->owner == this);
258
259 // delete edges
260
261 while(n.in_edges_begin() != n.in_edges_end())
262 {
263 del_edge (*n.in_edges_begin());
264 }
265
266 while(n.out_edges_begin() != n.out_edges_end())
267 {
268 del_edge (*n.out_edges_begin());
269 }
270
271 //
272 // delete hidden edges adjacent to n.
273 //
274 // [ TODO ] This is only a quick fix and should be thought
275 // over some time or the other.
276 //
277
278 edges_t::iterator it = hidden_edges.begin();
279 edges_t::iterator end = hidden_edges.end();
280
281 while (it != end)
282 {
283 if (it->source() == n || it->target() == n)
284 {
285 delete it->data;
286 it = hidden_edges.erase (it);
287 }
288 else
289 {
290 ++it;
291 }
292 }
293
294 // delete node
295
296 pre_del_node_handler(n);
297
298 nodes.erase(n.data->pos);
299 --nodes_count;
300 free_node_ids.push_back(n.data->id);
301 ++free_node_ids_count;
302 delete n.data;
303
304 post_del_node_handler();
305}
306
307void graph::del_edge(GTL::edge e)
308{

Callers 5

runMethod · 0.80
mainFunction · 0.80
restore_graphMethod · 0.80
restore_graphMethod · 0.80
restore_graphMethod · 0.80

Calls 12

pre_del_node_handlerFunction · 0.85
post_del_node_handlerFunction · 0.85
in_edges_beginMethod · 0.80
in_edges_endMethod · 0.80
out_edges_beginMethod · 0.80
out_edges_endMethod · 0.80
beginMethod · 0.80
endMethod · 0.80
eraseMethod · 0.80
sourceMethod · 0.45
targetMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected