Method: PEROBS::SpaceTreeNode#relink_parent

Defined in:
lib/perobs/SpaceTreeNode.rb

Replace the link in the parent node of the current node that points to the current node with the given node.

Parameters:



382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
# File 'lib/perobs/SpaceTreeNode.rb', line 382

def relink_parent(node)
  if @parent
    if @parent.smaller == self
      @parent.set_link('@smaller', node)
    elsif @parent.equal == self
      @parent.set_link('@equal', node)
    elsif @parent.larger == self
      @parent.set_link('@larger', node)
    else
      PEROBS.log.fatal "Cannot relink unknown child node with address " +
        "#{node.node_address} from #{parent.to_s}"
    end
  else
    if node
      @tree.set_root(node)
      node.parent = nil
    else
      set_size_and_address(0, 0)
    end
  end
end