.. | .. |
---|
88 | 88 | |
---|
89 | 89 | static void vecCopy(cVector a, cVector b) |
---|
90 | 90 | { |
---|
| 91 | + Grafreed.Assert (a != null); |
---|
| 92 | + assert (b != null); |
---|
| 93 | + |
---|
91 | 94 | b.x = a.x; |
---|
92 | 95 | b.y = a.y; |
---|
93 | 96 | b.z = a.z; |
---|
.. | .. |
---|
160 | 163 | |
---|
161 | 164 | static cVector xformDir(cVector v, double mat[][]) |
---|
162 | 165 | { |
---|
| 166 | + new Exception().printStackTrace(); |
---|
163 | 167 | System.exit(0); |
---|
164 | 168 | cVector temp = new cVector(); |
---|
165 | 169 | xformDir(v, mat, temp); |
---|
.. | .. |
---|
306 | 310 | |
---|
307 | 311 | } |
---|
308 | 312 | |
---|
309 | | - GrafreeD.Assert(Math.abs(src[0][3]) <= 1E-15); |
---|
310 | | - GrafreeD.Assert(Math.abs(src[1][3]) <= 1E-15); |
---|
311 | | - GrafreeD.Assert(Math.abs(src[2][3]) <= 1E-15); |
---|
312 | | - GrafreeD.Assert(Math.abs(src[3][3] - 1) <= 1E-15); |
---|
313 | | - GrafreeD.Assert(Math.abs(dst[0][3]) <= 1E-15); |
---|
314 | | - GrafreeD.Assert(Math.abs(dst[1][3]) <= 1E-15); |
---|
315 | | - GrafreeD.Assert(Math.abs(dst[2][3]) <= 1E-15); |
---|
316 | | - GrafreeD.Assert(Math.abs(dst[3][3] - 1) <= 1E-15); |
---|
| 313 | + // Last row should always be 0 0 0 1 |
---|
| 314 | + Grafreed.Assert(Math.abs(src[0][3]) <= 1E-15); |
---|
| 315 | + Grafreed.Assert(Math.abs(src[1][3]) <= 1E-15); |
---|
| 316 | + Grafreed.Assert(Math.abs(src[2][3]) <= 1E-15); |
---|
| 317 | + Grafreed.Assert(Math.abs(src[3][3] - 1) <= 1E-15); |
---|
| 318 | + Grafreed.Assert(Math.abs(dst[0][3]) <= 1E-15); |
---|
| 319 | + Grafreed.Assert(Math.abs(dst[1][3]) <= 1E-15); |
---|
| 320 | + Grafreed.Assert(Math.abs(dst[2][3]) <= 1E-15); |
---|
| 321 | + Grafreed.Assert(Math.abs(dst[3][3] - 1) <= 1E-15); |
---|
317 | 322 | } |
---|
318 | 323 | |
---|
319 | 324 | static double toRadians(double degrees) |
---|
.. | .. |
---|
623 | 628 | private static int indxr[] = new int[4]; |
---|
624 | 629 | private static int indxc[] = new int[4]; |
---|
625 | 630 | |
---|
| 631 | + static double[][] Identity = new double[4][4]; |
---|
626 | 632 | |
---|
627 | 633 | static int SIZE = 0; // 65536*64; |
---|
628 | 634 | |
---|
.. | .. |
---|
638 | 644 | costable[i] = Math.cos(PI2 * i/SIZE); |
---|
639 | 645 | sintable[i] = Math.sin(PI2 * i*i/SIZE/SIZE); |
---|
640 | 646 | } |
---|
| 647 | + |
---|
| 648 | + LA.matIdentity(Identity); |
---|
641 | 649 | } |
---|
642 | 650 | |
---|
643 | 651 | static double cos(double x0) |
---|