1 #if !defined( UNIT_INCLUDED ) /* Include this file only once */ 2 #define UNIT_INCLUDED 3 /* 4 *+ 5 * Name: 6 * unit.h 7 8 * Purpose: 9 * Define the interface to the Unit module. 10 11 * Description: 12 * This module defines functions which identify units and transform 13 * between them. 14 * 15 * Note that this module is not a class implementation, although it 16 * resembles one. 17 18 * Functions Defined: 19 * Public: 20 * None. 21 * 22 * Protected: 23 24 * Copyright: 25 * Copyright (C) 1997-2006 Council for the Central Laboratory of the 26 * Research Councils 27 28 * Licence: 29 * This program is free software: you can redistribute it and/or 30 * modify it under the terms of the GNU Lesser General Public 31 * License as published by the Free Software Foundation, either 32 * version 3 of the License, or (at your option) any later 33 * version. 34 * 35 * This program is distributed in the hope that it will be useful, 36 * but WITHOUT ANY WARRANTY; without even the implied warranty of 37 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 38 * GNU Lesser General Public License for more details. 39 * 40 * You should have received a copy of the GNU Lesser General 41 * License along with this program. If not, see 42 * <http://www.gnu.org/licenses/>. 43 44 * Authors: 45 * DSB: D.S. Berry (Starlink) 46 47 * History: 48 * 10-DEC-2002 (DSB): 49 * Original version. 50 *- 51 */ 52 53 /* Include files. */ 54 /* ============== */ 55 #include "mapping.h" /* Coordinate mappings */ 56 57 /* C header files. */ 58 /* --------------- */ 59 60 /* Function prototypes. */ 61 /* ==================== */ 62 #if defined(astCLASS) /* Protected */ 63 AstMapping *astUnitMapper_( const char *, const char *, const char *, 64 char **, int * ); 65 const char *astUnitLabel_( const char *, int * ); 66 double astUnitAnalyser_( const char *, double[9], int * ); 67 const char *astUnitNormaliser_( const char *, int * ); 68 #endif 69 70 /* Function interfaces. */ 71 /* ==================== */ 72 /* These wrap up the functions defined by this module. */ 73 74 #if defined(astCLASS) /* Protected */ 75 #define astUnitMapper(in,out,inlab,outlab) astINVOKE(O,astUnitMapper_(in,out,inlab,outlab,STATUS_PTR)) 76 #define astUnitAnalyser(in,powers) astUnitAnalyser_(in,powers,STATUS_PTR) 77 #define astUnitNormaliser(in) astUnitNormaliser_(in,STATUS_PTR) 78 #define astUnitLabel(sym) astINVOKE(O,astUnitLabel_(sym,STATUS_PTR)) 79 #endif 80 #endif 81 82 83 84