home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: Graphics / Graphics.zip / xfitsvew.zip / XFITSview / fitssubs / matxpos.h < prev    next >
C/C++ Source or Header  |  1998-04-02  |  2KB  |  47 lines

  1. /*  header file for MatrixPos class  */ 
  2. /* a MatrixPos contains information relating to a pixel position in a Matrix
  3.    and functions for manipulating them. Pixel numbers are 0 relative.*/
  4. /*-----------------------------------------------------------------------
  5. *  Copyright (C) 1996,1998
  6. *  Associated Universities, Inc. Washington DC, USA.
  7. *  This program is free software; you can redistribute it and/or
  8. *  modify it under the terms of the GNU General Public License as
  9. *  published by the Free Software Foundation; either version 2 of
  10. *  the License, or (at your option) any later version.
  11. *
  12. *  This program is distributed in the hope that it will be useful,
  13. *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. *  GNU General Public License for more details.
  16. *-----------------------------------------------------------------------*/
  17.   
  18. #include "mydefs.h" 
  19. #include "myio.h" 
  20. #include "matxdesc.h" 
  21. #ifndef MATRIXPOS_H 
  22. #define MATRIXPOS_H 
  23.   
  24. typedef struct MATRIXPOS { 
  25.     Integer ndims;   /* Number of dimensions  */ 
  26.     Integer pos[7];  /* Pixel position on each axis  */ 
  27.   } MatrixPos; 
  28.   
  29.   /* Constructor  */ 
  30.   MatrixPos* MakeMatrixPos(Integer n, Integer *p); 
  31.   
  32.   /* destructor  */ 
  33.   void KillMatrixPos(MatrixPos* me); 
  34.   
  35.   /* copy pos2 to pos1 */ 
  36.   void MatrixPosCopy (MatrixPos *pos1, MatrixPos *pos2); 
  37.   
  38.   /* increment a MatrixPos, returns false when matrix exhausted.  */ 
  39.   /* Honors the window.  */ 
  40.   Logical inc_pixel(MatrixPos *me, MatrixDescriptor *d); 
  41.   Logical inc_patch(MatrixPos *me, MatrixDescriptor *d); 
  42.   
  43.   /* Zero a MatrixPos  */ 
  44.   void ZeroMatrixPos(MatrixPos *me); 
  45.   
  46. #endif /* MATRIXPOS_H */ 
  47.