├── .gitmodules ├── .swift-version ├── AstronomyKit.podspec ├── AstronomyKit.xcodeproj ├── project.pbxproj └── xcshareddata │ └── xcschemes │ ├── AstronomyKit-iOS.xcscheme │ ├── AstronomyKit-macOS.xcscheme │ └── AstronomyKit-tvOS.xcscheme ├── AstronomyKit ├── AstronomicalCalculations.h ├── AstronomicalCalculations.mm ├── AstronomyKit.playground │ ├── contents.xcplayground │ └── section-1.swift ├── Configuration │ ├── iOS │ │ ├── AstronomyKit.h │ │ └── Info.plist │ ├── macOS │ │ ├── AstronomyKit.h │ │ └── Info.plist │ └── tvOS │ │ ├── AstronomyKit.h │ │ └── Info.plist ├── NSCalendar+AstronomyKit.h └── NSCalendar+AstronomyKit.m ├── Cartfile.private ├── Cartfile.resolved ├── LICENSE ├── README.md ├── Tests ├── AstronomyKitTests.m └── Info.plist └── Vendor └── AA+ └── 1.6.3 ├── AA+.h ├── AA+.htm ├── AA2DCoordinate.h ├── AA3DCoordinate.h ├── AAAberration.cpp ├── AAAberration.h ├── AAAngularSeparation.cpp ├── AAAngularSeparation.h ├── AABinaryStar.cpp ├── AABinaryStar.h ├── AACoordinateTransformation.cpp ├── AACoordinateTransformation.h ├── AADate.cpp ├── AADate.h ├── AADiameters.cpp ├── AADiameters.h ├── AADynamicalTime.cpp ├── AADynamicalTime.h ├── AAEarth.cpp ├── AAEarth.h ├── AAEaster.cpp ├── AAEaster.h ├── AAEclipses.cpp ├── AAEclipses.h ├── AAEclipticalElements.cpp ├── AAEclipticalElements.h ├── AAElementsPlanetaryOrbit.cpp ├── AAElementsPlanetaryOrbit.h ├── AAElliptical.cpp ├── AAElliptical.h ├── AAEquationOfTime.cpp ├── AAEquationOfTime.h ├── AAEquinoxesAndSolstices.cpp ├── AAEquinoxesAndSolstices.h ├── AAFK5.cpp ├── AAFK5.h ├── AAGalileanMoons.cpp ├── AAGalileanMoons.h ├── AAGlobe.cpp ├── AAGlobe.h ├── AAIlluminatedFraction.cpp ├── AAIlluminatedFraction.h ├── AAInterpolate.cpp ├── AAInterpolate.h ├── AAJewishCalendar.cpp ├── AAJewishCalendar.h ├── AAJupiter.cpp ├── AAJupiter.h ├── AAKepler.cpp ├── AAKepler.h ├── AAMars.cpp ├── AAMars.h ├── AAMercury.cpp ├── AAMercury.h ├── AAMoon.cpp ├── AAMoon.h ├── AAMoonIlluminatedFraction.cpp ├── AAMoonIlluminatedFraction.h ├── AAMoonMaxDeclinations.cpp ├── AAMoonMaxDeclinations.h ├── AAMoonNodes.cpp ├── AAMoonNodes.h ├── AAMoonPerigeeApogee.cpp ├── AAMoonPerigeeApogee.h ├── AAMoonPhases.cpp ├── AAMoonPhases.h ├── AAMoslemCalendar.cpp ├── AAMoslemCalendar.h ├── AANearParabolic.cpp ├── AANearParabolic.h ├── AANeptune.cpp ├── AANeptune.h ├── AANodes.cpp ├── AANodes.h ├── AANutation.cpp ├── AANutation.h ├── AAParabolic.cpp ├── AAParabolic.h ├── AAParallactic.cpp ├── AAParallactic.h ├── AAParallax.cpp ├── AAParallax.h ├── AAPhysicalJupiter.cpp ├── AAPhysicalJupiter.h ├── AAPhysicalMars.cpp ├── AAPhysicalMars.h ├── AAPhysicalMoon.cpp ├── AAPhysicalMoon.h ├── AAPhysicalSun.cpp ├── AAPhysicalSun.h ├── AAPlanetPerihelionAphelion.cpp ├── AAPlanetPerihelionAphelion.h ├── AAPlanetaryPhenomena.cpp ├── AAPlanetaryPhenomena.h ├── AAPluto.cpp ├── AAPluto.h ├── AAPrecession.cpp ├── AAPrecession.h ├── AARefraction.cpp ├── AARefraction.h ├── AARiseTransitSet.cpp ├── AARiseTransitSet.h ├── AASaturn.cpp ├── AASaturn.h ├── AASaturnMoons.cpp ├── AASaturnMoons.h ├── AASaturnRings.cpp ├── AASaturnRings.h ├── AASidereal.cpp ├── AASidereal.h ├── AAStellarMagnitudes.cpp ├── AAStellarMagnitudes.h ├── AASun.cpp ├── AASun.h ├── AATest.cpp ├── AATest.sln ├── AATest.vcproj ├── AAUranus.cpp ├── AAUranus.h ├── AAVSOP87.cpp ├── AAVSOP87.h ├── AAVSOP87A_EAR.cpp ├── AAVSOP87A_EAR.h ├── AAVSOP87A_EMB.cpp ├── AAVSOP87A_EMB.h ├── AAVSOP87A_JUP.cpp ├── AAVSOP87A_JUP.h ├── AAVSOP87A_MAR.cpp ├── AAVSOP87A_MAR.h ├── AAVSOP87A_MER.cpp ├── AAVSOP87A_MER.h ├── AAVSOP87A_NEP.cpp ├── AAVSOP87A_NEP.h ├── AAVSOP87A_SAT.cpp ├── AAVSOP87A_SAT.h ├── AAVSOP87A_URA.cpp ├── AAVSOP87A_URA.h ├── AAVSOP87A_VEN.cpp ├── AAVSOP87A_VEN.h ├── AAVSOP87B_EAR.cpp ├── AAVSOP87B_EAR.h ├── AAVSOP87B_JUP.cpp ├── AAVSOP87B_JUP.h ├── AAVSOP87B_MAR.cpp ├── AAVSOP87B_MAR.h ├── AAVSOP87B_MER.cpp ├── AAVSOP87B_MER.h ├── AAVSOP87B_NEP.cpp ├── AAVSOP87B_NEP.h ├── AAVSOP87B_SAT.cpp ├── AAVSOP87B_SAT.h ├── AAVSOP87B_URA.cpp ├── AAVSOP87B_URA.h ├── AAVSOP87B_VEN.cpp ├── AAVSOP87B_VEN.h ├── AAVSOP87C_EAR.cpp ├── AAVSOP87C_EAR.h ├── AAVSOP87C_JUP.cpp ├── AAVSOP87C_JUP.h ├── AAVSOP87C_MAR.cpp ├── AAVSOP87C_MAR.h ├── AAVSOP87C_MER.cpp ├── AAVSOP87C_MER.h ├── AAVSOP87C_NEP.cpp ├── AAVSOP87C_NEP.h ├── AAVSOP87C_SAT.cpp ├── AAVSOP87C_SAT.h ├── AAVSOP87C_URA.cpp ├── AAVSOP87C_URA.h ├── AAVSOP87C_VEN.cpp ├── AAVSOP87C_VEN.h ├── AAVSOP87D_EAR.cpp ├── AAVSOP87D_EAR.h ├── AAVSOP87D_JUP.cpp ├── AAVSOP87D_JUP.h ├── AAVSOP87D_MAR.cpp ├── AAVSOP87D_MAR.h ├── AAVSOP87D_MER.cpp ├── AAVSOP87D_MER.h ├── AAVSOP87D_NEP.cpp ├── AAVSOP87D_NEP.h ├── AAVSOP87D_SAT.cpp ├── AAVSOP87D_SAT.h ├── AAVSOP87D_URA.cpp ├── AAVSOP87D_URA.h ├── AAVSOP87D_VEN.cpp ├── AAVSOP87D_VEN.h ├── AAVSOP87E_EAR.cpp ├── AAVSOP87E_EAR.h ├── AAVSOP87E_JUP.cpp ├── AAVSOP87E_JUP.h ├── AAVSOP87E_MAR.cpp ├── AAVSOP87E_MAR.h ├── AAVSOP87E_MER.cpp ├── AAVSOP87E_MER.h ├── AAVSOP87E_NEP.cpp ├── AAVSOP87E_NEP.h ├── AAVSOP87E_SAT.cpp ├── AAVSOP87E_SAT.h ├── AAVSOP87E_SUN.cpp ├── AAVSOP87E_SUN.h ├── AAVSOP87E_URA.cpp ├── AAVSOP87E_URA.h ├── AAVSOP87E_VEN.cpp ├── AAVSOP87E_VEN.h ├── AAVSOP87_EMB.cpp ├── AAVSOP87_EMB.h ├── AAVSOP87_JUP.cpp ├── AAVSOP87_JUP.h ├── AAVSOP87_MAR.cpp ├── AAVSOP87_MAR.h ├── AAVSOP87_MER.cpp ├── AAVSOP87_MER.h ├── AAVSOP87_NEP.cpp ├── AAVSOP87_NEP.h ├── AAVSOP87_SAT.cpp ├── AAVSOP87_SAT.h ├── AAVSOP87_URA.cpp ├── AAVSOP87_URA.h ├── AAVSOP87_VEN.cpp ├── AAVSOP87_VEN.h ├── AAVenus.cpp ├── AAVenus.h ├── CMakeLists.txt ├── naughter.css ├── stdafx.cpp └── stdafx.h /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "Carthage/Checkouts/xcconfigs"] 2 | path = Carthage/Checkouts/xcconfigs 3 | url = ssh://git@github.com/jspahrsummers/xcconfigs.git 4 | -------------------------------------------------------------------------------- /.swift-version: -------------------------------------------------------------------------------- 1 | 3.1 2 | -------------------------------------------------------------------------------- /AstronomyKit.podspec: -------------------------------------------------------------------------------- 1 | # 2 | # Be sure to run `pod lib lint TestPod.podspec' to ensure this is a 3 | # valid spec before submitting. 4 | # 5 | # Any lines starting with a # are optional, but their use is encouraged 6 | # To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html 7 | # 8 | 9 | Pod::Spec.new do |s| 10 | s.name = "AstronomyKit" 11 | s.version = "1.6.0" 12 | s.summary = "Compute various aspects of the solar system." 13 | 14 | s.description = <<~DESC 15 | "Compute various aspects of the solar system. AstronomyKit uses AA+ to perform these computations." 16 | DESC 17 | 18 | s.homepage = "https://github.com/hodinkee/AstronomyKit" 19 | s.license = { :type => "MIT", :file => "LICENSE" } 20 | s.author = { "Caleb Davenport" => "caleb@hodinkee.com" } 21 | s.source = { :git => "https://github.com/hodinkee/AstronomyKit.git", :tag => "v#{s.version.to_s}", :submodules => true } 22 | 23 | s.ios.deployment_target = "9.0" 24 | 25 | s.source_files = "Vendor/AA+/1.6.3/*.{h,cpp}", "AstronomyKit/*.{h,mm,m}" 26 | 27 | s.exclude_files = "Vendor/AA+/1.6.3/AATest.cpp", "Vendor/AA+/1.6.3/AAEaster.cpp" 28 | s.public_header_files = "AstronomyKit/AstronomicalCalculations.h", "AstronomyKit/NSCalendar+AstronomyKit.h" 29 | end 30 | -------------------------------------------------------------------------------- /AstronomyKit/AstronomyKit.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /AstronomyKit/AstronomyKit.playground/section-1.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | import CoreLocation 3 | import AstronomyKit 4 | 5 | let date = Date() 6 | 7 | extension CLLocationCoordinate2D { 8 | static var SanFrancisco: CLLocationCoordinate2D { 9 | return CLLocationCoordinate2D(latitude: 37.7833, longitude: -122.4167) 10 | } 11 | } 12 | 13 | AstronomicalCalculations.lunarRiseDate(with: date, location: .SanFrancisco) 14 | AstronomicalCalculations.lunarTransitDate(with: date, location: .SanFrancisco) 15 | AstronomicalCalculations.lunarSetDate(with: date, location: .SanFrancisco) 16 | 17 | AstronomicalCalculations.solarRiseDate(with: date, location: .SanFrancisco) 18 | AstronomicalCalculations.solarTransitDate(with: date, location: .SanFrancisco) 19 | AstronomicalCalculations.solarSetDate(with: date, location: .SanFrancisco) 20 | 21 | AstronomicalCalculations.date(forTrueLunarPhase: 0.0, with: date) // New 22 | AstronomicalCalculations.date(forTrueLunarPhase: 0.25, with: date) // First quarter 23 | AstronomicalCalculations.date(forTrueLunarPhase: 0.5, with: date) // Full 24 | AstronomicalCalculations.date(forTrueLunarPhase: 0.75, with: date) // Last quarter 25 | 26 | AstronomicalCalculations.lunarPhaseAngle(with: date) 27 | AstronomicalCalculations.lunarPositionAngle(with: date) 28 | AstronomicalCalculations.lunarPhase(with: date) 29 | -------------------------------------------------------------------------------- /AstronomyKit/Configuration/iOS/AstronomyKit.h: -------------------------------------------------------------------------------- 1 | // 2 | // AstronomyKit.h 3 | // AstronomyKit 4 | // 5 | // Created by Caleb Davenport on 9/1/15. 6 | // Copyright © 2015-2016 HODINKEE. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import 12 | 13 | FOUNDATION_EXPORT double AstronomyKitVersionNumber; 14 | FOUNDATION_EXPORT const unsigned char AstronomyKitVersionString[]; 15 | -------------------------------------------------------------------------------- /AstronomyKit/Configuration/iOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | $(MARKETING_VERSION) 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(CURRENT_PROJECT_VERSION) 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /AstronomyKit/Configuration/macOS/AstronomyKit.h: -------------------------------------------------------------------------------- 1 | // 2 | // AstronomyKit.h 3 | // AstronomyKit 4 | // 5 | // Created by Caleb Davenport on 9/1/15. 6 | // Copyright © 2015-2016 HODINKEE. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import 12 | 13 | FOUNDATION_EXPORT double AstronomyKitVersionNumber; 14 | FOUNDATION_EXPORT const unsigned char AstronomyKitVersionString[]; 15 | -------------------------------------------------------------------------------- /AstronomyKit/Configuration/macOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | $(MARKETING_VERSION) 19 | CFBundleVersion 20 | $(CURRENT_PROJECT_VERSION) 21 | NSHumanReadableCopyright 22 | Copyright © 2016 HODINKEE. All rights reserved. 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /AstronomyKit/Configuration/tvOS/AstronomyKit.h: -------------------------------------------------------------------------------- 1 | // 2 | // AstronomyKit.h 3 | // AstronomyKit 4 | // 5 | // Created by Caleb Davenport on 9/1/15. 6 | // Copyright © 2015-2016 HODINKEE. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import 12 | 13 | FOUNDATION_EXPORT double AstronomyKitVersionNumber; 14 | FOUNDATION_EXPORT const unsigned char AstronomyKitVersionString[]; 15 | -------------------------------------------------------------------------------- /AstronomyKit/Configuration/tvOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | $(MARKETING_VERSION) 19 | CFBundleVersion 20 | $(CURRENT_PROJECT_VERSION) 21 | NSPrincipalClass 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /AstronomyKit/NSCalendar+AstronomyKit.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSCalendar+AstronomyKit.h 3 | // AstronomyKit 4 | // 5 | // Created by Caleb Davenport on 2/9/15. 6 | // Copyright © 2015-2016 HODINKEE. All rights reserved. 7 | // 8 | 9 | #if defined(__has_feature) && __has_feature(objc_modules) 10 | @import Foundation; 11 | #else 12 | #import 13 | #endif 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | 17 | @interface NSCalendar (AstronomyKit) 18 | 19 | + (instancetype)AstronomyKitGregorianCalendar; 20 | 21 | @end 22 | 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /AstronomyKit/NSCalendar+AstronomyKit.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSCalendar+AstronomyKit.m 3 | // AstronomyKit 4 | // 5 | // Created by Caleb Davenport on 2/9/15. 6 | // Copyright © 2015-2016 HODINKEE. All rights reserved. 7 | // 8 | 9 | #import "NSCalendar+AstronomyKit.h" 10 | 11 | static NSString *const AstronomyKitSharedGregorianCalendarKey = @"com.hodinkee.AstronomyKit.SharedGregorianCalendar"; 12 | 13 | @implementation NSCalendar (AstronomyKit) 14 | 15 | + (instancetype)AstronomyKitGregorianCalendar { 16 | NSThread *thread = [NSThread currentThread]; 17 | NSMutableDictionary *dictionary = [thread threadDictionary]; 18 | NSCalendar *calendar = dictionary[AstronomyKitSharedGregorianCalendarKey]; 19 | if (calendar == nil) { 20 | calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian]; 21 | dictionary[AstronomyKitSharedGregorianCalendarKey] = calendar; 22 | } 23 | return calendar; 24 | } 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Cartfile.private: -------------------------------------------------------------------------------- 1 | github "jspahrsummers/xcconfigs" 2 | -------------------------------------------------------------------------------- /Cartfile.resolved: -------------------------------------------------------------------------------- 1 | github "jspahrsummers/xcconfigs" "1.1" 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 HODINKEE. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AstronomyKit 2 | 3 | AstronomyKit works with [AA+](http://www.naughter.com/aa.html) to provide Objective-C and Swift API for performing complex calculations about the solar system. 4 | 5 | ## Installation 6 | 7 | AstronomyKit works best with [Carthage](https://github.com/carthage/carthage). 8 | 9 | ``` 10 | github "hodinkee/AstronomyKit" 11 | ``` 12 | 13 | You may also integrate the framework into your project directly. 14 | 15 | ## Usage 16 | 17 | Examples can be seen in `AstronomyKit.playground`. 18 | -------------------------------------------------------------------------------- /Tests/AstronomyKitTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // AstronomyKitTests.m 3 | // AstronomyKitTests 4 | // 5 | // Created by Caleb Davenport on 9/1/15. 6 | // Copyright (c) 2015 Hodinkee. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface AstronomyKitTests : XCTestCase 13 | 14 | @end 15 | 16 | @implementation AstronomyKitTests 17 | 18 | - (void)setUp { 19 | [super setUp]; 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | } 22 | 23 | - (void)tearDown { 24 | // Put teardown code here. This method is called after the invocation of each test method in the class. 25 | [super tearDown]; 26 | } 27 | 28 | - (void)testExample { 29 | // This is an example of a functional test case. 30 | XCTAssert(YES, @"Pass"); 31 | } 32 | 33 | - (void)testPerformanceExample { 34 | // This is an example of a performance test case. 35 | [self measureBlock:^{ 36 | // Put the code you want to measure the time of here. 37 | }]; 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /Tests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.7.1 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 9 23 | 24 | 25 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AA+.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hodinkee/astronomykit/4a1540bcacbd7c6685fcaa2c62e05aa31cb86562/Vendor/AA+/1.6.3/AA+.htm -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AA2DCoordinate.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AA2DCOORDINATE.H 3 | Purpose: Implementation for the simple class to encapsulate a two dimensional coordinate 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AA2DCOORDINATE_H__ 28 | #define __AA2DCOORDINATE_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAA2DCoordinate 38 | { 39 | public: 40 | //Constructors / Destructors 41 | CAA2DCoordinate(): X(0), 42 | Y(0) 43 | { 44 | }; 45 | 46 | //Member variables 47 | double X; 48 | double Y; 49 | }; 50 | 51 | 52 | #endif //#ifndef __AA2DCOORDINATE_H__ 53 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AA3DCoordinate.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AA3DCOORDINATE.H 3 | Purpose: Implementation for the simple class to encapsulate a three dimensional coordinate 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AA3DCOORDINATE_H__ 28 | #define __AA3DCOORDINATE_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAA3DCoordinate 38 | { 39 | public: 40 | //Constructors / Destructors 41 | CAA3DCoordinate() : X(0), 42 | Y(0), 43 | Z(0) 44 | { 45 | }; 46 | 47 | //member variables 48 | double X; 49 | double Y; 50 | double Z; 51 | }; 52 | 53 | 54 | #endif //#ifndef __AA3DCOORDINATE_H__ 55 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAAberration.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hodinkee/astronomykit/4a1540bcacbd7c6685fcaa2c62e05aa31cb86562/Vendor/AA+/1.6.3/AAAberration.cpp -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAAberration.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAABERRATION.H 3 | Purpose: Implementation for the algorithms for Aberration 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAABERRATION_H__ 28 | #define __AAABERRATION_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Includes ////////////////////////////////////////////// 36 | 37 | #include "AA2DCoordinate.h" 38 | #include "AA3DCoordinate.h" 39 | 40 | 41 | /////////////////////// Classes /////////////////////////////////////////////// 42 | 43 | class AAPLUS_EXT_CLASS CAAAberration 44 | { 45 | public: 46 | //Static methods 47 | static CAA3DCoordinate EarthVelocity(double JD, bool bHighPrecision); 48 | static CAA2DCoordinate EclipticAberration(double Alpha, double Delta, double JD, bool bHighPrecision); 49 | static CAA2DCoordinate EquatorialAberration(double Lambda, double Beta, double JD, bool bHighPrecision); 50 | }; 51 | 52 | 53 | #endif //#ifndef __AAABERRATION_H__ 54 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAAngularSeparation.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAANGULARSEPARATION.H 3 | Purpose: Implementation for the algorithms which obtain various separation distances between celestial objects 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAANGULARSEPARATION_H__ 28 | #define __AAANGULARSEPARATION_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | ////////////////////// Classes //////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAAngularSeparation 38 | { 39 | public: 40 | //Static methods 41 | static double Separation(double Alpha1, double Delta1, double Alpha2, double Delta2); 42 | static double PositionAngle(double Alpha1, double Delta1, double Alpha2, double Delta2); 43 | static double DistanceFromGreatArc(double Alpha1, double Delta1, double Alpha2, double Delta2, double Alpha3, double Delta3); 44 | static double SmallestCircle(double Alpha1, double Delta1, double Alpha2, double Delta2, double Alpha3, double Delta3, bool& bType1); 45 | }; 46 | 47 | 48 | #endif //#ifndef __AAANGULARSEPARATION_H__ 49 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AABinaryStar.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AABINARYSTAR.CPP 3 | Purpose: Implementation for the algorithms for an binary stars system 4 | Created: PJN / 29-12-2003 5 | History: None 6 | 7 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////////////////// Includes ////////////////////////////////// 23 | 24 | #include "stdafx.h" 25 | #include "AABinaryStar.h" 26 | #include "AAKepler.h" 27 | #include "AACoordinateTransformation.h" 28 | #include 29 | using namespace std; 30 | 31 | 32 | ////////////////////////////////// Implementation ///////////////////////////// 33 | 34 | CAABinaryStarDetails CAABinaryStar::Calculate(double t, double P, double T, double e, double a, double i, double omega, double w) 35 | { 36 | double n = 360 / P; 37 | double M = CAACoordinateTransformation::MapTo0To360Range(n*(t - T)); 38 | double E = CAAKepler::Calculate(M, e); 39 | E = CAACoordinateTransformation::DegreesToRadians(E); 40 | i = CAACoordinateTransformation::DegreesToRadians(i); 41 | w = CAACoordinateTransformation::DegreesToRadians(w); 42 | omega = CAACoordinateTransformation::DegreesToRadians(omega); 43 | 44 | CAABinaryStarDetails details; 45 | 46 | details.r = a*(1 - e*cos(E)); 47 | 48 | double v = atan(sqrt((1 + e) / (1 - e)) * tan(E/2)) * 2; 49 | details.Theta = atan2(sin(v + w) * cos(i), cos(v + w)) + omega; 50 | details.Theta = CAACoordinateTransformation::MapTo0To360Range(CAACoordinateTransformation::RadiansToDegrees(details.Theta)); 51 | 52 | double sinvw = sin(v + w); 53 | double cosvw = cos(v + w); 54 | double cosi = cos(i); 55 | details.Rho = details.r * sqrt((sinvw*sinvw*cosi*cosi) + (cosvw*cosvw)); 56 | 57 | return details; 58 | } 59 | 60 | double CAABinaryStar::ApparentEccentricity(double e, double i, double w) 61 | { 62 | i = CAACoordinateTransformation::DegreesToRadians(i); 63 | w = CAACoordinateTransformation::DegreesToRadians(w); 64 | 65 | double cosi = cos(i); 66 | double cosw = cos(w); 67 | double sinw = sin(w); 68 | double esquared = e*e; 69 | double A = (1 - esquared*cosw*cosw)*cosi*cosi; 70 | double B = esquared*sinw*cosw*cosi; 71 | double C = 1 - esquared*sinw*sinw; 72 | double D = (A - C)*(A - C) + 4*B*B; 73 | 74 | double sqrtD = sqrt(D); 75 | return sqrt(2*sqrtD / (A + C + sqrtD)); 76 | } 77 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AABinaryStar.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AABINARYSTAR.H 3 | Purpose: Implementation for the algorithms for an binary stars system 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AABINARYSTAR_H__ 28 | #define __AABINARYSTAR_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAABinaryStarDetails 38 | { 39 | public: 40 | //Constructors / Destructors 41 | CAABinaryStarDetails() : r(0), 42 | Theta(0), 43 | Rho(0) 44 | { 45 | }; 46 | 47 | //Member variables 48 | double r; 49 | double Theta; 50 | double Rho; 51 | }; 52 | 53 | class AAPLUS_EXT_CLASS CAABinaryStar 54 | { 55 | public: 56 | //Static methods 57 | static CAABinaryStarDetails Calculate(double t, double P, double T, double e, double a, double i, double omega, double w); 58 | static double ApparentEccentricity(double e, double i, double w); 59 | }; 60 | 61 | 62 | #endif //#ifndef __AABINARYSTAR_H__ 63 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AACoordinateTransformation.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hodinkee/astronomykit/4a1540bcacbd7c6685fcaa2c62e05aa31cb86562/Vendor/AA+/1.6.3/AACoordinateTransformation.cpp -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AADiameters.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AADIAMETERS.H 3 | Purpose: Implementation for the algorithms for the semi diameters of the Sun, Moon, Planets, and Asteroids 4 | Created: PJN / 15-01-2004 5 | 6 | Copyright (c) 2004 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AADIAMETERS_H__ 28 | #define __AADIAMETERS_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAADiameters 38 | { 39 | public: 40 | //Static methods 41 | static double SunSemidiameterA(double Delta); 42 | static double MercurySemidiameterA(double Delta); 43 | static double VenusSemidiameterA(double Delta); 44 | static double MarsSemidiameterA(double Delta); 45 | static double JupiterEquatorialSemidiameterA(double Delta); 46 | static double JupiterPolarSemidiameterA(double Delta); 47 | static double SaturnEquatorialSemidiameterA(double Delta); 48 | static double SaturnPolarSemidiameterA(double Delta); 49 | static double ApparentSaturnPolarSemidiameterA(double Delta, double B); 50 | static double UranusSemidiameterA(double Delta); 51 | static double NeptuneSemidiameterA(double Delta); 52 | static double MercurySemidiameterB(double Delta); 53 | static double VenusSemidiameterB(double Delta); 54 | static double MarsSemidiameterB(double Delta); 55 | static double JupiterEquatorialSemidiameterB(double Delta); 56 | static double JupiterPolarSemidiameterB(double Delta); 57 | static double SaturnEquatorialSemidiameterB(double Delta); 58 | static double SaturnPolarSemidiameterB(double Delta); 59 | static double ApparentSaturnPolarSemidiameterB(double Delta, double B); 60 | static double UranusSemidiameterB(double Delta); 61 | static double NeptuneSemidiameterB(double Delta); 62 | static double PlutoSemidiameterB(double Delta); 63 | static double GeocentricMoonSemidiameter(double Delta); 64 | static double TopocentricMoonSemidiameter(double DistanceDelta, double Delta, double H, double Latitude, double Height); 65 | static double AsteroidDiameter(double H, double A); 66 | static double ApparentAsteroidDiameter(double H, double A); 67 | }; 68 | 69 | 70 | #endif //#ifndef __AADIAMETERS_H__ 71 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AADynamicalTime.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AADYNAMICALTIME.H 3 | Purpose: Implementation for the algorithms which provides for conversion between Universal Time (both UT1 and UTC) 4 | and Terrestrial Time (TT) aka Terrestrial Dynamical Time (TDT) aka Ephemeris Time (ET) 5 | Created: PJN / 29-12-2003 6 | 7 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif //#if _MSC_VER > 1000 27 | 28 | #ifndef __AADYNAMICALTIME_H__ 29 | #define __AADYNAMICALTIME_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif //#ifndef AAPLUS_EXT_CLASS 34 | 35 | 36 | /////////////////////// Classes /////////////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAADynamicalTime 39 | { 40 | public: 41 | //Static methods 42 | static double DeltaT(double JD); 43 | static double CumulativeLeapSeconds(double JD); 44 | static double TT2UTC(double JD); 45 | static double UTC2TT(double JD); 46 | static double TT2TAI(double JD); 47 | static double TAI2TT(double JD); 48 | static double TT2UT1(double JD); 49 | static double UT12TT(double JD); 50 | static double UT1MinusUTC(double JD); 51 | }; 52 | 53 | 54 | #endif //#ifndef __AADYNAMICALTIME_H__ 55 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAEarth.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAEARTH.H 3 | Purpose: Implementation for the algorithms which calculate the position of Earth 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAEARTH_H__ 28 | #define __AAEARTH_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | //////////////////////// Classes ////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAEarth 38 | { 39 | public: 40 | //Static methods 41 | static double EclipticLongitude(double JD, bool bHighPrecision); 42 | static double EclipticLatitude(double JD, bool bHighPrecision); 43 | static double RadiusVector(double JD, bool bHighPrecision); 44 | static double SunMeanAnomaly(double JD); 45 | static double Eccentricity(double JD); 46 | static double EclipticLongitudeJ2000(double JD, bool bHighPrecision); 47 | static double EclipticLatitudeJ2000(double JD, bool bHighPrecision); 48 | }; 49 | 50 | 51 | #endif //#ifndef __AAEARTH_H__ 52 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAEaster.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAEASTER.CPP 3 | Purpose: Implementation for the algorithms which calculate the date of Easter 4 | Created: PJN / 29-12-2003 5 | History: None 6 | 7 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////////////////// Includes ////////////////////////////////// 23 | 24 | #include "stdafx.h" 25 | #include "AAEaster.h" 26 | 27 | 28 | /////////////////////////////////// Implementation //////////////////////////// 29 | 30 | CAAEasterDetails CAAEaster::Calculate(long nYear, bool GregorianCalendar) 31 | { 32 | CAAEasterDetails details; 33 | 34 | if (GregorianCalendar) 35 | { 36 | int a = nYear % 19; 37 | int b = nYear / 100; 38 | int c = nYear % 100; 39 | int d = b / 4; 40 | int e = b % 4; 41 | int f = (b+8) / 25; 42 | int g = (b - f + 1) / 3; 43 | int h = (19*a + b - d - g + 15) % 30; 44 | int i = c / 4; 45 | int k = c % 4; 46 | int l = (32 + 2*e + 2*i - h -k) % 7; 47 | int m = (a + 11*h +22*l) / 451; 48 | int n = (h + l - 7*m + 114) / 31; 49 | int p = (h + l - 7*m + 114) % 31; 50 | details.Month = n; 51 | details.Day = p + 1; 52 | } 53 | else 54 | { 55 | int a = nYear % 4; 56 | int b = nYear % 7; 57 | int c = nYear % 19; 58 | int d = (19*c + 15) % 30; 59 | int e = (2*a + 4*b - d + 34) % 7; 60 | int f = (d + e + 114) / 31; 61 | int g = (d + e + 114) % 31; 62 | details.Month = f; 63 | details.Day = g + 1; 64 | } 65 | 66 | return details; 67 | } 68 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAEaster.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAEASTER.H 3 | Purpose: Implementation for the algorithms which calculate the date of Easter 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAEASTER_H__ 28 | #define __AAEASTER_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | ///////////////////// Classes ///////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAEasterDetails 38 | { 39 | public: 40 | //Constructors / Destructors 41 | CAAEasterDetails() : Month(0), 42 | Day(0) 43 | { 44 | }; 45 | 46 | //Member variables 47 | long Month; 48 | long Day; 49 | }; 50 | 51 | class AAPLUS_EXT_CLASS CAAEaster 52 | { 53 | public: 54 | //Static methods 55 | static CAAEasterDetails Calculate(long nYear, bool GregorianCalendar); 56 | }; 57 | 58 | 59 | #endif //#ifndef __AAEASTER_H__ 60 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAEclipticalElements.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAECLIPTICALELEMENTS.H 3 | Purpose: Implementation for the algorithms which map the ecliptical elements from one equinox to another 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAECLIPTICALELEMENTS_H__ 28 | #define __AAECLIPTICALELEMENTS_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAEclipticalElementDetails 38 | { 39 | public: 40 | //Constructors / Destructors 41 | CAAEclipticalElementDetails() : i(0), 42 | w(0), 43 | omega(0) 44 | { 45 | }; 46 | 47 | //Member variables 48 | double i; 49 | double w; 50 | double omega; 51 | }; 52 | 53 | class AAPLUS_EXT_CLASS CAAEclipticalElements 54 | { 55 | public: 56 | //Static methods 57 | static CAAEclipticalElementDetails Calculate(double i0, double w0, double omega0, double JD0, double JD); 58 | static CAAEclipticalElementDetails FK4B1950ToFK5J2000(double i0, double w0, double omega0); 59 | }; 60 | 61 | 62 | #endif //#ifndef __AAECLIPTICALELEMENTS_H__ 63 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAEquationOfTime.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAEQUATIONOFTIME.H 3 | Purpose: Implementation for the algorithms to calculate the "Equation of Time" 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAEQUATIONOFTIME_H__ 28 | #define __AAEQUATIONOFTIME_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAEquationOfTime 38 | { 39 | public: 40 | //Static methods 41 | static double Calculate(double JD, bool bHighPrecision); 42 | }; 43 | 44 | 45 | #endif //#ifndef __AAEQUATIONOFTIME_H__ 46 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAEquinoxesAndSolstices.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAEQUINOXESANDSOLTICES.H 3 | Purpose: Implementation for the algorithms to calculate the dates of the Equinoxes and Solstices 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAEQUINOXESANDSOLSTICES_H_ 28 | #define __AAEQUINOXESANDSOLSTICES_H_ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAEquinoxesAndSolstices 38 | { 39 | public: 40 | //Static methods 41 | static double NorthwardEquinox(long Year, bool bHighPrecision); 42 | static double NorthernSolstice(long Year, bool bHighPrecision); 43 | static double SouthwardEquinox(long Year, bool bHighPrecision); 44 | static double SouthernSolstice(long Year, bool bHighPrecision); 45 | static double LengthOfSpring(long Year, bool bNorthernHemisphere, bool bHighPrecision); 46 | static double LengthOfSummer(long Year, bool bNorthernHemisphere, bool bHighPrecision); 47 | static double LengthOfAutumn(long Year, bool bNorthernHemisphere, bool bHighPrecision); 48 | static double LengthOfWinter(long Year, bool bNorthernHemisphere, bool bHighPrecision); 49 | }; 50 | 51 | 52 | #endif //#ifndef __AAEQUINOXESANDSOLSTICES_H_ 53 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAFK5.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAFK5.H 3 | Purpose: Implementation for the algorithms to convert to the FK5 standard reference frame 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAFK5_H__ 28 | #define __AAFK5_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Includes ////////////////////////////////////////////// 36 | 37 | #include "AA3DCoordinate.h" 38 | 39 | 40 | /////////////////////// Classes /////////////////////////////////////////////// 41 | 42 | class AAPLUS_EXT_CLASS CAAFK5 43 | { 44 | public: 45 | //Static methods 46 | static double CorrectionInLongitude(double Longitude, double Latitude, double JD); 47 | static double CorrectionInLatitude(double Longitude, double JD); 48 | static CAA3DCoordinate ConvertVSOPToFK5J2000(const CAA3DCoordinate& value); 49 | static CAA3DCoordinate ConvertVSOPToFK5B1950(const CAA3DCoordinate& value); 50 | static CAA3DCoordinate ConvertVSOPToFK5AnyEquinox(const CAA3DCoordinate& value, double JDEquinox); 51 | }; 52 | 53 | 54 | #endif //#ifndef __AAFK5_H__ 55 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAGlobe.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAGLOBE.H 3 | Purpose: Implementation for the algorithms for the Earth's Globe 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAGLOBE_H__ 28 | #define __AAGLOBE_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAGlobe 38 | { 39 | public: 40 | //Static methods 41 | static double RhoSinThetaPrime(double GeographicalLatitude, double Height); 42 | static double RhoCosThetaPrime(double GeographicalLatitude, double Height); 43 | static double RadiusOfParallelOfLatitude(double GeographicalLatitude); 44 | static double RadiusOfCurvature(double GeographicalLatitude); 45 | static double DistanceBetweenPoints(double GeographicalLatitude1, double GeographicalLongitude1, double GeographicalLatitude2, double GeographicalLongitude2); 46 | }; 47 | 48 | 49 | #endif //#ifndef __AAGLOBE_H__ 50 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAIlluminatedFraction.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAILLUMINATEDFRACTION.H 3 | Purpose: Implementation for the algorithms for a Planet's Phase Angle, Illuminated Fraction and Magnitude 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAILLUMINATEDFRACTION_H__ 28 | #define __AAILLUMINATEDFRACTION_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAIlluminatedFraction 38 | { 39 | public: 40 | //Static methods 41 | static double PhaseAngle(double r, double R, double Delta); 42 | static double PhaseAngle(double R, double R0, double B, double L, double L0, double Delta); 43 | static double PhaseAngleRectangular(double x, double y, double z, double B, double L, double Delta); 44 | static double IlluminatedFraction(double PhaseAngle); 45 | static double IlluminatedFraction(double r, double R, double Delta); 46 | static double MercuryMagnitudeMuller(double r, double Delta, double i); 47 | static double VenusMagnitudeMuller(double r, double Delta, double i); 48 | static double MarsMagnitudeMuller(double r, double Delta, double i); 49 | static double JupiterMagnitudeMuller(double r, double Delta); 50 | static double SaturnMagnitudeMuller(double r, double Delta, double DeltaU, double B); 51 | static double UranusMagnitudeMuller(double r, double Delta); 52 | static double NeptuneMagnitudeMuller(double r, double Delta); 53 | static double MercuryMagnitudeAA(double r, double Delta, double i); 54 | static double VenusMagnitudeAA(double r, double Delta, double i); 55 | static double MarsMagnitudeAA(double r, double Delta, double i); 56 | static double JupiterMagnitudeAA(double r, double Delta, double i); 57 | static double SaturnMagnitudeAA(double r, double Delta, double DeltaU, double B); 58 | static double UranusMagnitudeAA(double r, double Delta); 59 | static double NeptuneMagnitudeAA(double r, double Delta); 60 | static double PlutoMagnitudeAA(double r, double Delta); 61 | }; 62 | 63 | 64 | #endif //#ifndef __AAILLUMINATEDFRACTION_H__ 65 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAInterpolate.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAINTERPOLATE.H 3 | Purpose: Implementation for the algorithms for Interpolation 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAINTERPOLATE_H__ 28 | #define __AAINTERPOLATE_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAInterpolate 38 | { 39 | public: 40 | //Static methods 41 | static double Interpolate(double n, double Y1, double Y2, double Y3); 42 | static double Interpolate(double n, double Y1, double Y2, double Y3, double Y4, double Y5); 43 | static double InterpolateToHalves(double Y1, double Y2, double Y3, double Y4); 44 | static double LagrangeInterpolate(double X, int n, double* pX, double* pY); 45 | static double Extremum(double Y1, double Y2, double Y3, double& nm); 46 | static double Extremum(double Y1, double Y2, double Y3, double Y4, double Y5, double& nm); 47 | static double Zero(double Y1, double Y2, double Y3); 48 | static double Zero(double Y1, double Y2, double Y3, double Y4, double Y5); 49 | static double Zero2(double Y1, double Y2, double Y3); 50 | static double Zero2(double Y1, double Y2, double Y3, double Y4, double Y5); 51 | }; 52 | 53 | 54 | #endif //#ifndef __AAINTERPOLATE_H__ 55 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAJewishCalendar.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAJEWISHCALENDAR.H 3 | Purpose: Implementation for the algorithms which convert between the Gregorian, Julian and the Jewish calendar 4 | Created: PJN / 04-02-2004 5 | 6 | Copyright (c) 2004 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAJEWISHCALENDAR_H__ 28 | #define __AAJEWISHCALENDAR_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Includes ////////////////////////////////////////////// 36 | 37 | #include "AADate.h" 38 | 39 | 40 | /////////////////////// Classes /////////////////////////////////////////////// 41 | 42 | class AAPLUS_EXT_CLASS CAAJewishCalendar 43 | { 44 | public: 45 | //Static methods 46 | static CAACalendarDate DateOfPesach(long Year, bool bGregorianCalendar = true); 47 | static bool IsLeap(long Year); 48 | static long DaysInYear(long Year); 49 | }; 50 | 51 | 52 | #endif //#ifndef __AAJEWISHCALENDAR_H__ 53 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAJupiter.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAJUPITER.H 3 | Purpose: Implementation for the algorithms which obtain the heliocentric position of Uranus 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAJUPITER_H__ 28 | #define __AAJUPITER_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAJupiter 38 | { 39 | public: 40 | //Static methods 41 | static double EclipticLongitude(double JD, bool bHighPrecision); 42 | static double EclipticLatitude(double JD, bool bHighPrecision); 43 | static double RadiusVector(double JD, bool bHighPrecision); 44 | }; 45 | 46 | 47 | #endif //#ifndef __AAJUPITER_H__ 48 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAKepler.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAKEPLER.CPP 3 | Purpose: Implementation for the algorithms which solve Kepler's equation 4 | Created: PJN / 29-12-2003 5 | History: None 6 | 7 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | //////////////////// Includes ///////////////////////////////////////////////// 23 | 24 | #include "stdafx.h" 25 | #include "AAKepler.h" 26 | #include "AACoordinateTransformation.h" 27 | #include 28 | using namespace std; 29 | 30 | 31 | //////////////////// Implementation /////////////////////////////////////////// 32 | 33 | double CAAKepler::Calculate(double M, double e, int nIterations) 34 | { 35 | //Convert from degrees to radians 36 | M = CAACoordinateTransformation::DegreesToRadians(M); 37 | double PI = CAACoordinateTransformation::PI(); 38 | 39 | double F = 1; 40 | if (M < 0) 41 | F = -1; 42 | M = fabs(M) / ( 2 * PI); 43 | M = (M - static_cast(M))*2*PI*F; 44 | if (M < 0) 45 | M += 2*PI; 46 | F = 1; 47 | if (M > PI) 48 | F = -1; 49 | if (M > PI) 50 | M = 2*PI - M; 51 | 52 | double E = PI / 2; 53 | double scale = PI / 4; 54 | for (int i=0; i R) 58 | E += scale; 59 | else 60 | E -= scale; 61 | scale /= 2; 62 | } 63 | 64 | //Convert the result back to degrees 65 | return CAACoordinateTransformation::RadiansToDegrees(E) * F; 66 | } 67 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAKepler.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAKEPLER.H 3 | Purpose: Implementation for the algorithms which solve Kepler's equation 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAKEPLER_H__ 28 | #define __AAKEPLER_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAKepler 38 | { 39 | public: 40 | //Static methods 41 | static double Calculate(double M, double e, int nIterations = 53); 42 | }; 43 | 44 | 45 | #endif //#ifndef __AAKEPLER_H__ 46 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAMars.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAMARS.H 3 | Purpose: Implementation for the algorithms which obtain the heliocentric position of Mars 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAMARS_H__ 28 | #define __AAMARS_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAMars 38 | { 39 | public: 40 | //Static methods 41 | static double EclipticLongitude(double JD, bool bHighPrecision); 42 | static double EclipticLatitude(double JD, bool bHighPrecision); 43 | static double RadiusVector(double JD, bool bHighPrecision); 44 | }; 45 | 46 | 47 | #endif //#ifndef __AAMARS_H__ 48 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAMercury.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAMERCURY.H 3 | Purpose: Implementation for the algorithms which obtain the heliocentric position of Mercury 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAMERCURY_H__ 28 | #define __AAMERCURY_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAMercury 38 | { 39 | public: 40 | //Static methods 41 | static double EclipticLongitude(double JD, bool bHighPrecision); 42 | static double EclipticLatitude(double JD, bool bHighPrecision); 43 | static double RadiusVector(double JD, bool bHighPrecision); 44 | }; 45 | 46 | 47 | #endif //#ifndef __AAMERCURY_H__ 48 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAMoon.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAMOON.H 3 | Purpose: Implementation for the algorithms which obtain the position of the Moon 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAMOON_H__ 28 | #define __AAMOON_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAMoon 38 | { 39 | public: 40 | //Static methods 41 | static double MeanLongitude(double JD); 42 | static double MeanElongation(double JD); 43 | static double MeanAnomaly(double JD); 44 | static double ArgumentOfLatitude(double JD); 45 | static double MeanLongitudeAscendingNode(double JD); 46 | static double MeanLongitudePerigee(double JD); 47 | static double TrueLongitudeAscendingNode(double JD); 48 | 49 | static double EclipticLongitude(double JD); 50 | static double EclipticLatitude(double JD); 51 | static double RadiusVector(double JD); 52 | 53 | static double RadiusVectorToHorizontalParallax(double RadiusVector); 54 | static double HorizontalParallaxToRadiusVector(double Parallax); 55 | }; 56 | 57 | 58 | #endif //#ifndef __AAMOON_H__ 59 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAMoonIlluminatedFraction.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAMOONILLUMINATEDFRACTION.H 3 | Purpose: Implementation for the algorithms for the Moon's Elongation, Phase Angle and Illuminated Fraction 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAMOONILLUMINATEDFRACTION_H__ 28 | #define __AAMOONILLUMINATEDFRACTION_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAMoonIlluminatedFraction 38 | { 39 | public: 40 | //Static methods 41 | static double GeocentricElongation(double ObjectAlpha, double ObjectDelta, double SunAlpha, double SunDelta); 42 | static double PhaseAngle(double GeocentricElongation, double EarthObjectDistance, double EarthSunDistance); 43 | static double IlluminatedFraction(double PhaseAngle); 44 | static double PositionAngle(double Alpha0, double Delta0, double Alpha, double Delta); 45 | }; 46 | 47 | 48 | #endif //#ifndef __AAMOONILLUMINATEDFRACTION_H__ 49 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAMoonMaxDeclinations.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAMOONMAXDECLINATIONS.H 3 | Purpose: Implementation for the algorithms which obtain the dates and values for Maximum declination of the Moon 4 | Created: PJN / 13-01-2004 5 | 6 | Copyright (c) 2004 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAMOONMAXDECLINATIONS_H__ 28 | #define __AAMOONMAXDECLINATIONS_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | ////////////////////// Classes //////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAMoonMaxDeclinations 38 | { 39 | public: 40 | //Static methods 41 | static double K(double Year); 42 | static double MeanGreatestDeclination(double k, bool bNortherly); 43 | static double MeanGreatestDeclinationValue(double k); 44 | static double TrueGreatestDeclination(double k, bool bNortherly); 45 | static double TrueGreatestDeclinationValue(double k, bool bNortherly); 46 | }; 47 | 48 | 49 | #endif //#ifndef __AAMOONMAXDECLINATIONS_H__ 50 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAMoonNodes.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAMOONNODES.H 3 | Purpose: Implementation for the algorithms which obtain the dates when the Moon passes thro its nodes 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAMOONNODES_H__ 28 | #define __AAMOONNODES_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAMoonNodes 38 | { 39 | public: 40 | //Static methods 41 | static double K(double Year); 42 | static double PassageThroNode(double k); 43 | }; 44 | 45 | 46 | #endif //#ifndef __AAMOONNODES_H__ 47 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAMoonPerigeeApogee.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAMOONPERIGEEAPOGEE.H 3 | Purpose: Implementation for the algorithms which obtain the dates of Lunar Apogee and Perigee 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAMOONPERIGEEAPOGEE_H__ 28 | #define __AAMOONPERIGEEAPOGEE_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAMoonPerigeeApogee 38 | { 39 | public: 40 | //Static methods 41 | static double K(double Year); 42 | static double MeanPerigee(double k); 43 | static double MeanApogee(double k); 44 | static double TruePerigee(double k); 45 | static double TrueApogee(double k); 46 | static double PerigeeParallax(double k); 47 | static double ApogeeParallax(double k); 48 | }; 49 | 50 | 51 | #endif //#ifndef __AAMOONPERIGEEAPOGEE_H__ 52 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAMoonPhases.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAMOONPHASES.H 3 | Purpose: Implementation for the algorithms which obtain the dates for the phases of the Moon 4 | Created: PJN / 11-01-2004 5 | 6 | Copyright (c) 2004 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAMOONPHASES_H__ 28 | #define __AAMOONPHASES_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAMoonPhases 38 | { 39 | public: 40 | //Static methods 41 | static double K(double Year); 42 | static double MeanPhase(double k); 43 | static double TruePhase(double k); 44 | }; 45 | 46 | 47 | #endif //#ifndef __AAMOONPHASES_H__ 48 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAMoslemCalendar.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAMOSLEMCALENDAR.H 3 | Purpose: Implementation for the algorithms which convert between the Julian and Moslem calendars 4 | Created: PJN / 04-02-2004 5 | 6 | Copyright (c) 2004 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAMOSLEMCALENDAR_H__ 28 | #define __AAMOSLEMCALENDAR_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Includes ////////////////////////////////////////////// 36 | 37 | #include "AADate.h" 38 | 39 | 40 | /////////////////////// Classes /////////////////////////////////////////////// 41 | 42 | class AAPLUS_EXT_CLASS CAAMoslemCalendar 43 | { 44 | public: 45 | //Static methods 46 | static CAACalendarDate MoslemToJulian(long Year, long Month, long Day); 47 | static CAACalendarDate JulianToMoslem(long Year, long Month, long Day); 48 | static bool IsLeap(long Year); 49 | }; 50 | 51 | 52 | #endif //#ifndef __AAMOSLEMCALENDAR_H__ 53 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AANeptune.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AANEPTUNE.H 3 | Purpose: Implementation for the algorithms which obtain the heliocentric position of Neptune 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AANEPTUNE_H__ 28 | #define __AANEPTUNE_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAANeptune 38 | { 39 | public: 40 | //Static methods 41 | static double EclipticLongitude(double JD, bool bHighPrecision); 42 | static double EclipticLatitude(double JD, bool bHighPrecision); 43 | static double RadiusVector(double JD, bool bHighPrecision); 44 | }; 45 | 46 | 47 | #endif //#ifndef __AANEPTUNE_H__ 48 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AANodes.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AANODES.H 3 | Purpose: Implementation for the algorithms which calculate passage thro the nodes 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AANODES_H__ 28 | #define __AANODES_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | //////////////////////// Includes ///////////////////////////////////////////// 36 | 37 | #include "AAElliptical.h" 38 | #include "AAParabolic.h" 39 | 40 | 41 | //////////////////////// Classes ////////////////////////////////////////////// 42 | 43 | class AAPLUS_EXT_CLASS CAANodeObjectDetails 44 | { 45 | public: 46 | //Constructors / Destructors 47 | CAANodeObjectDetails() : t(0), 48 | radius(0) 49 | { 50 | }; 51 | 52 | //Member variables 53 | double t; 54 | double radius; 55 | }; 56 | 57 | class AAPLUS_EXT_CLASS CAANodes 58 | { 59 | public: 60 | //Static methods 61 | static CAANodeObjectDetails PassageThroAscendingNode(const CAAEllipticalObjectElements& elements); 62 | static CAANodeObjectDetails PassageThroDescendingNode(const CAAEllipticalObjectElements& elements); 63 | static CAANodeObjectDetails PassageThroAscendingNode(const CAAParabolicObjectElements& elements); 64 | static CAANodeObjectDetails PassageThroDescendingNode(const CAAParabolicObjectElements& elements); 65 | }; 66 | 67 | 68 | #endif //#ifndef __AANODES_H__ 69 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AANutation.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AANUTATION.H 3 | Purpose: Implementation for the algorithms for Nutation 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AANUTATION_H__ 28 | #define __AANUTATION_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAANutation 38 | { 39 | public: 40 | //Static methods 41 | static double NutationInLongitude(double JD); 42 | static double NutationInObliquity(double JD); 43 | static double NutationInRightAscension(double Alpha, double Delta, double Obliquity, double NutationInLongitude, double NutationInObliquity); 44 | static double NutationInDeclination(double Alpha, double Obliquity, double NutationInLongitude, double NutationInObliquity); 45 | static double MeanObliquityOfEcliptic(double JD); 46 | static double TrueObliquityOfEcliptic(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AANUTATION_H__ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAParallactic.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAPARALLACTIC.H 3 | Purpose: Implementation for the algorithms which calculate various celestial globe angles 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAPARALLACTIC_H__ 28 | #define __AAPARALLACTIC_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAParallactic 38 | { 39 | public: 40 | //Static methods 41 | static double ParallacticAngle(double HourAngle, double Latitude, double delta); 42 | static double EclipticLongitudeOnHorizon(double LocalSiderealTime, double ObliquityOfEcliptic, double Latitude); 43 | static double AngleBetweenEclipticAndHorizon(double LocalSiderealTime, double ObliquityOfEcliptic, double Latitude); 44 | static double AngleBetweenNorthCelestialPoleAndNorthPoleOfEcliptic(double Lambda, double Beta, double ObliquityOfEcliptic); 45 | }; 46 | 47 | 48 | #endif //#ifndef __AAPARALLACTIC_H__ 49 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAParallax.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAPARALLAX.H 3 | Purpose: Implementation for the algorithms which convert a geocentric set of coordinates to their topocentric equivalent 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAPARALLAX_H__ 28 | #define __AAPARALLAX_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Includes ////////////////////////////////////////////// 36 | 37 | #include "AA2DCoordinate.h" 38 | 39 | 40 | /////////////////////// Classes /////////////////////////////////////////////// 41 | 42 | class AAPLUS_EXT_CLASS CAATopocentricEclipticDetails 43 | { 44 | public: 45 | //Constructors / Destructors 46 | CAATopocentricEclipticDetails() : Lambda(0), 47 | Beta(0), 48 | Semidiameter(0) 49 | { 50 | }; 51 | 52 | //Member variables 53 | double Lambda; 54 | double Beta; 55 | double Semidiameter; 56 | }; 57 | 58 | class AAPLUS_EXT_CLASS CAAParallax 59 | { 60 | public: 61 | //Conversion functions 62 | static CAA2DCoordinate Equatorial2TopocentricDelta(double Alpha, double Delta, double Distance, double Longitude, double Latitude, double Height, double JD); 63 | static CAA2DCoordinate Equatorial2Topocentric(double Alpha, double Delta, double Distance, double Longitude, double Latitude, double Height, double JD); 64 | static CAATopocentricEclipticDetails Ecliptic2Topocentric(double Lambda, double Beta, double Semidiameter, double Distance, double Epsilon, double Latitude, double Height, double JD); 65 | 66 | static double ParallaxToDistance(double Parallax); 67 | static double DistanceToParallax(double Distance); 68 | }; 69 | 70 | 71 | #endif //#ifndef __AAPARALLAX_H__ 72 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAPhysicalJupiter.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAPHYSICALJUPITER.H 3 | Purpose: Implementation for the algorithms which obtain the physical parameters of Jupiter 4 | Created: PJN / 05-01-2004 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAPHYSICALJUPITER_H__ 28 | #define __AAPHYSICALJUPITER_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAPhysicalJupiterDetails 38 | { 39 | public: 40 | //Constructors / Destructors 41 | CAAPhysicalJupiterDetails() : DE(0), 42 | DS(0), 43 | Geometricw1(0), 44 | Geometricw2(0), 45 | Apparentw1(0), 46 | Apparentw2(0), 47 | P(0) 48 | { 49 | }; 50 | 51 | //Member variables 52 | double DE; 53 | double DS; 54 | double Geometricw1; 55 | double Geometricw2; 56 | double Apparentw1; 57 | double Apparentw2; 58 | double P; 59 | }; 60 | 61 | class AAPLUS_EXT_CLASS CAAPhysicalJupiter 62 | { 63 | public: 64 | //Static methods 65 | static CAAPhysicalJupiterDetails Calculate(double JD, bool bHighPrecision); 66 | }; 67 | 68 | #endif //#ifndef __AAPHYSICALJUPITER_H__ 69 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAPhysicalMars.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAPHYSICALMARS.H 3 | Purpose: Implementation for the algorithms which obtain the physical parameters of Mars 4 | Created: PJN / 04-01-2004 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAPHYSICALMARS_H__ 28 | #define __AAPHYSICALMARS_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAPhysicalMarsDetails 38 | { 39 | public: 40 | CAAPhysicalMarsDetails() : DE(0), 41 | DS(0), 42 | w(0), 43 | P(0), 44 | X(0), 45 | k(0), 46 | q(0), 47 | d(0) 48 | { 49 | }; 50 | 51 | //Member variables 52 | double DE; 53 | double DS; 54 | double w; 55 | double P; 56 | double X; 57 | double k; 58 | double q; 59 | double d; 60 | }; 61 | 62 | class AAPLUS_EXT_CLASS CAAPhysicalMars 63 | { 64 | public: 65 | //Static methods 66 | static CAAPhysicalMarsDetails Calculate(double JD, bool bHighPrecision); 67 | }; 68 | 69 | 70 | #endif //#ifndef __AAPHYSICALMARS_H__ 71 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAPhysicalSun.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAPHYSICALSUN.H 3 | Purpose: Implementation for the algorithms which obtain the physical parameters of the Sun 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAPHYSICALSUN_H__ 28 | #define __AAPHYSICALSUN_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | //////////////////////////// Classes ////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAPhysicalSunDetails 38 | { 39 | public: 40 | //Constructors / Destructors 41 | CAAPhysicalSunDetails() : P(0), 42 | B0(0), 43 | L0(0) 44 | { 45 | }; 46 | 47 | //Member variables 48 | double P; 49 | double B0; 50 | double L0; 51 | }; 52 | 53 | class AAPLUS_EXT_CLASS CAAPhysicalSun 54 | { 55 | public: 56 | //Static methods 57 | static CAAPhysicalSunDetails Calculate(double JD, bool bHighPrecision); 58 | static double TimeOfStartOfRotation(long C); 59 | }; 60 | 61 | 62 | #endif //#ifndef __AAPHYSICALSUN_H__ 63 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAPlanetPerihelionAphelion.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAPLANETPERIHELIONAPHELION.H 3 | Purpose: Implementation for the algorithms which obtain the dates of Perihelion and Aphelion of the planets 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAPLANETPERIHELIONAPHELION_H__ 28 | #define __AAPLANETPERIHELIONAPHELION_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAPlanetPerihelionAphelion 38 | { 39 | public: 40 | //Static methods 41 | static long MercuryK(double Year); 42 | static double MercuryPerihelion(long k); 43 | static double MercuryAphelion(long k); 44 | 45 | static long VenusK(double Year); 46 | static double VenusPerihelion(long k); 47 | static double VenusAphelion(long k); 48 | 49 | static long EarthK(double Year); 50 | static double EarthPerihelion(long k, bool bBarycentric = false); 51 | static double EarthAphelion(long k, bool bBarycentric = false); 52 | 53 | static long MarsK(double Year); 54 | static double MarsPerihelion(long k); 55 | static double MarsAphelion(long k); 56 | 57 | static long JupiterK(double Year); 58 | static double JupiterPerihelion(long k); 59 | static double JupiterAphelion(long k); 60 | 61 | static long SaturnK(double Year); 62 | static double SaturnPerihelion(long k); 63 | static double SaturnAphelion(long k); 64 | 65 | static long UranusK(double Year); 66 | static double UranusPerihelion(long k); 67 | static double UranusAphelion(long k); 68 | 69 | static long NeptuneK(double Year); 70 | static double NeptunePerihelion(long k); 71 | static double NeptuneAphelion(long k); 72 | }; 73 | 74 | 75 | #endif //#ifndef __AAPLANETPERIHELIONAPHELION_H__ 76 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAPlanetaryPhenomena.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAPLANETARYPHENOMENA.H 3 | Purpose: Implementation for the algorithms which obtain the dates of various planetary phenomena 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAPLANETARYPHENOMENA_H__ 28 | #define __AAPLANETARYPHENOMENA_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAPlanetaryPhenomena 38 | { 39 | public: 40 | //Enums 41 | enum PlanetaryObject 42 | { 43 | MERCURY, 44 | VENUS, 45 | MARS, 46 | JUPITER, 47 | SATURN, 48 | URANUS, 49 | NEPTUNE 50 | }; 51 | 52 | enum EventType 53 | { 54 | INFERIOR_CONJUNCTION, 55 | SUPERIOR_CONJUNCTION, 56 | OPPOSITION, 57 | CONJUNCTION, 58 | EASTERN_ELONGATION, 59 | WESTERN_ELONGATION, 60 | STATION1, 61 | STATION2 62 | }; 63 | 64 | //Static methods 65 | static double K(double Year, PlanetaryObject object, EventType type); 66 | static double Mean(double k, PlanetaryObject object, EventType type); 67 | static double True(double k, PlanetaryObject object, EventType type); 68 | static double ElongationValue(double k, PlanetaryObject object, bool bEastern); 69 | }; 70 | 71 | 72 | #endif //#ifndef __AAPLANETARYPHENOMENA_H__ 73 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAPluto.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAPLUTO.H 3 | Purpose: Implementation for the algorithms which obtain the heliocentric position of Pluto 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAPLUTO_H__ 28 | #define __AAPLUTO_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAPluto 38 | { 39 | public: 40 | //Static methods 41 | static double EclipticLongitude(double JD); 42 | static double EclipticLatitude(double JD); 43 | static double RadiusVector(double JD); 44 | }; 45 | 46 | 47 | #endif //#ifndef __AAPLUTO_H__ 48 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAPrecession.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAPRECESSION.H 3 | Purpose: Implementation for the algorithms for Precession 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAPRECESSION_H__ 28 | #define __AAPRECESSION_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Includes ////////////////////////////////////////////// 36 | 37 | #include "AACoordinateTransformation.h" 38 | 39 | 40 | /////////////////////// Classes /////////////////////////////////////////////// 41 | 42 | class AAPLUS_EXT_CLASS CAAPrecession 43 | { 44 | public: 45 | //Static methods 46 | static CAA2DCoordinate PrecessEquatorial(double Alpha, double Delta, double JD0, double JD); 47 | static CAA2DCoordinate PrecessEquatorialFK4(double Alpha, double Delta, double JD0, double JD); 48 | static CAA2DCoordinate PrecessEcliptic(double Lambda, double Beta, double JD0, double JD); 49 | static CAA2DCoordinate EquatorialPMToEcliptic(double Alpha, double Delta, double Beta, double PMAlpha, double PMDelta, double Epsilon); 50 | static CAA2DCoordinate AdjustPositionUsingUniformProperMotion(double t, double Alpha, double Delta, double PMAlpha, double PMDelta); 51 | static CAA2DCoordinate AdjustPositionUsingMotionInSpace(double r, double deltar, double t, double Alpha, double Delta, double PMAlpha, double PMDelta); 52 | }; 53 | 54 | 55 | #endif //#ifndef __AAPRECESSION_H__ 56 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AARefraction.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAREFRACTION.CPP 3 | Purpose: Implementation for the algorithms which model Atmospheric Refraction 4 | Created: PJN / 29-12-2003 5 | History: PJN / 26-11-2010 1. CAARefraction::RefractionFromApparent now returns a constant refraction value for all 6 | altitudes below a certain limit. Thanks to mehrzad khoddam for prompting this update. 7 | 2. CAARefraction::RefractionFromTrue now returns a constant refraction value for all 8 | altitudes below a certain limit. Thanks to mehrzad khoddam for prompting this update. 9 | 10 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 11 | 12 | All rights reserved. 13 | 14 | Copyright / Usage Details: 15 | 16 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 17 | when your product is released in binary form. You are allowed to modify the source code in any way you want 18 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 19 | code with your application, then you are only allowed to distribute versions released by the author. This is 20 | to maintain a single distribution point for the source code. 21 | 22 | */ 23 | 24 | 25 | //////////////////////////////////// Includes ///////////////////////////////// 26 | 27 | #include "stdafx.h" 28 | #include "AARefraction.h" 29 | #include "AACoordinateTransformation.h" 30 | #include 31 | using namespace std; 32 | 33 | 34 | /////////////////////////////////// Implementation //////////////////////////// 35 | 36 | double CAARefraction::RefractionFromApparent(double Altitude, double Pressure, double Temperature) 37 | { 38 | //return a constant value from this method if the altitude is below a specific value 39 | if (Altitude <= -1.6962987799993996) 40 | Altitude = -1.6962987799993996; 41 | 42 | double value = 1 / (tan(CAACoordinateTransformation::DegreesToRadians(Altitude + 7.31/(Altitude + 4.4)))) + 0.0013515; 43 | value *= (Pressure/1010 * 283/(273+Temperature)); 44 | value /= 60; 45 | return value; 46 | } 47 | 48 | double CAARefraction::RefractionFromTrue(double Altitude, double Pressure, double Temperature) 49 | { 50 | //return a constant value from this method if the altitude is below a specific value 51 | if (Altitude <= -1.9006387000003735) 52 | Altitude = -1.9006387000003735; 53 | 54 | double value = 1.02 / (tan(CAACoordinateTransformation::DegreesToRadians(Altitude + 10.3/(Altitude + 5.11)))) + 0.0019279; 55 | value *= (Pressure/1010 * 283/(273+Temperature)); 56 | value /= 60; 57 | return value; 58 | } 59 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AARefraction.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAREFRACTION.H 3 | Purpose: Implementation for the algorithms which model Atmospheric Refraction 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAREFRACTION_H__ 28 | #define __AAREFRACTION_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | ////////////////////// Classes //////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAARefraction 38 | { 39 | public: 40 | //Static methods 41 | static double RefractionFromApparent(double Altitude, double Pressure = 1010, double Temperature = 10); 42 | static double RefractionFromTrue(double Altitude, double Pressure = 1010, double Temperature = 10); 43 | }; 44 | 45 | 46 | #endif //#ifndef __AAREFRACTION_H__ 47 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AASaturn.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AASATURN.H 3 | Purpose: Implementation for the algorithms which obtain the heliocentric position of Saturn 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AASATURN_H__ 28 | #define __AASATURN_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAASaturn 38 | { 39 | public: 40 | //Static methods 41 | static double EclipticLongitude(double JD, bool bHighPrecision); 42 | static double EclipticLatitude(double JD, bool bHighPrecision); 43 | static double RadiusVector(double JD, bool bHighPrecision); 44 | }; 45 | 46 | 47 | #endif //#ifndef __AASATURN_H__ 48 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AASaturnRings.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AASATURNRINGS.H 3 | Purpose: Implementation for the algorithms which calculate various parameters related to the Rings of Saturn 4 | Created: PJN / 08-01-2004 5 | 6 | Copyright (c) 2004 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AASATURNRINGS_H__ 28 | #define __AASATURNRINGS_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAASaturnRingDetails 38 | { 39 | public: 40 | //Constructors / Destructors 41 | CAASaturnRingDetails() : B(0), 42 | Bdash(0), 43 | P(0), 44 | a(0), 45 | b(0), 46 | DeltaU(0), 47 | U1(0), 48 | U2(0) 49 | 50 | { 51 | }; 52 | 53 | //Member variables 54 | double B; 55 | double Bdash; 56 | double P; 57 | double a; 58 | double b; 59 | double DeltaU; 60 | double U1; 61 | double U2; 62 | }; 63 | 64 | class AAPLUS_EXT_CLASS CAASaturnRings 65 | { 66 | public: 67 | //Static methods 68 | static CAASaturnRingDetails Calculate(double JD, bool bHighPrecision); 69 | }; 70 | 71 | 72 | #endif //#ifndef __AASATURNRINGS_H__ 73 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AASidereal.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AASIDEREAL.CPP 3 | Purpose: Implementation for the algorithms which obtain sidereal time 4 | Created: PJN / 29-12-2003 5 | PJN / 26-01-2007 1. Update to fit in with new layout of CAADate class 6 | PJN / 28-01-2007 1. Minor updates to fit in with new layout of CAADate class 7 | 8 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 9 | 10 | All rights reserved. 11 | 12 | Copyright / Usage Details: 13 | 14 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 15 | when your product is released in binary form. You are allowed to modify the source code in any way you want 16 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 17 | code with your application, then you are only allowed to distribute versions released by the author. This is 18 | to maintain a single distribution point for the source code. 19 | 20 | */ 21 | 22 | 23 | /////////////////////////////// Includes ////////////////////////////////////// 24 | 25 | #include "stdafx.h" 26 | #include "AASidereal.h" 27 | #include "AACoordinateTransformation.h" 28 | #include "AANutation.h" 29 | #include "AADate.h" 30 | #include 31 | using namespace std; 32 | 33 | 34 | /////////////////////////////// Implementation //////////////////////////////// 35 | 36 | double CAASidereal::MeanGreenwichSiderealTime(double JD) 37 | { 38 | //Get the Julian day for the same day at midnight 39 | long Year = 0; 40 | long Month = 0; 41 | long Day = 0; 42 | long Hour = 0; 43 | long Minute = 0; 44 | double Second = 0; 45 | 46 | CAADate date; 47 | date.Set(JD, CAADate::AfterPapalReform(JD)); 48 | date.Get(Year, Month, Day, Hour, Minute, Second); 49 | date.Set(Year, Month, Day, 0, 0, 0, date.InGregorianCalendar()); 50 | double JDMidnight = date.Julian(); 51 | 52 | //Calculate the sidereal time at midnight 53 | double T = (JDMidnight - 2451545) / 36525; 54 | double TSquared = T*T; 55 | double TCubed = TSquared*T; 56 | double Value = 100.46061837 + (36000.770053608*T) + (0.000387933*TSquared) - (TCubed/38710000); 57 | 58 | //Adjust by the time of day 59 | Value += ( ((Hour * 15) + (Minute * 0.25) + (Second * 0.0041666666666666666666666666666667)) * 1.00273790935); 60 | 61 | Value = CAACoordinateTransformation::DegreesToHours(Value); 62 | 63 | return CAACoordinateTransformation::MapTo0To24Range(Value); 64 | } 65 | 66 | double CAASidereal::ApparentGreenwichSiderealTime(double JD) 67 | { 68 | double MeanObliquity = CAANutation::MeanObliquityOfEcliptic(JD); 69 | double TrueObliquity = MeanObliquity + CAANutation::NutationInObliquity(JD) / 3600; 70 | double NutationInLongitude = CAANutation::NutationInLongitude(JD); 71 | 72 | double Value = MeanGreenwichSiderealTime(JD) + (NutationInLongitude * cos(CAACoordinateTransformation::DegreesToRadians(TrueObliquity)) / 54000); 73 | return CAACoordinateTransformation::MapTo0To24Range(Value); 74 | } 75 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AASidereal.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AASIDEREAL.H 3 | Purpose: Implementation for the algorithms which obtain sidereal time 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AASIDEREAL_H__ 28 | #define __AASIDEREAL_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAASidereal 38 | { 39 | public: 40 | //Static methods 41 | static double MeanGreenwichSiderealTime(double JD); 42 | static double ApparentGreenwichSiderealTime(double JD); 43 | }; 44 | 45 | 46 | #endif //#ifndef __AASIDEREAL_H__ 47 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAStellarMagnitudes.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AASTELLARMAGNITUDES.CPP 3 | Purpose: Implementation for the algorithms which operate on the stellar magntidue system 4 | Created: PJN / 29-12-2003 5 | History: PJN / 12-02-2004 1. Fixed a number of level 4 warnings when the code is compiled in VC.Net 2003 6 | 7 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | ////////////////////////// Includes /////////////////////////////////////////// 23 | 24 | #include "stdafx.h" 25 | #include "AAStellarMagnitudes.h" 26 | #include 27 | using namespace std; 28 | 29 | 30 | ////////////////////////// Implementation ///////////////////////////////////// 31 | 32 | double CAAStellarMagnitudes::CombinedMagnitude(double m1, double m2) 33 | { 34 | double x = 0.4*(m2 - m1); 35 | return m2 - 2.5*log10(pow(10.0, x) + 1); 36 | } 37 | 38 | double CAAStellarMagnitudes::CombinedMagnitude(int Magnitudes, const double* pMagnitudes) 39 | { 40 | double value = 0; 41 | for (int i=0; i 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AASTELLARMAGNITUDES_H__ 28 | #define __AASTELLARMAGNITUDES_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | ////////////////////// Classes //////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAStellarMagnitudes 38 | { 39 | public: 40 | //functions 41 | static double CombinedMagnitude(double m1, double m2); 42 | static double CombinedMagnitude(int Magnitudes, const double* pMagnitudes); 43 | static double BrightnessRatio(double m1, double m2); 44 | static double MagnitudeDifference(double brightnessRatio); 45 | }; 46 | 47 | 48 | #endif //#ifndef __AASTELLARMAGNITUDES_H__ 49 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AASun.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hodinkee/astronomykit/4a1540bcacbd7c6685fcaa2c62e05aa31cb86562/Vendor/AA+/1.6.3/AASun.cpp -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AASun.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AASUN.H 3 | Purpose: Implementation for the algorithms which obtain the position of the Sun 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AASUN_H__ 28 | #define __AASUN_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Includes ////////////////////////////////////////////// 36 | 37 | #include "AA3DCoordinate.h" 38 | 39 | 40 | /////////////////////// Classes /////////////////////////////////////////////// 41 | 42 | class AAPLUS_EXT_CLASS CAASun 43 | { 44 | public: 45 | //Static methods 46 | static double GeometricEclipticLongitude(double JD, bool bHighPrecision); 47 | static double GeometricEclipticLatitude(double JD, bool bHighPrecision); 48 | static double GeometricEclipticLongitudeJ2000(double JD, bool bHighPrecision); 49 | static double GeometricEclipticLatitudeJ2000(double JD, bool bHighPrecision); 50 | static double GeometricFK5EclipticLongitude(double JD, bool bHighPrecision); 51 | static double GeometricFK5EclipticLatitude(double JD, bool bHighPrecision); 52 | static double ApparentEclipticLongitude(double JD, bool bHighPrecision); 53 | static double ApparentEclipticLatitude(double JD, bool bHighPrecision); 54 | static CAA3DCoordinate EquatorialRectangularCoordinatesMeanEquinox(double JD, bool bHighPrecision); 55 | static CAA3DCoordinate EclipticRectangularCoordinatesJ2000(double JD, bool bHighPrecision); 56 | static CAA3DCoordinate EquatorialRectangularCoordinatesJ2000(double JD, bool bHighPrecision); 57 | static CAA3DCoordinate EquatorialRectangularCoordinatesB1950(double JD, bool bHighPrecision); 58 | static CAA3DCoordinate EquatorialRectangularCoordinatesAnyEquinox(double JD, double JDEquinox, bool bHighPrecision); 59 | }; 60 | 61 | 62 | #endif //#ifndef __AASUN_H__ 63 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AATest.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 9.00 3 | # Visual Studio 2005 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AATest", "AATest.vcproj", "{8DFBA441-A9EC-43A0-9744-3DECC5BA76E7}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Release|Win32 = Release|Win32 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {8DFBA441-A9EC-43A0-9744-3DECC5BA76E7}.Debug|Win32.ActiveCfg = Debug|Win32 13 | {8DFBA441-A9EC-43A0-9744-3DECC5BA76E7}.Debug|Win32.Build.0 = Debug|Win32 14 | {8DFBA441-A9EC-43A0-9744-3DECC5BA76E7}.Release|Win32.ActiveCfg = Release|Win32 15 | {8DFBA441-A9EC-43A0-9744-3DECC5BA76E7}.Release|Win32.Build.0 = Release|Win32 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAUranus.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAURANUS.H 3 | Purpose: Implementation for the algorithms which obtain the heliocentric position of Uranus 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAURANUS_H__ 28 | #define __AAURANUS_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAUranus 38 | { 39 | public: 40 | //Static methods 41 | static double EclipticLongitude(double JD, bool bHighPrecision); 42 | static double EclipticLatitude(double JD, bool bHighPrecision); 43 | static double RadiusVector(double JD, bool bHighPrecision); 44 | }; 45 | 46 | 47 | #endif //#ifndef __AAURANUS_H__ 48 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87.cpp 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 26-08-2015 5 | History: PJN / 28-08-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////////////// Includes ////////////////////////////////////// 23 | 24 | #include "stdafx.h" 25 | #include "AAVSOP87.h" 26 | #include "AACoordinateTransformation.h" 27 | #include 28 | using namespace std; 29 | 30 | 31 | ////////////////////////////// Implementation /////////////////////////////// 32 | 33 | double CVSOP87::Calculate(double JD, const VSOP87Coefficient2* pTable, int nTableSize, bool bAngle) 34 | { 35 | double T = (JD - 2451545) / 365250; 36 | double TTerm = T; 37 | double Result = 0; 38 | for (int i = 0; i 1000 25 | #pragma once 26 | #endif //#if _MSC_VER > 1000 27 | 28 | #ifndef __AAVSOP87_H__ 29 | #define __AAVSOP87_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif //#ifndef AAPLUS_EXT_CLASS 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | struct VSOP87Coefficient 39 | { 40 | double A; 41 | double B; 42 | double C; 43 | }; 44 | 45 | struct VSOP87Coefficient2 46 | { 47 | const VSOP87Coefficient* pCoefficients; 48 | int nCoefficientsSize; 49 | }; 50 | 51 | class AAPLUS_EXT_CLASS CVSOP87 52 | { 53 | public: 54 | //Static methods 55 | static double Calculate(double JD, const VSOP87Coefficient2* pTable, int nTableSize, bool bAngle); 56 | static double Calculate_Dash(double JD, const VSOP87Coefficient2* pTable, int nTableSize); 57 | }; 58 | 59 | 60 | #endif //#ifndef __AAVSOP87_H__ 61 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87A_EAR.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87A_EAR.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87A_EAR_H__ 29 | #define __AAVSOP87A_EAR_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87A_Earth 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87A_EAR_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87A_EMB.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87A_EMB.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87A_EMB_H__ 29 | #define __AAVSOP87A_EMB_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87A_EMB 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87A_EMB_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87A_JUP.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87A_JUP.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87A_JUP_H__ 29 | #define __AAVSOP87A_JUP_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87A_Jupiter 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87A_JUP_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87A_MAR.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87A_MAR.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87A_MAR_H__ 29 | #define __AAVSOP87A_MAR_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87A_Mars 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87A_MAR_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87A_MER.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87A_MER.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87A_MER_H__ 29 | #define __AAVSOP87A_MER_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87A_Mercury 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87A_MER_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87A_NEP.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87A_NEP.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87A_NEP_H__ 29 | #define __AAVSOP87A_NEP_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87A_Neptune 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87A_NEP_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87A_SAT.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87A_SAT.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87A_SAT_H__ 29 | #define __AAVSOP87A_SAT_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87A_Saturn 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87A_SAT_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87A_URA.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87A_URA.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87A_URA_H__ 29 | #define __AAVSOP87A_URA_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87A_Uranus 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87A_URA_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87A_VEN.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87A_VEN.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87A_VEN_H__ 29 | #define __AAVSOP87A_VEN_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87A_Venus 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87A_VEN_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87B_EAR.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87B_EAR.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87B_EAR_H__ 29 | #define __AAVSOP87B_EAR_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87B_Earth 39 | { 40 | public: 41 | static double L(double JD); 42 | static double L_DASH(double JD); 43 | static double B(double JD); 44 | static double B_DASH(double JD); 45 | static double R(double JD); 46 | static double R_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87B_EAR_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87B_JUP.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87B_JUP.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87B_JUP_H__ 29 | #define __AAVSOP87B_JUP_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87B_Jupiter 39 | { 40 | public: 41 | static double L(double JD); 42 | static double L_DASH(double JD); 43 | static double B(double JD); 44 | static double B_DASH(double JD); 45 | static double R(double JD); 46 | static double R_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87B_JUP_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87B_MAR.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87B_MAR.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87B_MAR_H__ 29 | #define __AAVSOP87B_MAR_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87B_Mars 39 | { 40 | public: 41 | static double L(double JD); 42 | static double L_DASH(double JD); 43 | static double B(double JD); 44 | static double B_DASH(double JD); 45 | static double R(double JD); 46 | static double R_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87B_MAR_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87B_MER.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87B_MER.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87B_MER_H__ 29 | #define __AAVSOP87B_MER_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87B_Mercury 39 | { 40 | public: 41 | static double L(double JD); 42 | static double L_DASH(double JD); 43 | static double B(double JD); 44 | static double B_DASH(double JD); 45 | static double R(double JD); 46 | static double R_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87B_MER_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87B_NEP.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87B_NEP.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87B_NEP_H__ 29 | #define __AAVSOP87B_NEP_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87B_Neptune 39 | { 40 | public: 41 | static double L(double JD); 42 | static double L_DASH(double JD); 43 | static double B(double JD); 44 | static double B_DASH(double JD); 45 | static double R(double JD); 46 | static double R_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87B_NEP_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87B_SAT.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87B_SAT.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87B_SAT_H__ 29 | #define __AAVSOP87B_SAT_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87B_Saturn 39 | { 40 | public: 41 | static double L(double JD); 42 | static double L_DASH(double JD); 43 | static double B(double JD); 44 | static double B_DASH(double JD); 45 | static double R(double JD); 46 | static double R_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87B_SAT_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87B_URA.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87B_URA.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87B_URA_H__ 29 | #define __AAVSOP87B_URA_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87B_Uranus 39 | { 40 | public: 41 | static double L(double JD); 42 | static double L_DASH(double JD); 43 | static double B(double JD); 44 | static double B_DASH(double JD); 45 | static double R(double JD); 46 | static double R_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87B_URA_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87B_VEN.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87B_VEN.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87B_VEN_H__ 29 | #define __AAVSOP87B_VEN_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87B_Venus 39 | { 40 | public: 41 | static double L(double JD); 42 | static double L_DASH(double JD); 43 | static double B(double JD); 44 | static double B_DASH(double JD); 45 | static double R(double JD); 46 | static double R_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87B_VEN_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87C_EAR.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87C_EAR.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87C_EAR_H__ 29 | #define __AAVSOP87C_EAR_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87C_Earth 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87C_EAR_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87C_JUP.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87C_JUP.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87C_JUP_H__ 29 | #define __AAVSOP87C_JUP_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87C_Jupiter 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87C_JUP_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87C_MAR.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87C_MAR.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87C_MAR_H__ 29 | #define __AAVSOP87C_MAR_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87C_Mars 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87C_MAR_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87C_MER.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87C_MER.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87C_MER_H__ 29 | #define __AAVSOP87C_MER_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87C_Mercury 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87C_MER_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87C_NEP.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87C_NEP.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87C_NEP_H__ 29 | #define __AAVSOP87C_NEP_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87C_Neptune 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87C_NEP_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87C_SAT.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87C_SAT.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87C_SAT_H__ 29 | #define __AAVSOP87C_SAT_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87C_Saturn 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87C_SAT_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87C_URA.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87C_URA.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87C_URA_H__ 29 | #define __AAVSOP87C_URA_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87C_Uranus 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87C_URA_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87C_VEN.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87C_VEN.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87C_VEN_H__ 29 | #define __AAVSOP87C_VEN_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87C_Venus 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87C_VEN_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87D_EAR.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87D_EAR.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87D_EAR_H__ 29 | #define __AAVSOP87D_EAR_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87D_Earth 39 | { 40 | public: 41 | static double L(double JD); 42 | static double L_DASH(double JD); 43 | static double B(double JD); 44 | static double B_DASH(double JD); 45 | static double R(double JD); 46 | static double R_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87D_EAR_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87D_JUP.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87D_JUP.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87D_JUP_H__ 29 | #define __AAVSOP87D_JUP_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87D_Jupiter 39 | { 40 | public: 41 | static double L(double JD); 42 | static double L_DASH(double JD); 43 | static double B(double JD); 44 | static double B_DASH(double JD); 45 | static double R(double JD); 46 | static double R_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87D_JUP_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87D_MAR.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87D_MAR.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87D_MAR_H__ 29 | #define __AAVSOP87D_MAR_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87D_Mars 39 | { 40 | public: 41 | static double L(double JD); 42 | static double L_DASH(double JD); 43 | static double B(double JD); 44 | static double B_DASH(double JD); 45 | static double R(double JD); 46 | static double R_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87D_MAR_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87D_MER.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87D_MER.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87D_MER_H__ 29 | #define __AAVSOP87D_MER_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87D_Mercury 39 | { 40 | public: 41 | static double L(double JD); 42 | static double L_DASH(double JD); 43 | static double B(double JD); 44 | static double B_DASH(double JD); 45 | static double R(double JD); 46 | static double R_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87D_MER_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87D_NEP.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87D_NEP.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87D_NEP_H__ 29 | #define __AAVSOP87D_NEP_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87D_Neptune 39 | { 40 | public: 41 | static double L(double JD); 42 | static double L_DASH(double JD); 43 | static double B(double JD); 44 | static double B_DASH(double JD); 45 | static double R(double JD); 46 | static double R_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87D_NEP_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87D_SAT.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87D_SAT.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87D_SAT_H__ 29 | #define __AAVSOP87D_SAT_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87D_Saturn 39 | { 40 | public: 41 | static double L(double JD); 42 | static double L_DASH(double JD); 43 | static double B(double JD); 44 | static double B_DASH(double JD); 45 | static double R(double JD); 46 | static double R_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87D_SAT_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87D_URA.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87D_URA.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87D_URA_H__ 29 | #define __AAVSOP87D_URA_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87D_Uranus 39 | { 40 | public: 41 | static double L(double JD); 42 | static double L_DASH(double JD); 43 | static double B(double JD); 44 | static double B_DASH(double JD); 45 | static double R(double JD); 46 | static double R_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87D_URA_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87D_VEN.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87D_VEN.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87D_VEN_H__ 29 | #define __AAVSOP87D_VEN_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87D_Venus 39 | { 40 | public: 41 | static double L(double JD); 42 | static double L_DASH(double JD); 43 | static double B(double JD); 44 | static double B_DASH(double JD); 45 | static double R(double JD); 46 | static double R_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87D_VEN_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87E_EAR.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87E_EAR.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87E_EAR_H__ 29 | #define __AAVSOP87E_EAR_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87E_Earth 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87E_EAR_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87E_JUP.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87E_JUP.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87E_JUP_H__ 29 | #define __AAVSOP87E_JUP_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87E_Jupiter 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87E_JUP_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87E_MAR.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87E_MAR.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87E_MAR_H__ 29 | #define __AAVSOP87E_MAR_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87E_Mars 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87E_MAR_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87E_MER.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87E_MER.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87E_MER_H__ 29 | #define __AAVSOP87E_MER_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87E_Mercury 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87E_MER_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87E_NEP.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87E_NEP.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87E_NEP_H__ 29 | #define __AAVSOP87E_NEP_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87E_Neptune 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87E_NEP_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87E_SAT.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87E_SAT.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87E_SAT_H__ 29 | #define __AAVSOP87E_SAT_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87E_Saturn 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87E_SAT_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87E_SUN.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87E_SUN.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87E_SUN_H__ 29 | #define __AAVSOP87E_SUN_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87E_Sun 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87E_SUN_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87E_URA.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87E_URA.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87E_URA_H__ 29 | #define __AAVSOP87E_URA_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87E_Uranus 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87E_URA_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87E_VEN.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87E_VEN.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87E_VEN_H__ 29 | #define __AAVSOP87E_VEN_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87E_Venus 39 | { 40 | public: 41 | static double X(double JD); 42 | static double X_DASH(double JD); 43 | static double Y(double JD); 44 | static double Y_DASH(double JD); 45 | static double Z(double JD); 46 | static double Z_DASH(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87E_VEN_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87_EMB.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87_EMB.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87_EMB_H__ 29 | #define __AAVSOP87_EMB_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87_EMB 39 | { 40 | public: 41 | static double A(double JD); 42 | static double L(double JD); 43 | static double K(double JD); 44 | static double H(double JD); 45 | static double Q(double JD); 46 | static double P(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87_EMB_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87_JUP.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87_JUP.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87_JUP_H__ 29 | #define __AAVSOP87_JUP_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87_Jupiter 39 | { 40 | public: 41 | static double A(double JD); 42 | static double L(double JD); 43 | static double K(double JD); 44 | static double H(double JD); 45 | static double Q(double JD); 46 | static double P(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87_JUP_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87_MAR.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87_MAR.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87_MAR_H__ 29 | #define __AAVSOP87_MAR_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87_Mars 39 | { 40 | public: 41 | static double A(double JD); 42 | static double L(double JD); 43 | static double K(double JD); 44 | static double H(double JD); 45 | static double Q(double JD); 46 | static double P(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87_MAR_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87_MER.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87_MER.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87_MER_H__ 29 | #define __AAVSOP87_MER_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87_Mercury 39 | { 40 | public: 41 | static double A(double JD); 42 | static double L(double JD); 43 | static double K(double JD); 44 | static double H(double JD); 45 | static double Q(double JD); 46 | static double P(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87_MER_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87_NEP.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87_NEP.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87_NEP_H__ 29 | #define __AAVSOP87_NEP_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87_Neptune 39 | { 40 | public: 41 | static double A(double JD); 42 | static double L(double JD); 43 | static double K(double JD); 44 | static double H(double JD); 45 | static double Q(double JD); 46 | static double P(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87_NEP_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87_SAT.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87_SAT.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87_SAT_H__ 29 | #define __AAVSOP87_SAT_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87_Saturn 39 | { 40 | public: 41 | static double A(double JD); 42 | static double L(double JD); 43 | static double K(double JD); 44 | static double H(double JD); 45 | static double Q(double JD); 46 | static double P(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87_SAT_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87_URA.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87_URA.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87_URA_H__ 29 | #define __AAVSOP87_URA_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87_Uranus 39 | { 40 | public: 41 | static double A(double JD); 42 | static double L(double JD); 43 | static double K(double JD); 44 | static double H(double JD); 45 | static double Q(double JD); 46 | static double P(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87_URA_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVSOP87_VEN.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVSOP87_VEN.h 3 | Purpose: Implementation for the algorithms for VSOP87 4 | Created: PJN / 13-09-2015 5 | History: PJN / 13-09-2015 1. Initial public release. 6 | 7 | Copyright (c) 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 8 | 9 | All rights reserved. 10 | 11 | Copyright / Usage Details: 12 | 13 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 14 | when your product is released in binary form. You are allowed to modify the source code in any way you want 15 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 16 | code with your application, then you are only allowed to distribute versions released by the author. This is 17 | to maintain a single distribution point for the source code. 18 | 19 | */ 20 | 21 | 22 | /////////////////////// Macros / Defines ////////////////////////////////////// 23 | 24 | #if _MSC_VER > 1000 25 | #pragma once 26 | #endif 27 | 28 | #ifndef __AAVSOP87_VEN_H__ 29 | #define __AAVSOP87_VEN_H__ 30 | 31 | #ifndef AAPLUS_EXT_CLASS 32 | #define AAPLUS_EXT_CLASS 33 | #endif 34 | 35 | 36 | ////////////////////////////// Classes //////////////////////////////////////// 37 | 38 | class AAPLUS_EXT_CLASS CAAVSOP87_Venus 39 | { 40 | public: 41 | static double A(double JD); 42 | static double L(double JD); 43 | static double K(double JD); 44 | static double H(double JD); 45 | static double Q(double JD); 46 | static double P(double JD); 47 | }; 48 | 49 | 50 | #endif //#ifndef __AAVSOP87_VEN_H_ 51 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/AAVenus.h: -------------------------------------------------------------------------------- 1 | /* 2 | Module : AAVENUS.H 3 | Purpose: Implementation for the algorithms which obtain the heliocentric position of Venus 4 | Created: PJN / 29-12-2003 5 | 6 | Copyright (c) 2003 - 2015 by PJ Naughter (Web: www.naughter.com, Email: pjna@naughter.com) 7 | 8 | All rights reserved. 9 | 10 | Copyright / Usage Details: 11 | 12 | You are allowed to include the source code in any product (commercial, shareware, freeware or otherwise) 13 | when your product is released in binary form. You are allowed to modify the source code in any way you want 14 | except you cannot modify the copyright details at the top of each module. If you want to distribute source 15 | code with your application, then you are only allowed to distribute versions released by the author. This is 16 | to maintain a single distribution point for the source code. 17 | 18 | */ 19 | 20 | 21 | /////////////////////// Macros / Defines ////////////////////////////////////// 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif //#if _MSC_VER > 1000 26 | 27 | #ifndef __AAVENUS_H__ 28 | #define __AAVENUS_H__ 29 | 30 | #ifndef AAPLUS_EXT_CLASS 31 | #define AAPLUS_EXT_CLASS 32 | #endif //#ifndef AAPLUS_EXT_CLASS 33 | 34 | 35 | /////////////////////// Classes /////////////////////////////////////////////// 36 | 37 | class AAPLUS_EXT_CLASS CAAVenus 38 | { 39 | public: 40 | //Static methods 41 | static double EclipticLongitude(double JD, bool bHighPrecision); 42 | static double EclipticLatitude(double JD, bool bHighPrecision); 43 | static double RadiusVector(double JD, bool bHighPrecision); 44 | }; 45 | 46 | 47 | #endif //#ifndef __AAVENUS_H__ 48 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/naughter.css: -------------------------------------------------------------------------------- 1 | body {font:normal 68% verdana,arial,helvetica; color:#000000; } 2 | 3 | A:link { color:#003399; text-decoration:none; } 4 | A:visited { color:#800080; text-decoration:none; } 5 | A:hover { text-decoration:underline; color:#FF6600 } 6 | 7 | 8 | H1 { font:normal 165% verdana,arial,helvetica; margin:5 0; margin-top:0px; } 9 | 10 | H2 { font:bold 125% verdana,arial,helvetica; margin-top:1em; margin-bottom:0.5em; } 11 | 12 | H3 { font:bold 115% verdana,arial,helvetica; margin-bottom:0.5em; } 13 | 14 | H4, H5, H6 { font:bold 100% verdana,arial,helvetica; margin-bottom:0.5em; } 15 | 16 | ol {font-size: 100%; margin-top: .5em; margin-bottom: 0em; margin-left: 4em;} 17 | ul {font-size: 100%; margin-top: .5em; margin-bottom: 0em;} 18 | ol ul {list-style: disc; margin-top: .5em;} 19 | ul ul {list-style: disc; margin-top: .5em;} 20 | li {margin-bottom: .7em; margin-left: -2em;} 21 | 22 | TD, TH { font-size:68%; } 23 | 24 | P { line-height:1.5em; margin-top:0.5em; margin-bottom:1.0em; } -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/stdafx.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | -------------------------------------------------------------------------------- /Vendor/AA+/1.6.3/stdafx.h: -------------------------------------------------------------------------------- 1 | #if _MSC_VER > 1000 2 | #pragma once 3 | #endif 4 | 5 | #ifndef STRICT 6 | #define STRICT 7 | #endif 8 | 9 | #ifndef WINVER 10 | #define WINVER 0x0400 11 | #endif 12 | 13 | #ifndef _WIN32_WINNT 14 | #define _WIN32_WINNT 0x0400 15 | #endif 16 | 17 | #ifndef _WIN32_WINDOWS 18 | #define _WIN32_WINDOWS 0x0400 19 | #endif 20 | 21 | #ifndef _WIN32_IE 22 | #define _WIN32_IE 0x0400 23 | #endif 24 | 25 | #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers 26 | 27 | #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit 28 | 29 | #define _AFX_ALL_WARNINGS // turns off MFC's hiding of some common and often safely ignored warning messages 30 | 31 | //#define AAPLUS_VSOP87_NO_HIGH_PRECISION //Uncomment this to test out excluding support for full VSOP87 support 32 | 33 | #ifndef _SECURE_ATL 34 | #define _SECURE_ATL 1 //Use the Secure C Runtime in ATL 35 | #endif 36 | --------------------------------------------------------------------------------