float y = random.nextFloat(); float z = random.nextFloat(); TetMesh.Node node = new TetMesh.Node(x,y,z); tm.addNode(node);
public void testAddFindRemove() { java.util.Random random = new java.util.Random(); TetMesh tm = new TetMesh(); //int nadd = 0; //int nremove = 0; for (int niter=0; niter<1000; ++niter) { float x = random.nextFloat(); float y = random.nextFloat(); float z = random.nextFloat(); if (tm.countNodes()<10 || random.nextFloat()>0.5f) { TetMesh.Node node = new TetMesh.Node(x,y,z); boolean ok = tm.addNode(node); assertTrue(ok); tm.validate(); //++nadd; } else if (tm.countNodes()>0) { TetMesh.Node node = tm.findNodeNearest(x,y,z); assertTrue(node!=null); TetMesh.Node nodeSlow = tm.findNodeNearestSlow(x,y,z); assertTrue(node==nodeSlow); tm.removeNode(node); tm.validate(); //++nremove; } } //System.out.println("Nodes added/removed = "+nadd+"/"+nremove); }
float y = random.nextFloat(); float z = random.nextFloat(); TetMesh.Node node = new TetMesh.Node(x,y,z); tm.addNode(node);
public void testFinds() { TetMesh tm = new TetMesh(); TetMesh.Node n0 = new TetMesh.Node(0.0f,0.0f,0.0f); TetMesh.Node n1 = new TetMesh.Node(1.0f,0.0f,0.0f); TetMesh.Node n2 = new TetMesh.Node(0.0f,1.0f,0.0f); TetMesh.Node n3 = new TetMesh.Node(0.0f,0.0f,1.0f); TetMesh.Node n4 = new TetMesh.Node(9.0f,9.0f,9.0f); tm.addNode(n0); tm.addNode(n1);
public void testIO() throws IOException,ClassNotFoundException { TetMesh.Node n000 = new TetMesh.Node(0.0f,0.0f,0.0f); TetMesh.Node n001 = new TetMesh.Node(0.0f,0.0f,1.0f); TetMesh.Node n010 = new TetMesh.Node(0.0f,1.0f,0.0f); TetMesh.Node n011 = new TetMesh.Node(0.0f,1.0f,1.0f); TetMesh.Node n100 = new TetMesh.Node(1.0f,0.0f,0.0f); TetMesh.Node n101 = new TetMesh.Node(1.0f,0.0f,1.0f); TetMesh.Node n110 = new TetMesh.Node(1.0f,1.0f,0.0f); TetMesh.Node n111 = new TetMesh.Node(1.0f,1.0f,1.0f); TetMesh tm = new TetMesh(); tm.addNode(n000);
public void testNabors() { TetMesh tm = new TetMesh(); TetMesh.Node n0 = new TetMesh.Node(1.0f,0.0f,0.0f); TetMesh.Node n1 = new TetMesh.Node(0.0f,1.0f,0.0f); TetMesh.Node n2 = new TetMesh.Node(0.0f,0.0f,1.0f); TetMesh.Node n3 = new TetMesh.Node(0.0f,0.0f,0.0f); TetMesh.Node n4 = new TetMesh.Node(1.1f,1.1f,1.1f); tm.addNode(n0); tm.addNode(n1);
TetMesh.PointLocation pl = _mesh.locatePoint(xg,yg,zg); if (pl.isOutside()) { TetMesh.Node n = new TetMesh.Node(xg,yg,zg); n.index = -1-ig; // ghost nodes have negative indices _mesh.addNode(n);
TetMesh.Node node = new TetMesh.Node(x1i,x2i,x3i); boolean added = _mesh.addNode(node); Check.argument(added,"each sample has unique coordinates");
public void testCube() { TetMesh tm = new TetMesh(); TetMesh.Node n0 = new TetMesh.Node(0.0f,0.0f,0.0f); TetMesh.Node n1 = new TetMesh.Node(1.0f,0.0f,0.0f); TetMesh.Node n2 = new TetMesh.Node(0.0f,1.0f,0.0f); TetMesh.Node n3 = new TetMesh.Node(0.0f,0.0f,1.0f); TetMesh.Node n4 = new TetMesh.Node(1.0f,1.0f,0.0f); TetMesh.Node n5 = new TetMesh.Node(1.0f,0.0f,1.0f); TetMesh.Node n6 = new TetMesh.Node(0.0f,1.0f,1.0f); TetMesh.Node n7 = new TetMesh.Node(1.0f,1.0f,1.0f); tm.addNode(n0); tm.addNode(n1); tm.addNode(n2); tm.addNode(n3); tm.addNode(n4); tm.addNode(n5); tm.addNode(n6); tm.addNode(n7); tm.removeNode(n7); tm.removeNode(n6); tm.removeNode(n5); tm.removeNode(n4); tm.removeNode(n3); tm.removeNode(n2); tm.removeNode(n1); tm.removeNode(n0); tm.validate(); }
public void testLine() { TetMesh tm = new TetMesh(); int n = 100; for (int i=0; i<n; ++i) { float x = (float)i; float y = 3.14f; float z = 4.13f; TetMesh.Node node = new TetMesh.Node(x,y,z); tm.addNode(node); } tm.validate(); for (int i=0; i<n; ++i) { float x = (float)i; float y = 3.14f; float z = 4.13f; TetMesh.Node node = tm.findNodeNearest(x,y,z); tm.removeNode(node); } tm.validate(); }
public void testTetListener() { TetMesh tm = new TetMesh(); tm.addNode(new TetMesh.Node(0.0f,0.0f,0.0f)); tm.addNode(new TetMesh.Node(1.0f,0.0f,0.0f)); tm.addNode(new TetMesh.Node(0.0f,1.0f,0.0f)); tm.addNode(new TetMesh.Node(0.0f,0.0f,1.0f)); TetListener tl = new TetListener(); tm.addTetListener(tl); TetMesh.Node node = new TetMesh.Node(0.1f,0.1f,0.1f); tm.addNode(node); assertEquals(4,tl.countAdded()); assertEquals(1,tl.countRemoved()); tm.removeNode(node); assertEquals(5,tl.countAdded()); assertEquals(5,tl.countRemoved()); } private static class TetListener implements TetMesh.TetListener {
public void testSimple() { TetMesh tm = new TetMesh(); TetMesh.Node n0 = new TetMesh.Node(1.0f,0.0f,0.0f); TetMesh.Node n1 = new TetMesh.Node(0.0f,1.0f,0.0f); TetMesh.Node n2 = new TetMesh.Node(0.0f,0.0f,1.0f); TetMesh.Node n3 = new TetMesh.Node(0.0f,0.0f,0.0f); TetMesh.Node n4 = new TetMesh.Node(0.9f,0.9f,0.9f); tm.addNode(n0); tm.addNode(n1); tm.addNode(n2); tm.addNode(n3); tm.addNode(n4); tm.removeNode(n4); tm.validate(); }
private void addGhostNodes(float[] x, float[] y, float[] z) { int ng = x.length; for (int ig=0; ig<ng; ++ig) { float xg = x[ig]; float yg = y[ig]; float zg = z[ig]; TetMesh.PointLocation pl = _mesh.locatePoint(xg,yg,zg); if (pl.isOutside()) { TetMesh.Node n = new TetMesh.Node(xg,yg,zg); n.data = new NodeData(); n.index = -1-ig; // ghost nodes have negative indices _mesh.addNode(n); } } }
public void setScattered(float[] f, float[] x1, float[] x2, float[] x3) { _f = copy(f); _mesh = new TetMesh(); int n = f.length; for (int i=0; i<n; ++i) { TetMesh.Node node = new TetMesh.Node(x1[i],x2[i],x3[i]); node.index = i; boolean added = _mesh.addNode(node); Check.argument(added,"samples have unique coordinates (x1,x2,x3)"); } }
/** * Constructs a node with specified coordinates. * @param x the x coordinate. * @param y the y coordinate. * @param z the z coordinate. */ public Node(float x, float y, float z) { _meshNode = new TetMesh.Node(x,y,z); _meshNode.data = this; }