/** * Gets an array of node nabors of the specified node. * @param node the node for which to get nabors. * @return the array of nabors. */ public synchronized Node[] getNodeNabors(Node node) { NodeList nabors = new NodeList(); getNodeNabors(node,nabors); return nabors.trim(); }
/** * Appends the node nabors of the specified node to the specified list. * @param node the node for which to get nabors. * @param nabors the list to which nabors are appended. */ public synchronized void getNodeNabors(Node node, NodeList nabors) { clearNodeMarks(); clearTriMarks(); getNodeNabors(node,node._tri,nabors); }
getNodeNabors(node,step,list); for (int inabor=nnabor1; inabor<nnabor2; ++inabor) { node = naborNodes[inabor]; getNodeNabors(node,step,list);
getNodeNabors(node,t1,nabors); if (t2!=null && !isMarked(t2)) getNodeNabors(node,t2,nabors); } else if (node==n1) { if (!isMarked(n2)) { getNodeNabors(node,t2,nabors); if (t0!=null && !isMarked(t0)) getNodeNabors(node,t0,nabors); } else if (node==n2) { if (!isMarked(n0)) { getNodeNabors(node,t0,nabors); if (t1!=null && !isMarked(t1)) getNodeNabors(node,t1,nabors); } else { assert false:"node is referenced by tri";
public void testNabors() { TriMesh tm = new TriMesh(); TriMesh.Node n0 = new TriMesh.Node(1.0f,0.0f); TriMesh.Node n1 = new TriMesh.Node(0.0f,1.0f); TriMesh.Node n2 = new TriMesh.Node(0.0f,0.0f); TriMesh.Node n3 = new TriMesh.Node(1.1f,1.1f); tm.addNode(n0); tm.addNode(n1); tm.addNode(n2); tm.addNode(n3); assertEquals(2,tm.getTriNabors(n0).length); assertEquals(2,tm.getTriNabors(n1).length); assertEquals(1,tm.getTriNabors(n2).length); assertEquals(1,tm.getTriNabors(n3).length); assertEquals(2,tm.getTriNabors(tm.findEdge(n0,n1)).length); assertEquals(1,tm.getTriNabors(tm.findEdge(n0,n2)).length); assertEquals(1,tm.getTriNabors(tm.findEdge(n1,n2)).length); assertEquals(1,tm.getTriNabors(tm.findEdge(n0,n3)).length); assertEquals(1,tm.getTriNabors(tm.findEdge(n1,n3)).length); assertEquals(3,tm.getEdgeNabors(n0).length); assertEquals(3,tm.getEdgeNabors(n1).length); assertEquals(2,tm.getEdgeNabors(n2).length); assertEquals(2,tm.getEdgeNabors(n3).length); assertEquals(3,tm.getNodeNabors(n0).length); assertEquals(3,tm.getNodeNabors(n1).length); assertEquals(2,tm.getNodeNabors(n2).length); assertEquals(2,tm.getNodeNabors(n3).length); }