changeset 1403:624f56822b78

Changed _R and _P macros to Real_cast and Point_coord_cast to avoid clash with macro in ctype.h (thanks to Steve for this).
author neelin <neelin>
date Wed, 31 Oct 2001 19:23:25 +0000
parents b878b57d8fc4
children 64ef1c6e0dd4
files volume_io/Include/volume_io/geometry.h
diffstat 1 files changed, 48 insertions(+), 48 deletions(-) [+]
line wrap: on
line diff
--- a/volume_io/Include/volume_io/geometry.h
+++ b/volume_io/Include/volume_io/geometry.h
@@ -16,7 +16,7 @@
 ---------------------------------------------------------------------------- */
 
 #ifndef lint
-static char geometry_rcsid[] = "$Header: /private-cvsroot/minc/volume_io/Include/volume_io/geometry.h,v 1.9 2000-01-20 20:22:26 neelin Exp $";
+static char geometry_rcsid[] = "$Header: /private-cvsroot/minc/volume_io/Include/volume_io/geometry.h,v 1.10 2001-10-31 19:23:25 neelin Exp $";
 #endif
 
 /* ----------------------------- MNI Header -----------------------------------
@@ -36,90 +36,90 @@
 #include  <volume_io/basic.h>
 #include  <volume_io/geom_structs.h>
 
-#define  _P(x) ((Point_coord_type) (x))
-#define  _R(x) ((Real) (x))
+#define  Point_coord_cast(x) ((Point_coord_type) (x))
+#define  Real_cast(x) ((Real) (x))
 
-#define  RPoint_x( p )  _R(Point_x(p))
-#define  RPoint_y( p )  _R(Point_y(p))
-#define  RPoint_z( p )  _R(Point_z(p))
-#define  RPoint_coord( p, c )  _R(Point_coord(p,c))
+#define  RPoint_x( p )  Real_cast(Point_x(p))
+#define  RPoint_y( p )  Real_cast(Point_y(p))
+#define  RPoint_z( p )  Real_cast(Point_z(p))
+#define  RPoint_coord( p, c )  Real_cast(Point_coord(p,c))
 
-#define  RVector_x( p )  _R(Vector_x(p))
-#define  RVector_y( p )  _R(Vector_y(p))
-#define  RVector_z( p )  _R(Point_z(p))
-#define  RVector_coord( p, c )  _R(Vector_coord(p,c))
+#define  RVector_x( p )  Real_cast(Vector_x(p))
+#define  RVector_y( p )  Real_cast(Vector_y(p))
+#define  RVector_z( p )  Real_cast(Point_z(p))
+#define  RVector_coord( p, c )  Real_cast(Vector_coord(p,c))
 
 /* --- private point and vector operations for use by public routines */
 
 #define  POINT_SCALAR_EXP( result, v, op, scalar ) \
          { \
-           Point_x(result) = _P( RPoint_x(v) op _R((scalar)) ); \
-           Point_y(result) = _P( RPoint_y(v) op _R((scalar)) ); \
-           Point_z(result) = _P( RPoint_z(v) op _R((scalar)) ); \
+           Point_x(result) = Point_coord_cast( RPoint_x(v) op Real_cast((scalar)) ); \
+           Point_y(result) = Point_coord_cast( RPoint_y(v) op Real_cast((scalar)) ); \
+           Point_z(result) = Point_coord_cast( RPoint_z(v) op Real_cast((scalar)) ); \
          }
 
 #define  POINT_EXP2( result, v1, op, v2 ) \
          { \
-           Point_x(result) = _P( RPoint_x(v1) op RPoint_x(v2) ); \
-           Point_y(result) = _P( RPoint_y(v1) op RPoint_y(v2) ); \
-           Point_z(result) = _P( RPoint_z(v1) op RPoint_z(v2) ); \
+           Point_x(result) = Point_coord_cast( RPoint_x(v1) op RPoint_x(v2) ); \
+           Point_y(result) = Point_coord_cast( RPoint_y(v1) op RPoint_y(v2) ); \
+           Point_z(result) = Point_coord_cast( RPoint_z(v1) op RPoint_z(v2) ); \
          }
 
 #define  POINT_VECTOR_EXP2( result, p, op, v ) \
          { \
-           Point_x(result) = _P( RPoint_x(p) op RVector_x(v) ); \
-           Point_y(result) = _P( RPoint_y(p) op RVector_y(v) ); \
-           Point_z(result) = _P( RPoint_z(p) op RVector_z(v) ); \
+           Point_x(result) = Point_coord_cast( RPoint_x(p) op RVector_x(v) ); \
+           Point_y(result) = Point_coord_cast( RPoint_y(p) op RVector_y(v) ); \
+           Point_z(result) = Point_coord_cast( RPoint_z(p) op RVector_z(v) ); \
          }
 
 #define  VECTOR_SCALAR_EXP( result, v, op, scalar ) \
          { \
-           Vector_x(result) = _P( RVector_x(v) op _R(scalar) ); \
-           Vector_y(result) = _P( RVector_y(v) op _R(scalar) ); \
-           Vector_z(result) = _P( RVector_z(v) op _R(scalar) ); \
+           Vector_x(result) = Point_coord_cast( RVector_x(v) op Real_cast(scalar) ); \
+           Vector_y(result) = Point_coord_cast( RVector_y(v) op Real_cast(scalar) ); \
+           Vector_z(result) = Point_coord_cast( RVector_z(v) op Real_cast(scalar) ); \
          }
 
 #define  VECTOR_EXP2( result, v1, op, v2 ) \
          { \
-           Vector_x(result) = _P( RVector_x(v1) op RVector_x(v2) ); \
-           Vector_y(result) = _P( RVector_y(v1) op RVector_y(v2) ); \
-           Vector_z(result) = _P( RVector_z(v1) op RVector_z(v2) ); \
+           Vector_x(result) = Point_coord_cast( RVector_x(v1) op RVector_x(v2) ); \
+           Vector_y(result) = Point_coord_cast( RVector_y(v1) op RVector_y(v2) ); \
+           Vector_z(result) = Point_coord_cast( RVector_z(v1) op RVector_z(v2) ); \
          }
 
 /* --- interpolate between two points, 0 results in p1, 1 results in p2 */
 
 #define  INTERPOLATE_POINTS( interp, p1, p2, alpha ) \
          { \
-           Point_x(interp) = _P( (1.0-_R(alpha))*RPoint_x(p1) + \
-                                     _R(alpha)*RPoint_x(p2) );\
-           Point_y(interp) = _P( (1.0-_R(alpha))*RPoint_y(p1) + \
-                                     _R(alpha)*RPoint_y(p2) );\
-           Point_z(interp) = _P( (1.0-_R(alpha))*RPoint_z(p1) + \
-                                     _R(alpha)*RPoint_z(p2) );\
+           Point_x(interp) = Point_coord_cast( (1.0-Real_cast(alpha))*RPoint_x(p1) + \
+                                     Real_cast(alpha)*RPoint_x(p2) );\
+           Point_y(interp) = Point_coord_cast( (1.0-Real_cast(alpha))*RPoint_y(p1) + \
+                                     Real_cast(alpha)*RPoint_y(p2) );\
+           Point_z(interp) = Point_coord_cast( (1.0-Real_cast(alpha))*RPoint_z(p1) + \
+                                     Real_cast(alpha)*RPoint_z(p2) );\
          }
 
 /* --- interpolate between two vectors, 0 results in v1, 1 results in v2 */
 
 #define  INTERPOLATE_VECTORS( interp, v1, v2, alpha ) \
          { \
-           Vector_x(interp)= _P( (1.0-_R(alpha))*RVector_x(v1) + \
-                                      _R(alpha)*RVector_x(v2) );\
-           Vector_y(interp)= _P( (1.0-_R(alpha))*RVector_y(v1) + \
-                                      _R(alpha)*RVector_y(v2) );\
-           Vector_z(interp)= _P( (1.0-_R(alpha))*RVector_z(v1) + \
-                                      _R(alpha)*RVector_z(v2) );\
+           Vector_x(interp)= Point_coord_cast( (1.0-Real_cast(alpha))*RVector_x(v1) + \
+                                      Real_cast(alpha)*RVector_x(v2) );\
+           Vector_y(interp)= Point_coord_cast( (1.0-Real_cast(alpha))*RVector_y(v1) + \
+                                      Real_cast(alpha)*RVector_y(v2) );\
+           Vector_z(interp)= Point_coord_cast( (1.0-Real_cast(alpha))*RVector_z(v1) + \
+                                      Real_cast(alpha)*RVector_z(v2) );\
          }
 
 /* --- get a point on a ray, returning it as 'point' */
 
 #define  GET_POINT_ON_RAY( point, origin, direction, distance ) \
          { \
-           Vector_x(point)= _P( RPoint_x(origin) + \
-                               _R(distance)*RVector_x(direction) );\
-           Vector_y(point)= _P( RPoint_y(origin) + \
-                               _R(distance)*RVector_y(direction) );\
-           Vector_z(point)= _P( RPoint_z(origin) + \
-                               _R(distance)*RVector_z(direction) );\
+           Vector_x(point)= Point_coord_cast( RPoint_x(origin) + \
+                               Real_cast(distance)*RVector_x(direction) );\
+           Vector_y(point)= Point_coord_cast( RPoint_y(origin) + \
+                               Real_cast(distance)*RVector_y(direction) );\
+           Vector_z(point)= Point_coord_cast( RPoint_z(origin) + \
+                               Real_cast(distance)*RVector_z(direction) );\
          }
 
 /* --- add and subtract points and vectors, returning correct type */
@@ -173,11 +173,11 @@
 
 #define  CROSS_VECTORS( c, v1, v2 ) \
          { \
-             Vector_x(c) = _P( RVector_y(v1) * RVector_z(v2) - \
+             Vector_x(c) = Point_coord_cast( RVector_y(v1) * RVector_z(v2) - \
                               RVector_y(v2) * RVector_z(v1) ); \
-             Vector_y(c) = _P( RVector_z(v1) * RVector_x(v2) - \
+             Vector_y(c) = Point_coord_cast( RVector_z(v1) * RVector_x(v2) - \
                               RVector_z(v2) * RVector_x(v1) ); \
-             Vector_z(c) = _P( RVector_x(v1) * RVector_y(v2) - \
+             Vector_z(c) = Point_coord_cast( RVector_x(v1) * RVector_y(v2) - \
                               RVector_x(v2) * RVector_y(v1) ); \
          }
 
@@ -197,7 +197,7 @@
        of the point from the plane, in fractions of the normal length */
 
 #define  DIST_FROM_PLANE( normal, d, point ) \
-         ( DOT_POINT_VECTOR(point,normal) - _R(d) )
+         ( DOT_POINT_VECTOR(point,normal) - Real_cast(d) )
 
 /* --- converts the 'point' to a 'vector' */