(final double it, final double ic, final double ib)
| 72 | } |
| 73 | |
| 74 | public Function<Triple<Node, Node, Node>, Void> tcb(final double it, final double ic, final double ib) { |
| 75 | return new Function<Triple<Node, Node, Node>, Void>() { |
| 76 | |
| 77 | double t = it; |
| 78 | double c = ic; |
| 79 | double b = ib; |
| 80 | |
| 81 | @Override |
| 82 | public Void apply(Triple<Node, Node, Node> in) { |
| 83 | |
| 84 | Vec3 d1 = in.third == null ? new Vec3() : (new Vec3(in.third.v).sub(in.second.v)).scale((float) ((1 - t) * (1 + c) * (1 - b))); |
| 85 | Vec3 d2 = in.first == null ? new Vec3() : (new Vec3(in.second.v).sub(in.first.v)).scale((float) ((1 - t) * (1 - c) * (1 + b))); |
| 86 | |
| 87 | Vec3 e1 = in.third == null ? new Vec3() : (new Vec3(in.third.v).sub(in.second.v)).scale((float) ((1 - t) * (1 - c) * (1 - b))); |
| 88 | Vec3 e2 = in.first == null ? new Vec3() : (new Vec3(in.second.v).sub(in.first.v)).scale((float) ((1 - t) * (1 + c) * (1 + b))); |
| 89 | |
| 90 | in.second.tI = (new Vec3(d1).add(d2)).scale(0.5f); |
| 91 | in.second.tO = (new Vec3(e1).add(e2)).scale(0.5f); |
| 92 | |
| 93 | if (in.first != null && in.third != null) |
| 94 | in.second.tI.scale((float) (2 * (in.second.x - in.first.x) / (in.second.x - in.first.x + in.third.x - in.second.x))); |
| 95 | if (in.first != null && in.third != null) |
| 96 | in.second.tO.scale((float) (2 * (in.third.x - in.second.x) / (in.second.x - in.first.x + in.third.x - in.second.x))); |
| 97 | |
| 98 | return null; |
| 99 | } |
| 100 | }; |
| 101 | } |
| 102 | |
| 103 | public void tcbAll() { |
| 104 | dirty = true; |
no outgoing calls
no test coverage detected