summaryrefslogtreecommitdiffstats
path: root/ast/wcsmap.h
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2018-01-09 19:06:17 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2018-01-09 19:06:17 (GMT)
commitd64cf9c0bd23e752867b149be636d1bbd4501cf4 (patch)
treeec600c696fe3dbf15f166d22a95c47a1c0867509 /ast/wcsmap.h
parent62d555c8f989ab6eb026387cbf52bb46ebb2dfea (diff)
downloadblt-d64cf9c0bd23e752867b149be636d1bbd4501cf4.zip
blt-d64cf9c0bd23e752867b149be636d1bbd4501cf4.tar.gz
blt-d64cf9c0bd23e752867b149be636d1bbd4501cf4.tar.bz2
update ast 8.6.2
Diffstat (limited to 'ast/wcsmap.h')
-rw-r--r--ast/wcsmap.h591
1 files changed, 0 insertions, 591 deletions
diff --git a/ast/wcsmap.h b/ast/wcsmap.h
deleted file mode 100644
index 16ec3a7..0000000
--- a/ast/wcsmap.h
+++ /dev/null
@@ -1,591 +0,0 @@
-#if !defined( WCSMAP_INCLUDED ) /* Include this file only once */
-#define WCSMAP_INCLUDED
-/*
-*+
-* Name:
-* wcsmap.h
-
-* Type:
-* C include file.
-
-* Purpose:
-* Define the interface to the WcsMap class.
-
-* Invocation:
-* #include "wcsmap.h"
-
-* Description:
-* This include file defines the interface to the WcsMap class and
-* provides the type definitions, function prototypes and macros,
-* etc. needed to use this class.
-*
-* The WcsMap class implements Mappings that transform a pair of
-* longitude/latitude values into a pair of projected Cartesian
-* coordinates. All the projections included in FITS WCS are included.
-* For more information about these projections, see the appropriate
-* FITS document.
-
-* Inheritance:
-* The WcsMap class inherits from the Mapping class.
-
-* Attributes Over-Ridden:
-* None.
-
-* New Attributes Defined:
-* NatLat (double)
-* This attribute gives the latitude of the reference point of
-* a FITS WCS projection, in the native coordinate system. The value
-* returned is in radians. A value of AST__BAD is returned if
-* no value is defined. This attribute is read only, and may change
-* if new values are assigned to the projection parameters.
-* NatLon (double)
-* This attribute gives the longitude of the reference point of
-* a FITS WCS projection, in the native coordinate system. The value
-* returned is in radians. A value of AST__BAD is returned if
-* no value is defined. This attribute is read only, and may change
-* if new values are assigned to the projection parameters.
-* ProjP(i) (double)
-* This attribute provides aliases for the PV attributes, which
-* specifies the projection parameter values to be used by a WcsMap
-* when implementing a FITS-WCS sky projection. ProjP is retained for
-* compatibility with previous versions of FITS-WCS and AST. New
-* applications should use the PV attibute instead.
-* PVj_m (double)
-* This attribute gives the parameter values used by a FITS WCS
-* projection. The index j is the axis index in the range 1 to 99, and
-* the index m is the parameter index in the range 0 to 99. They will
-* have the value AST__BAD if undefined. By default, no projection
-* parameters are defined. These should be assigned appropriate values
-* before using a WcsMap to transform points.
-* WcsAxis(lonlat) (int)
-* This attribute gives the indices of the longitude and latitude axes
-* of a FITS WCS projection within the coordinate system used by a
-* WcsMap. If "lonlat" is 1 then the index of the longitude axis is
-* returned. If it is 2 the index of the latitude axis is returned.
-* The first axis in the coordinate system is axis 1. This is a
-* read-only attribute.
-* WcsType (int)
-* This attribute gives the FITS WCS projection type implemented by a
-* WcsMap. Macros giving the integer value associated with supported
-* projections are defined. They have the general form "AST__xxx" where
-* "xxx" is the 3-character code used to represent the projection in the
-* FITS CTYPE keyword.
-
-* Methods Over-Ridden:
-* Public:
-* None.
-*
-* Protected:
-* astClearAttrib
-* Clear an attribute value for a WcsMap.
-* astGetAttrib
-* Get an attribute value for a WcsMap.
-* astSetAttrib
-* Set an attribute value for a WcsMap.
-* astTestAttrib
-* Test if an attribute value has been set for a WcsMap.
-* astTransform
-* Apply a WcsMap to transform a set of points.
-
-* New Methods Defined:
-* Public:
-* None.
-*
-* Protected:
-* astClearPV
-* Clear a PVi_j attribute value for a WcsMap.
-* astGetNatLat
-* Get the NatLat attribute value for a WcsMap.
-* astGetNatLon
-* Get the NatLon attribute value for a WcsMap.
-* astGetPV
-* Get a PVi_j attribute value for a WcsMap.
-* astGetWcsAxis
-* Get a WcsAxis attribute value for a WcsMap.
-* astGetWcsType
-* Get the WcsType attribute value for a WcsMap.
-* astIsZenithal
-* Is the projection zenithal?
-* astSetPV
-* Set a PVi_j attribute value for a WcsMap.
-* astTestPV
-* Test if a PVi_j attribute value has been set for a WcsMap.
-* astWcsPrjName
-* Return the FITS CTYPE keyword value for a given projection type.
-* astWcsPrjDesc
-* Return a textual description for a given projection type.
-* astWcsPrjType
-* Return the projection type given a FITS CTYPE keyword value.
-
-* Other Class Functions:
-* Public:
-* astIsAWcsMap
-* Test class membership.
-* astWcsMap
-* Create a WcsMap.
-*
-* Protected:
-* astCheckWcsMap
-* Validate class membership.
-* astInitWcsMap
-* Initialise a WcsMap.
-* astInitWcsMapVtab
-* Initialise the virtual function table for the WcsMap class.
-* astLoadWcsMap
-* Load a WcsMap.
-
-* Macros:
-* Public:
-* AST__WCSMX
-* Maximum number of parameters associated with a projection.
-* AST__DPI
-* 180 degrees in radians.
-* AST__DPIBY2
-* 90 degrees in radians.
-* AST__DD2R
-* Factor for converting degrees to radians.
-* AST__DR2D
-* Factor for converting radians to degrees.
-* AST__AZP
-* An integer identifier for the FITS AZP projection.
-* AST__TAN
-* An integer identifier for the FITS TAN projection.
-* AST__SIN
-* An integer identifier for the FITS SIN projection.
-* AST__STG
-* An integer identifier for the FITS STG projection.
-* AST__ARC
-* An integer identifier for the FITS ARC projection.
-* AST__ZPN
-* An integer identifier for the FITS ZPN projection.
-* AST__ZEA
-* An integer identifier for the FITS ZEA projection.
-* AST__AIR
-* An integer identifier for the FITS AIR projection.
-* AST__CYP
-* An integer identifier for the FITS CYP projection.
-* AST__CAR
-* An integer identifier for the FITS CAR projection.
-* AST__MER
-* An integer identifier for the FITS MER projection.
-* AST__CEA
-* An integer identifier for the FITS CEA projection.
-* AST__COP
-* An integer identifier for the FITS COP projection.
-* AST__COD
-* An integer identifier for the FITS COD projection.
-* AST__COE
-* An integer identifier for the FITS COE projection.
-* AST__COO
-* An integer identifier for the FITS COO projection.
-* AST__BON
-* An integer identifier for the FITS BON projection.
-* AST__PCO
-* An integer identifier for the FITS PCO projection.
-* AST__GLS
-* A depracated integer identifier for the FITS SFL projection.
-* AST__SFL
-* An integer identifier for the FITS SFL projection.
-* AST__PAR
-* An integer identifier for the FITS PAR projection.
-* AST__AIT
-* An integer identifier for the FITS AIT projection.
-* AST__MOL
-* An integer identifier for the FITS MOL projection.
-* AST__CSC
-* An integer identifier for the FITS CSC projection.
-* AST__QSC
-* An integer identifier for the FITS QSC projection.
-* AST__TSC
-* An integer identifier for the FITS TSC projection
-* AST__HPX
-* An integer identifier for the FITS HPX projection.
-* AST__XPH
-* An integer identifier for the FITS XPH projection.
-* AST__TPN
-* An integer identifier for a "TAN with correction terms" projection.
-* AST__WCSBAD
-* An integer identifier for a "null" projection.
-*
-* Protected:
-* None.
-
-* Type Definitions:
-* Public:
-* AstWcsMap
-* WcsMap object type.
-*
-* Protected:
-* AstWcsMapVtab
-* WcsMap virtual function table type.
-
-* Feature Test Macros:
-* astCLASS
-* If the astCLASS macro is undefined, only public symbols are
-* made available, otherwise protected symbols (for use in other
-* class implementations) are defined. This macro also affects
-* the reporting of error context information, which is only
-* provided for external calls to the AST library.
-
-* Copyright:
-* Copyright (C) 1997-2006 Council for the Central Laboratory of the
-* Research Councils
-
-* Licence:
-* This program is free software: you can redistribute it and/or
-* modify it under the terms of the GNU Lesser General Public
-* License as published by the Free Software Foundation, either
-* version 3 of the License, or (at your option) any later
-* version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General
-* License along with this program. If not, see
-* <http://www.gnu.org/licenses/>.
-
-* Authors:
-* DSB: D.S. Berry (Starlink)
-
-* History:
-* 15-Feb-1996 (DSB):
-* Original version.
-* 23-MAR-1996 (DSB):
-* Support for PointSets with more than 2 axes added.
-* 18-NOV-1996 (DSB):
-* Updated to include attributes, etc.
-* 26-SEP-1997 (DSB):
-* Included new protected function, astPrjDesc.
-* 11-FEB-2000 (DSB):
-* Replaced wcsmap component projp by pointers p and np.
-* 20-OCT-2002 (DSB):
-* Added astIsZenithal
-* 8-JAN-2003 (DSB):
-* Added protected astInitWcsMapVtab method.
-*-
-*/
-
-/* Include files. */
-/* ============== */
-/* Interface definitions. */
-/* ---------------------- */
-#include "mapping.h" /* Coordinate mappings (parent class) */
-#include "proj.h" /* Mark Calabretta's WCSLIB library header
- file */
-
-#if defined(astCLASS) /* Protected */
-#include "pointset.h" /* Sets of points/coordinates */
-#include "channel.h" /* I/O channels */
-#endif
-
-/* C header files. */
-/* --------------- */
-#if defined(astCLASS) /* Protected */
-#include <stddef.h>
-#endif
-
-/* Macros. */
-/* ------- */
-/* Max. number of parameters for a WCS projection */
-
-#if defined(astCLASS) || defined(astFORTRAN77)
-#define STATUS_PTR status
-#else
-#define STATUS_PTR astGetStatusPtr
-#endif
-#define AST__WCSMX 10
-
-/* pi: 180 degrees in radians - from SLALIB file slamac.h. */
-#define AST__DPI 3.1415926535897932384626433832795028841971693993751
-
-/* pi/2: 90 degrees in radians - from SLALIB file slamac.h. */
-#define AST__DPIBY2 1.5707963267948966192313216916397514420985846996876
-
-/* pi/180: degrees to radians - from SLALIB file slamac.h. */
-#define AST__DD2R 0.017453292519943295769236907684886127134428718885417
-
-/* 180/pi: radians to degrees - from SLALIB file slamac.h. */
-#define AST__DR2D 57.295779513082320876798154814105170332405472466564
-
-/* Projection Types: (note, WCSBAD must be the last in this list) */
-
-#define AST__AZP 1
-#define AST__SZP 2
-#define AST__TAN 3
-#define AST__STG 4
-#define AST__SIN 5
-#define AST__ARC 6
-#define AST__ZPN 7
-#define AST__ZEA 8
-#define AST__AIR 9
-#define AST__CYP 10
-#define AST__CEA 11
-#define AST__CAR 12
-#define AST__MER 13
-#define AST__SFL 14
-#define AST__PAR 15
-#define AST__MOL 16
-#define AST__AIT 17
-#define AST__COP 18
-#define AST__COE 19
-#define AST__COD 20
-#define AST__COO 21
-#define AST__BON 22
-#define AST__PCO 23
-#define AST__TSC 24
-#define AST__CSC 25
-#define AST__QSC 26
-#define AST__NCP 27
-#define AST__GLS 28
-#define AST__TPN 29
-#define AST__HPX 30
-#define AST__XPH 31
-#define AST__WCSBAD 32 /* A bad projection type */
-
-/* Define a dummy __attribute__ macro for use on non-GNU compilers. */
-#ifndef __GNUC__
-# define __attribute__(x) /*NOTHING*/
-#endif
-
-/* Type Definitions. */
-/* ================= */
-/* WcsMap structure. */
-/* ------------------ */
-/* This structure contains all information that is unique to each object in
- the class (e.g. its instance variables). */
-typedef struct AstWcsMap {
-
-/* Attributes inherited from the parent class. */
- AstMapping mapping; /* Parent class structure */
-
-/* Attributes specific to objects in this class. */
- int type; /* Projection type */
- int wcsaxis[2]; /* Indices of lon and lat. axes */
- double **p; /* Pointer to array of projection parameter arrays */
- int *np; /* Pointer to array of projection parameter counts */
- struct AstPrjPrm params; /* WCS structure holding projection
- parameters, etc. Defined in proj.h */
- int fits_proj; /* Use as FITS-WCS projection? */
- int tpn_tan; /* Include TAN projection in TPN transformation? */
-} AstWcsMap;
-
-/* Virtual function table. */
-/* ----------------------- */
-/* This table contains all information that is the same for all
- objects in the class (e.g. pointers to its virtual functions). */
-#if defined(astCLASS) /* Protected */
-typedef struct AstWcsMapVtab {
-
-/* Properties (e.g. methods) inherited from the parent class. */
- AstMappingVtab mapping_vtab; /* Parent class virtual function table */
-
-/* A Unique identifier to determine class membership. */
- AstClassIdentifier id;
-
-/* Properties (e.g. methods) specific to this class. */
- double (* GetNatLat)( AstWcsMap *, int * );
- double (* GetNatLon)( AstWcsMap *, int * );
- double (* GetPV)( AstWcsMap *, int, int, int * );
- int (* GetWcsAxis)( AstWcsMap *, int, int * );
- int (* GetWcsType)( AstWcsMap *, int * );
- int (* GetPVMax)( AstWcsMap *, int, int * );
- int (* TestPV)( AstWcsMap *, int, int, int * );
- void (* ClearPV)( AstWcsMap *, int, int, int * );
- void (* SetPV)( AstWcsMap *, int, int, double, int * );
- int (* IsZenithal)( AstWcsMap *, int * );
-
- int (* GetFITSProj)( AstWcsMap *, int * );
- int (* TestFITSProj)( AstWcsMap *, int * );
- void (* ClearFITSProj)( AstWcsMap *, int * );
- void (* SetFITSProj)( AstWcsMap *, int, int * );
-
- int (* GetTPNTan)( AstWcsMap *, int * );
- int (* TestTPNTan)( AstWcsMap *, int * );
- void (* ClearTPNTan)( AstWcsMap *, int * );
- void (* SetTPNTan)( AstWcsMap *, int, int * );
-
-} AstWcsMapVtab;
-
-#if defined(THREAD_SAFE)
-
-/* Define a structure holding all data items that are global within this
- class. */
-typedef struct AstWcsMapGlobals {
- AstWcsMapVtab Class_Vtab;
- int Class_Init;
- char GetAttrib_Buff[ 101 ];
-} AstWcsMapGlobals;
-
-#endif
-#endif
-
-/* Function prototypes. */
-/* ==================== */
-/* Prototypes for standard class functions. */
-/* ---------------------------------------- */
-astPROTO_CHECK(WcsMap) /* Check class membership */
-astPROTO_ISA(WcsMap) /* Test class membership */
-
-/* Constructor. */
-#if defined(astCLASS) /* Protected. */
-AstWcsMap *astWcsMap_( int, int, int, int, const char *, int *, ...);
-#else
-AstWcsMap *astWcsMapId_( int, int, int, int, const char *, ... )__attribute__((format(printf,5,6)));
-#endif
-
-#if defined(astCLASS) /* Protected */
-
-/* Initialiser. */
-AstWcsMap *astInitWcsMap_( void *, size_t, int, AstWcsMapVtab *,
- const char *, int, int, int, int, int * );
-
-/* Vtab initialiser. */
-void astInitWcsMapVtab_( AstWcsMapVtab *, const char *, int * );
-
-/* Loader. */
-AstWcsMap *astLoadWcsMap_( void *, size_t, AstWcsMapVtab *,
- const char *, AstChannel *, int * );
-
-/* Thread-safe initialiser for all global data used by this module. */
-#if defined(THREAD_SAFE)
-void astInitWcsMapGlobals_( AstWcsMapGlobals * );
-#endif
-
-#endif
-
-/* Prototypes for member functions. */
-/* -------------------------------- */
-# if defined(astCLASS) /* Protected */
- const char *astWcsPrjDesc_( int, int * );
- const char *astWcsPrjName_( int, int * );
- double astGetNatLat_( AstWcsMap *, int * );
- double astGetNatLon_( AstWcsMap *, int * );
- double astGetPV_( AstWcsMap *, int, int, int * );
- int astWcsPrjType_( const char *, int * );
- int astGetWcsAxis_( AstWcsMap *, int, int * );
- int astGetWcsType_( AstWcsMap *, int * );
- int astGetPVMax_( AstWcsMap *, int, int * );
- int astTestPV_( AstWcsMap *, int, int, int * );
- int astIsZenithal_( AstWcsMap *, int * );
- void astClearPV_( AstWcsMap *, int, int, int * );
- void astSetPV_( AstWcsMap *, int, int, double, int * );
-
- int astGetFITSProj_( AstWcsMap *, int * );
- int astTestFITSProj_( AstWcsMap *, int * );
- void astClearFITSProj_( AstWcsMap *, int * );
- void astSetFITSProj_( AstWcsMap *, int, int * );
-
- int astGetTPNTan_( AstWcsMap *, int * );
- int astTestTPNTan_( AstWcsMap *, int * );
- void astClearTPNTan_( AstWcsMap *, int * );
- void astSetTPNTan_( AstWcsMap *, int, int * );
-
-#endif
-
-/* Function interfaces. */
-/* ==================== */
-/* These macros are wrap-ups for the functions defined by this class
- to make them easier to invoke (e.g. to avoid type mis-matches when
- passing pointers to objects from derived classes). */
-
-/* Interfaces to standard class functions. */
-/* --------------------------------------- */
-/* Some of these functions provide validation, so we cannot use them
- to validate their own arguments. We must use a cast when passing
- object pointers (so that they can accept objects from derived
- classes). */
-
-/* Check class membership. */
-#define astCheckWcsMap(this) astINVOKE_CHECK(WcsMap,this,0)
-#define astVerifyWcsMap(this) astINVOKE_CHECK(WcsMap,this,1)
-
-/* Test class membership. */
-#define astIsAWcsMap(this) astINVOKE_ISA(WcsMap,this)
-
-/* Constructor. */
-#if defined(astCLASS) /* Protected. */
-#define astWcsMap astINVOKE(F,astWcsMap_)
-#else
-#define astWcsMap astINVOKE(F,astWcsMapId_)
-#endif
-
-#if defined(astCLASS) /* Protected */
-
-/* Initialiser. */
-#define astInitWcsMap(mem,size,init,vtab,name,ncoord,type,lon,lat) \
-astINVOKE(O,astInitWcsMap_(mem,size,init,vtab,name,ncoord,type,lon,lat,STATUS_PTR))
-
-/* Vtab Initialiser. */
-#define astInitWcsMapVtab(vtab,name) astINVOKE(V,astInitWcsMapVtab_(vtab,name,STATUS_PTR))
-/* Loader. */
-#define astLoadWcsMap(mem,size,vtab,name,channel) \
-astINVOKE(O,astLoadWcsMap_(mem,size,vtab,name,astCheckChannel(channel),STATUS_PTR))
-#endif
-
-/* Interfaces to public member functions. */
-/* -------------------------------------- */
-/* Here we make use of astCheckWcsMap to validate WcsMap pointers
- before use. This provides a contextual error report if a pointer
- to the wrong sort of Object is supplied. */
-
-#if defined(astCLASS) /* Protected */
-
-#define astWcsPrjType(ctype) astWcsPrjType_(ctype,STATUS_PTR)
-#define astWcsPrjName(type) astWcsPrjName_(type,STATUS_PTR)
-#define astWcsPrjDesc(type) astWcsPrjDesc_(type,STATUS_PTR)
-
-#define astClearPV(this,i,j) \
-astINVOKE(V,astClearPV_(astCheckWcsMap(this),i,j,STATUS_PTR))
-#define astGetPV(this,i,j) \
-astINVOKE(V,astGetPV_(astCheckWcsMap(this),i,j,STATUS_PTR))
-#define astSetPV(this,i,j,par) \
-astINVOKE(V,astSetPV_(astCheckWcsMap(this),i,j,par,STATUS_PTR))
-#define astTestPV(this,i,j) \
-astINVOKE(V,astTestPV_(astCheckWcsMap(this),i,j,STATUS_PTR))
-
-#define astClearFITSProj(this) \
-astINVOKE(V,astClearFITSProj_(astCheckWcsMap(this),STATUS_PTR))
-#define astGetFITSProj(this) \
-astINVOKE(V,astGetFITSProj_(astCheckWcsMap(this),STATUS_PTR))
-#define astSetFITSProj(this,value) \
-astINVOKE(V,astSetFITSProj_(astCheckWcsMap(this),value,STATUS_PTR))
-#define astTestFITSProj(this) \
-astINVOKE(V,astTestFITSProj_(astCheckWcsMap(this),STATUS_PTR))
-
-#define astClearTPNTan(this) \
-astINVOKE(V,astClearTPNTan_(astCheckWcsMap(this),STATUS_PTR))
-#define astGetTPNTan(this) \
-astINVOKE(V,astGetTPNTan_(astCheckWcsMap(this),STATUS_PTR))
-#define astSetTPNTan(this,value) \
-astINVOKE(V,astSetTPNTan_(astCheckWcsMap(this),value,STATUS_PTR))
-#define astTestTPNTan(this) \
-astINVOKE(V,astTestTPNTan_(astCheckWcsMap(this),STATUS_PTR))
-
-#define astGetWcsType(this) \
-astINVOKE(V,astGetWcsType_(astCheckWcsMap(this),STATUS_PTR))
-
-#define astGetPVMax(this,i) \
-astINVOKE(V,astGetPVMax_(astCheckWcsMap(this),i,STATUS_PTR))
-
-#define astGetNatLat(this) \
-astINVOKE(V,astGetNatLat_(astCheckWcsMap(this),STATUS_PTR))
-
-#define astGetNatLon(this) \
-astINVOKE(V,astGetNatLon_(astCheckWcsMap(this),STATUS_PTR))
-
-#define astGetWcsAxis(this,index) \
-astINVOKE(V,astGetWcsAxis_(astCheckWcsMap(this),index,STATUS_PTR))
-
-#define astIsZenithal(this) \
-astINVOKE(V,astIsZenithal_(astCheckWcsMap(this),STATUS_PTR))
-
-#endif
-#endif
-
-
-
-
-