ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/px/warp3d.h
(Generate patch)

Comparing ray/src/px/warp3d.h (file contents):
Revision 3.1 by greg, Tue Feb 4 16:03:49 1997 UTC vs.
Revision 3.5 by schorsch, Sun Mar 28 20:33:14 2004 UTC

# Line 1 | Line 1
1 < /* Copyright (c) 1997 Regents of the University of California */
2 <
3 < /* SCCSid "$SunId$ LBL" */
4 <
1 > /* RCSid: $Id$ */
2   /*
3   * Header file for 3D warping routines.
4   */
5 + #ifndef _RAD_WARP3D_H_
6 + #define _RAD_WARP3D_H_
7  
8   #include "lookup.h"
9  
10 + #ifdef __cplusplus
11 + extern "C" {
12 + #endif
13 +
14                                  /* interpolation flags */
15   #define W3EXACT         01              /* no interpolation (slow) */
16   #define W3FAST          02              /* discontinuous approx. (fast) */
# Line 26 | Line 29 | typedef unsigned char  GNDX[3];        /* grid index type */
29   typedef float   W3VEC[3];       /* vector type for 3D warp maps */
30  
31   struct grid3d {
29        W3VEC   gmin, gmax;             /* grid boundaries */
30        GNDX    gn;                     /* grid dimensions */
31        W3VEC   gstep;                  /* grid voxel size */
32          unsigned char   flags;          /* interpolation flags */
33 +        GNDX    gn;                     /* grid dimensions */
34 +        W3VEC   gmin, gstep;            /* grid corner and voxel size */
35          LUTAB   gtab;                   /* grid lookup table */
36   };                              /* a regular, sparse warping grid */
37  
38   typedef struct {
39 <        W3VEC   *ip, *op;               /* discrete input/output pairs */
39 >        W3VEC   *ip, *ov;               /* discrete input/displ. pairs */
40          int     npts;                   /* number of point pairs */
41          W3VEC   llim, ulim;             /* lower and upper input limits */
42          double  d2min, d2max;           /* min. and max. point distance^2 */
43          struct grid3d   grid;           /* point conversion grid */
44   } WARP3D;                       /* a warp map */
45  
46 < extern WARP3D   *new3dw(), *load3dw();
46 > extern int warp3d(W3VEC po, W3VEC pi, WARP3D *wp);
47 > extern int add3dpt(WARP3D* wp, W3VEC pti, W3VEC pto);
48 > extern WARP3D* new3dw(int flgs);
49 > extern WARP3D* load3dw(char *fn, WARP3D *wp);
50 > extern void free3dw(WARP3D *wp);
51 > extern int set3dwfl(WARP3D *wp, int flgs);
52  
53   #define  W3VCPY(v1,v2)  ((v1)[0]=(v2)[0],(v1)[1]=(v2)[1],(v1)[2]=(v2)[2])
54 +
55 + #ifdef __cplusplus
56 + }
57 + #endif
58 + #endif /* _RAD_WARP3D_H_ */
59 +

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines