shape.render(mc);
shape.render(mc);
mc.assertCountsEqual(0, 0, seeThru);
// Only one point makes no lines
arr.add(new Vector3(0.0, 5.5, -12.5));
mc.reset();
shape.render(mc); // deferred to WireframeLines
mc.assertCountsEqual(1, 1, seeThru);
shape.render(mc);
shape.render(mc);
shape.render(mc);
mc.assertCountsEqual(4, 4, seeThru);
// Two points make one line
arr.add(new Vector3(7.0, 5.5, -12.5));
mc.reset();
shape.render(mc);
mc.assertCountsEqual(1, 2, seeThru);
shape.render(mc);
shape.render(mc);
shape.render(mc);
mc.assertCountsEqual(4, 8, seeThru);
// Three points make two lines
arr.add(new Vector3(7.0, 15.5, -12.5));
mc.reset();
shape.render(mc);
mc.assertCountsEqual(2, 4, seeThru);
shape.render(mc);
shape.render(mc);
shape.render(mc);
mc.assertCountsEqual(8, 16, seeThru);
// Eleven points make ten lines
arr.add(new Vector3(7.0, 15.5, -6.5));
arr.add(new Vector3(7.0, 12.5, -3.5));
arr.add(new Vector3(17.0, 12.5, -3.5));
arr.add(new Vector3(17.0, 6.5, -3.5));
arr.add(new Vector3(12.0, 7.5, -3.5));
arr.add(new Vector3(10.0, 7.5, 3.5));
arr.add(new Vector3(10.0, 7.5, 6.0));
arr.add(new Vector3(20.0, 17.5, 6.0));
assertEquals(11, arr.size());
mc.reset();
shape.render(mc);
mc.assertCountsEqual(10, 20, seeThru);
shape.render(mc);