Main Page | Modules | Data Structures | Directories | File List | Data Fields | Examples

dset.h

00001 /*
00002  *  This library is free software; you can redistribute it and/or
00003  *  modify it under the terms of the GNU Lesser General Public
00004  *  License as published by the Free Software Foundation; either
00005  *  version 2 of the License, or (at your option) any later version.
00006  *
00007  *  This library is distributed in the hope that it will be useful,
00008  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00009  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00010  *  Lesser General Public License for more details.
00011  *
00012  *  You should have received a copy of the GNU General Public License
00013  *  along with this program; if not, write to the Free Software
00014  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00015  *  
00016  *  Copyright (C) 2005 Liam Girdwood, Radu Corlan  
00017  */
00018 
00019 #ifndef __LNC_DSET_H
00020 #define __LNC_DSET_H
00021 
00022 #include <libncat/catalog.h>
00023     
00043 typedef void (*lnc_field_insert)(void* dest, void* src);
00044 typedef void (*lnc_alt_insert)(void* dest, void* src1, void* src2);
00045 
00046 struct alt_idx    {
00047     char symbol1[8];
00048     char symbol2[8];
00049     int idx1;
00050     int idx2;
00051 };
00052 
00059 struct lnc_dataset{
00060     char* name;                 
00061     char* file;                 
00062     lnc_catalog* cat;           
00064     /* tile array dimensions */
00065         int ra_stride;                                                  /* AU stride for near catalogs  */
00066         int dec_stride;                     
00067         int mag_stride;                     
00068         double ra_stride_size;                                          /* size of each AU stride */
00069         double dec_stride_size;         
00070         double mag_stride_size;         
00072     /* clipping bounds */
00073     double clip_min_ra;                 
00074         double clip_min_dec;            
00075         double clip_max_ra;                     
00076         double clip_max_dec;            
00077         double clip_faint_mag;          
00078         double clip_bright_mag;         
00079         double op_progress;                     
00081     /* object data storage */
00082     lnc_slist** objects;                
00083         lnc_tile_status* status;        
00084     lnc_slist** hobjects;       
00085     int array_size;                             
00086         int status_size;                        
00087         int no_tiles;                           
00088     int object_size;                    
00089     int dset_size;              
00090     int (*object_insert)(void* dset, void* object); 
00091     int insert_id;              
00093     /* object index description */
00094     lnc_dlist* byte_description;
00095     int object_fields;                      
00096     int alt_fields;                 
00097     lnc_field_insert field_insert[128]; 
00098     lnc_alt_insert alt_insert[128]; 
00099         lnc_dset_index idx[128];                
00100     struct alt_idx alt_data[16];    
00101     int record_size;                
00102 };
00103 
00110 typedef struct {
00111         int catalog_magic;              
00112         int endian_magic;               
00113         double ra_min;                  
00114         double ra_max;                  
00115         double dec_min;                 
00116         double dec_max;                 
00117         double mag_faint;               
00118         double mag_bright;              
00119         int object_size;                
00120         int dset_size;                  
00121         int object_fields;              
00122     int insert_id;          
00123 } lnc_dataset_hdr;
00124 
00125 #endif

Generated on Tue Jul 5 14:34:14 2005 for libncat by  doxygen 1.4.2