518 #define GEOSTARSLIB_VERSION 0.9
525 #if defined(GEO_LIB) || !defined(WIN32)
527 #pragma message( "Compiling geoStarsLib.lib - static")
532 #pragma message( "Compiling geoStarsLib.dll - Dynamic")
533 #define WIN32_LEAN_AND_MEAN
534 #define DLL_CALLCONV __stdcall
542 #define DLL_API __declspec(dllexport)
544 #define DLL_API __declspec(dllimport)
545 #endif // GEO_EXPORTS
546 #endif // GEO_LIB || !WIN32
550 #define GEO_DATUM_DEFAULT 0
551 #define GEO_DATUM_AA 1
552 #define GEO_DATUM_AN 2
553 #define GEO_DATUM_BR 3
554 #define GEO_DATUM_BN 4
555 #define GEO_DATUM_CC 5
556 #define GEO_DATUM_CD 6
557 #define GEO_DATUM_EB 7
558 #define GEO_DATUM_EA 8
559 #define GEO_DATUM_EC 9
560 #define GEO_DATUM_EF 10
561 #define GEO_DATUM_EE 11
562 #define GEO_DATUM_ED 12
563 #define GEO_DATUM_RF 13
564 #define GEO_DATUM_HE 14
565 #define GEO_DATUM_HO 15
566 #define GEO_DATUM_ID 16
567 #define GEO_DATUM_IN 17
568 #define GEO_DATUM_KA 18
569 #define GEO_DATUM_AM 19
570 #define GEO_DATUM_FA 20
571 #define GEO_DATUM_SA 21
572 #define GEO_DATUM_WD 22
573 #define GEO_DATUM_WE 23
574 #define GEO_DATUM_83 24
577 #define GEO_DATUM_MAX GEO_DATUM_83
585 #define M_PI 3.14159265358979323846
588 #define TWO_PI (2.0*M_PI)
591 #define sqr(n) (n*n) //pow(n,2.0)
592 #define cube(n) (n*n*n)//)pow(n,3.0)
594 #define DEG_TO_RAD (M_PI/180.0)
595 #define RAD_TO_DEG (180.0/M_PI)
596 #define MIN_TO_DEG (1.0/60.0)
597 #define DEG_TO_MIN (60.0)
598 #define SEC_TO_DEG (1.0/3600.0)
599 #define SIN_1 (sin(SEC_TO_DEG*DEG_TO_RAD))
600 #define CIRCLE (360.0)
601 #define HALF_CIRCLE (CIRCLE / 2.0)
602 #define DELTA_LAT (0.000000001)
606 #define SOLAR_RADIUS 0.2666 // Solar Semi Diameter as per The Astromicial Almanac 2002, page C24
607 #define SOLAR_DIAMETER (2.0 * SOLAR_SEMIDIAMETER)
640 #define GEO_B(a,f) (a*(1.0-(1.0/f)))
641 #define GEO_FL(f) (1.0/f)
642 #define GEO_E2(a,f) (((a*a) - ((GEO_B(a,f))*(GEO_B(a,f))))/(a*a))
643 #define GEO_E2P(a,f) (((a*a) - ((GEO_B(a,f))*(GEO_B(a,f))))/((GEO_B(a,f))*(GEO_B(a,f))))
646 #define GEO_WGS84_a (6378137.0)
647 #define GEO_WGS84_b GEO_B(GEO_WGS84_a,298.257223563)
648 #define GEO_WGS84_fl GEO_FL(298.257223563)
649 #define GEO_WGS84_e2 GEO_E2(GEO_WGS84_a,298.257223563)
650 #define GEO_WGS84_ee2 GEO_E2P(GEO_WGS84_a,298.257223563)
669 #define GEO_SZ_ELLIPSOID_NAME 82
672 #define GEO_EFG2LLH_MAX_ITS 10
673 #define GEO_EFG2LLH_ACCURACY_METER 0.00001
674 #define GEO_EFG2LLH_ACCURACY_CM 0.0000001
675 #define GEO_EFG2LLH_ACCURACY_MM 0.00000001
676 #define GEO_EFG2LLH_ACCURACY_MAX 0.0
677 #define GEO_EFG2LLH_ACCURACY GEO_EFG2LLH_ACCURACY_MM
791 #define MAX(a,b) ((a>b)?(a):(b))
945 double *dec,
double *dip,
double *ti,
double *gv);
948 double *dec,
double *dip,
double *ti,
double *gv,
949 double *adec,
double *adip,
double *ati,
950 double *x,
double *y,
double *z,
double *h,
951 double *ax,
double *ay,
double *az,
double *ah);