| 5 |
|
* 3D warping routines. |
| 6 |
|
*/ |
| 7 |
|
|
| 8 |
– |
#include <stdio.h> |
| 8 |
|
#include <stdlib.h> |
| 9 |
|
#include <math.h> |
| 10 |
|
|
| 32 |
|
static int get3dgin(W3VEC ov, GNDX ndx, W3VEC rem, WARP3D *wp); |
| 33 |
|
static void l3interp(W3VEC vo, W3VEC *cl, W3VEC dv, int n); |
| 34 |
|
static int warp3dex(W3VEC ov, W3VEC pi, WARP3D *wp); |
| 36 |
– |
//static unsigned long gridhash(const void *gp); |
| 35 |
|
static lut_hashf_t gridhash; |
| 36 |
|
static int new3dgrid(WARP3D *wp); |
| 37 |
|
static void done3dgrid(struct grid3d *gp); |
| 364 |
|
|
| 365 |
|
static unsigned long |
| 366 |
|
gridhash( /* hash a grid point index */ |
| 367 |
< |
//GNDX gp |
| 370 |
< |
const void *gp |
| 367 |
> |
const char *gp |
| 368 |
|
) |
| 369 |
|
{ |
| 373 |
– |
//return(((unsigned long)gp[0]<<GNBITS | gp[1])<<GNBITS | gp[2]); |
| 370 |
|
return(((unsigned long)((const unsigned char*)gp)[0]<<GNBITS | ((const unsigned char*)gp)[1])<<GNBITS | ((const unsigned char*)gp)[2]); |
| 371 |
|
} |
| 372 |
|
|