├── .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 |
--------------------------------------------------------------------------------