--- ray/src/px/warp3d.h 1997/02/05 15:59:10 3.2 +++ ray/src/px/warp3d.h 2004/03/28 20:33:14 3.5 @@ -1,13 +1,16 @@ -/* Copyright (c) 1997 Regents of the University of California */ - -/* SCCSid "$SunId$ LBL" */ - +/* RCSid: $Id: warp3d.h,v 3.5 2004/03/28 20:33:14 schorsch Exp $ */ /* * Header file for 3D warping routines. */ +#ifndef _RAD_WARP3D_H_ +#define _RAD_WARP3D_H_ #include "lookup.h" +#ifdef __cplusplus +extern "C" { +#endif + /* interpolation flags */ #define W3EXACT 01 /* no interpolation (slow) */ #define W3FAST 02 /* discontinuous approx. (fast) */ @@ -40,6 +43,17 @@ typedef struct { struct grid3d grid; /* point conversion grid */ } WARP3D; /* a warp map */ -extern WARP3D *new3dw(), *load3dw(); +extern int warp3d(W3VEC po, W3VEC pi, WARP3D *wp); +extern int add3dpt(WARP3D* wp, W3VEC pti, W3VEC pto); +extern WARP3D* new3dw(int flgs); +extern WARP3D* load3dw(char *fn, WARP3D *wp); +extern void free3dw(WARP3D *wp); +extern int set3dwfl(WARP3D *wp, int flgs); #define W3VCPY(v1,v2) ((v1)[0]=(v2)[0],(v1)[1]=(v2)[1],(v1)[2]=(v2)[2]) + +#ifdef __cplusplus +} +#endif +#endif /* _RAD_WARP3D_H_ */ +