org.matsim.core.utils.collections.QuadTree.remove()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(3.1k)|赞(0)|评价(0)|浏览(89)

本文整理了Java中org.matsim.core.utils.collections.QuadTree.remove方法的一些代码示例,展示了QuadTree.remove的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QuadTree.remove方法的具体详情如下:
包路径:org.matsim.core.utils.collections.QuadTree
类名称:QuadTree
方法名:remove

QuadTree.remove介绍

[英]Removes the specified object from the specified location.
[中]从指定位置移除指定对象。

代码示例

代码示例来源:origin: matsim-org/matsim

@Override
public Node removeNode(final Id<Node> nodeId) {
  Node n = this.nodes.remove(nodeId);
  if (n == null) {
    return null;
  }
  HashSet<Link> links1 = new HashSet<>();
  links1.addAll(n.getInLinks().values());
  links1.addAll(n.getOutLinks().values());
  for (Link l : links1) {
    removeLink(l.getId());
  }
  if (this.nodeQuadTree != null) {
    this.nodeQuadTree.remove(n.getCoord().getX(),n.getCoord().getY(),n);
  }
  return n;
}

代码示例来源:origin: matsim-org/matsim

int size = qt.size();
assertTrue(qt.remove(10.0, 10.0, "10.0, 10.0"));
assertEquals(size-1, qt.size());
assertFalse(qt.remove(10.0, 10.0, "10.0, 10.0"));
assertEquals(size-1, qt.size());
assertFalse(qt.remove(14.9, 14.9, "15.0, 15.0"));
assertEquals(size-1, qt.size());
assertTrue(qt.remove(15.0, 15.0, "15.0, 15.0"));
assertEquals(size-2, qt.size());
assertEquals("15.0, 15.0 B", qt.getClosest(15.0, 15.0)); // the other object should still be there...
assertTrue(qt.remove(15.0, 15.0, "15.0, 15.0 B"));
assertEquals(size-1, qt.size());
assertEquals("15.0, 15.0", qt.getClosest(15.0, 15.0)); // the other object should still be there...
assertFalse(qt.remove(10.0, 10.0, "10.0, 10.0 B"));
assertEquals(size-1, qt.size());

代码示例来源:origin: matsim-org/matsim

/**
 * Test {@link QuadTree#values()} that it returns the correct content.
 */
@Test
public void testValues() {
  QuadTree<String> qt = getTestTree();
  int size = qt.size();
  assertEquals(6, size);
  // generic test
  valuesTester(qt.size(), qt.values());
  // test that values() got updated after adding an object to the tree
  qt.put(80.0, 80.0, "80.0, 80.0");
  assertEquals(size + 1, qt.size());
  valuesTester(qt.size(), qt.values());
  // test that values() got updated after removing an object to the tree
  assertTrue(qt.remove(80.0, 80.0, "80.0, 80.0"));
  assertEquals(size, qt.size());
  valuesTester(qt.size(), qt.values());
  // and remove one more...
  assertTrue(qt.remove(10.0, 10.0, "10.0, 10.0"));
  assertEquals(size - 1, qt.size());
  valuesTester(qt.size(), qt.values());
  // test the iterator
  Iterator<String> iter = qt.values().iterator();
  iter.next();
  try {
    iter.remove();
    fail("expected UnsupportedOperationException, got none.");
  } catch (UnsupportedOperationException expected) {}
}

代码示例来源:origin: matsim-org/matsim

/**
 * Tests that a once obtained values-collection is indeed a live view
 * on the QuadTree, so when the QuadTree changes, the view is updated
 * as well.
 */
@Test
public void testValues_isView() {
  QuadTree<String> qt = getTestTree();
  int size = qt.size();
  Collection<String> values = qt.values();
  valuesTester(qt.size(), values);
  qt.put(80.0, 80.0, "80.0, 80.0");
  assertEquals(size + 1, qt.size());
  valuesTester(size + 1, values);
  qt.put(75.0, 75.0, "75.0, 75.0");
  assertEquals(size + 2, qt.size());
  valuesTester(size + 2, values);
  assertTrue(qt.remove(80.0, 80.0, "80.0, 80.0"));
  assertEquals(size + 1, qt.size());
  valuesTester(size + 1, values);
}

相关文章