+ for(Geom.V v : translations) {
+ for(Geom.T t1 : geom) {
+ for(Geom.T t2 : geom) {
+ if (t1==t2) continue;
+
+ if ((t1.p1().plus(v).minus(t2.p1()).mag() < Geom.EPSILON) &&
+ (t1.p2().plus(v).minus(t2.p3()).mag() < Geom.EPSILON) &&
+ (t1.p3().plus(v).minus(t2.p2()).mag() < Geom.EPSILON))
+ t1.bind(t2, 0);
+ if ((t1.p2().plus(v).minus(t2.p1()).mag() < Geom.EPSILON) &&
+ (t1.p3().plus(v).minus(t2.p3()).mag() < Geom.EPSILON) &&
+ (t1.p1().plus(v).minus(t2.p2()).mag() < Geom.EPSILON))
+ t1.bind(t2, 1);
+ if ((t1.p3().plus(v).minus(t2.p1()).mag() < Geom.EPSILON) &&
+ (t1.p1().plus(v).minus(t2.p3()).mag() < Geom.EPSILON) &&
+ (t1.p2().plus(v).minus(t2.p2()).mag() < Geom.EPSILON))
+ t1.bind(t2, 2);
+ }
+ }
+ }
+
+ //Geom.P mid = geom.newE(ltf, lbn).shatter();
+
+ //tx.e2.shatter();
+ //tx.e3.shatter();
+
+ //mid.move(geom.new V((float)-0.05,0,0));
+
+ //mtf.move(geom.new V(0, (float)-0.05, (float)0.05));
+ mtf.move(geom.new V(0, (float)-0.05, (float)0.00));