From cb5aea4bfcbd7fecfdb310cac3db1e47ced7e6fa Mon Sep 17 00:00:00 2001
From: Kartik Kumar
Date: Sat, 27 Jan 2024 09:23:22 +0100
Subject: [PATCH] Update Doxygen docs.
---
docs/CMakeLists.txt | 2 +-
docs/html/README_8md.html | 12 +-
docs/html/astroAll_8hpp.html | 12 +-
docs/html/astroAll_8hpp_source.html | 17 +-
.../centralBodyAccelerationModel_8hpp.html | 16 +-
...tralBodyAccelerationModel_8hpp_source.html | 25 +-
docs/html/clipboard.js | 61 ++
docs/html/constants_8hpp.html | 28 +-
docs/html/constants_8hpp_source.html | 31 +-
docs/html/cookie.js | 58 ++
.../dir_0fc3206047eab508bd310c9d22a11fd1.html | 12 +-
.../dir_d44c64559bbebec7f509842c48db8b23.html | 12 +-
docs/html/doxygen.css | 282 +++++-
docs/html/doxygen_crawl.html | 65 ++
docs/html/dynsections.js | 265 +++--
docs/html/files.html | 18 +-
docs/html/graph_legend.html | 12 +-
docs/html/index.html | 21 +-
docs/html/j2AccelerationModel_8hpp.html | 16 +-
.../html/j2AccelerationModel_8hpp_source.html | 21 +-
docs/html/menu.js | 34 +-
docs/html/minus.svg | 8 +
docs/html/minusd.svg | 8 +
docs/html/namespaceastro.html | 474 +++------
docs/html/namespacemembers.html | 12 +-
docs/html/namespacemembers_enum.html | 12 +-
docs/html/namespacemembers_eval.html | 12 +-
docs/html/namespacemembers_func.html | 12 +-
docs/html/namespacemembers_vars.html | 12 +-
docs/html/namespaces.html | 12 +-
docs/html/navtree.css | 1 -
docs/html/navtree.js | 832 +++++++---------
docs/html/orbitalElementConversions_8hpp.html | 42 +-
...orbitalElementConversions_8hpp_source.html | 73 +-
docs/html/pages.html | 12 +-
docs/html/plus.svg | 9 +
docs/html/plusd.svg | 9 +
...diationPressureAccelerationModel_8hpp.html | 22 +-
...PressureAccelerationModel_8hpp_source.html | 33 +-
docs/html/resize.js | 100 +-
docs/html/search/all_0.js | 2 +-
docs/html/search/all_1.js | 27 +-
docs/html/search/all_10.js | 5 +
docs/html/search/all_11.js | 5 +
docs/html/search/all_12.js | 5 +
docs/html/search/all_2.js | 28 +-
docs/html/search/all_3.js | 2 +-
docs/html/search/all_4.js | 2 +-
docs/html/search/all_5.js | 2 +-
docs/html/search/all_6.js | 3 +-
docs/html/search/all_7.js | 2 +-
docs/html/search/all_8.js | 2 +-
docs/html/search/all_9.js | 4 +-
docs/html/search/all_a.js | 4 +-
docs/html/search/all_b.js | 7 +-
docs/html/search/all_c.js | 3 +-
docs/html/search/all_d.js | 5 +-
docs/html/search/all_e.js | 6 +-
docs/html/search/all_f.js | 9 +
docs/html/search/pages_1.js | 2 +-
docs/html/search/pages_2.js | 4 +
docs/html/search/search.js | 934 ++++++++----------
docs/html/search/searchdata.js | 4 +-
docs/html/stateVectorIndices_8hpp.html | 18 +-
docs/html/stateVectorIndices_8hpp_source.html | 59 +-
docs/html/tabs.css | 2 +-
docs/html/todo.html | 12 +-
docs/html/twoBodyMethods_8hpp.html | 20 +-
docs/html/twoBodyMethods_8hpp_source.html | 29 +-
69 files changed, 2090 insertions(+), 1832 deletions(-)
create mode 100644 docs/html/clipboard.js
create mode 100644 docs/html/cookie.js
create mode 100644 docs/html/doxygen_crawl.html
create mode 100644 docs/html/minus.svg
create mode 100644 docs/html/minusd.svg
create mode 100644 docs/html/plus.svg
create mode 100644 docs/html/plusd.svg
create mode 100644 docs/html/search/all_10.js
create mode 100644 docs/html/search/all_11.js
create mode 100644 docs/html/search/all_12.js
create mode 100644 docs/html/search/all_f.js
create mode 100644 docs/html/search/pages_2.js
diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
index bac4d18..950df1c 100644
--- a/docs/CMakeLists.txt
+++ b/docs/CMakeLists.txt
@@ -17,7 +17,7 @@ set(DOXYGEN_QUIET YES)
set(DOXYGEN_WARN_NO_PARAMDOC YES)
set(DOXYGEN_RECURSIVE YES)
set(DOXYGEN_EXCLUDE "*.cpp")
-set(DOXYGEN_USE_MDFILE_AS_MAINPAGE README.md)
+set(DOXYGEN_USE_MDFILE_AS_MAINPAGE "${PROJECT_SOURCE_DIR}/README.md")
set(DOXYGEN_SOURCE_BROWSER YES)
set(DOXYGEN_REFERENCED_BY_RELATION YES)
set(DOXYGEN_REFERENCES_RELATION YES)
diff --git a/docs/html/README_8md.html b/docs/html/README_8md.html
index f66beec..7eff519 100644
--- a/docs/html/README_8md.html
+++ b/docs/html/README_8md.html
@@ -3,16 +3,18 @@
-
+
astro: README.md File Reference
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -99,7 +101,7 @@
diff --git a/docs/html/astroAll_8hpp.html b/docs/html/astroAll_8hpp.html
index 3f2cb53..6626181 100644
--- a/docs/html/astroAll_8hpp.html
+++ b/docs/html/astroAll_8hpp.html
@@ -3,16 +3,18 @@
-
+
astro: astroAll.hpp File Reference
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -149,7 +151,7 @@
diff --git a/docs/html/astroAll_8hpp_source.html b/docs/html/astroAll_8hpp_source.html
index b9d64c8..ae07d58 100644
--- a/docs/html/astroAll_8hpp_source.html
+++ b/docs/html/astroAll_8hpp_source.html
@@ -3,16 +3,18 @@
-
+
astro: astroAll.hpp Source File
+
+
@@ -34,7 +36,7 @@
-
+
+
@@ -64,7 +71,7 @@
@@ -121,7 +128,7 @@
diff --git a/docs/html/centralBodyAccelerationModel_8hpp.html b/docs/html/centralBodyAccelerationModel_8hpp.html
index 609aac0..f80fc28 100644
--- a/docs/html/centralBodyAccelerationModel_8hpp.html
+++ b/docs/html/centralBodyAccelerationModel_8hpp.html
@@ -3,16 +3,18 @@
-
+
astro: centralBodyAccelerationModel.hpp File Reference
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -122,12 +124,12 @@
-template<typename Real , typename Vector3 >
+template<typename Real , typename Vector3 >
Vector3 astro::computeCentralBodyAcceleration (const Real gravitationalParameter, const Vector3 &position)
Compute the acceleration of a point mass body orbiting a uniform central body.
@@ -138,7 +140,7 @@
diff --git a/docs/html/centralBodyAccelerationModel_8hpp_source.html b/docs/html/centralBodyAccelerationModel_8hpp_source.html
index d87eb5e..df6543b 100644
--- a/docs/html/centralBodyAccelerationModel_8hpp_source.html
+++ b/docs/html/centralBodyAccelerationModel_8hpp_source.html
@@ -3,16 +3,18 @@
-
+
astro: centralBodyAccelerationModel.hpp Source File
+
+
@@ -34,7 +36,7 @@
-
+
+
@@ -64,7 +71,7 @@
@@ -106,11 +113,13 @@
+
40 template <
typename Real,
typename Vector3>
+
42 const Vector3& position)
@@ -128,17 +137,19 @@
+
-
-
Vector3 computeCentralBodyAcceleration(const Real gravitationalParameter, const Vector3 &position)
Compute the acceleration of a point mass body orbiting a uniform central body.
+
+
+
Vector3 computeCentralBodyAcceleration(const Real gravitationalParameter, const Vector3 &position)
Compute the acceleration of a point mass body orbiting a uniform central body.
diff --git a/docs/html/clipboard.js b/docs/html/clipboard.js
new file mode 100644
index 0000000..42c1fb0
--- /dev/null
+++ b/docs/html/clipboard.js
@@ -0,0 +1,61 @@
+/**
+
+The code below is based on the Doxygen Awesome project, see
+https://github.com/jothepro/doxygen-awesome-css
+
+MIT License
+
+Copyright (c) 2021 - 2022 jothepro
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+*/
+
+let clipboard_title = "Copy to clipboard"
+let clipboard_icon = ` `
+let clipboard_successIcon = ` `
+let clipboard_successDuration = 1000
+
+$(function() {
+ if(navigator.clipboard) {
+ const fragments = document.getElementsByClassName("fragment")
+ for(const fragment of fragments) {
+ const clipboard_div = document.createElement("div")
+ clipboard_div.classList.add("clipboard")
+ clipboard_div.innerHTML = clipboard_icon
+ clipboard_div.title = clipboard_title
+ $(clipboard_div).click(function() {
+ const content = this.parentNode.cloneNode(true)
+ // filter out line number and folded fragments from file listings
+ content.querySelectorAll(".lineno, .ttc, .foldclosed").forEach((node) => { node.remove() })
+ let text = content.textContent
+ // remove trailing newlines and trailing spaces from empty lines
+ text = text.replace(/^\s*\n/gm,'\n').replace(/\n*$/,'')
+ navigator.clipboard.writeText(text);
+ this.classList.add("success")
+ this.innerHTML = clipboard_successIcon
+ window.setTimeout(() => { // switch back to normal icon after timeout
+ this.classList.remove("success")
+ this.innerHTML = clipboard_icon
+ }, clipboard_successDuration);
+ })
+ fragment.insertBefore(clipboard_div, fragment.firstChild)
+ }
+ }
+})
diff --git a/docs/html/constants_8hpp.html b/docs/html/constants_8hpp.html
index 6160618..71e8caa 100644
--- a/docs/html/constants_8hpp.html
+++ b/docs/html/constants_8hpp.html
@@ -3,16 +3,18 @@
-
+
astro: constants.hpp File Reference
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -117,30 +119,30 @@
@@ -150,7 +152,7 @@
diff --git a/docs/html/constants_8hpp_source.html b/docs/html/constants_8hpp_source.html
index e7197fa..ed7e25a 100644
--- a/docs/html/constants_8hpp_source.html
+++ b/docs/html/constants_8hpp_source.html
@@ -3,16 +3,18 @@
-
+
astro: constants.hpp Source File
+
+
@@ -34,7 +36,7 @@
-
+
+
@@ -64,7 +71,7 @@
@@ -124,20 +131,20 @@
-
static const double ASTRO_GRAVITATIONAL_CONSTANT
Gravitational constant [m^3 s^-2] (Standish, 1995).
-
static const double ASTRO_JULIAN_DAY_IN_SECONDS
Julian day in seconds (NASA, 2012).
-
static const double ASTRO_JULIAN_YEAR_IN_DAYS
Julian year in days (NASA, 2012).
-
static const double ASTRO_SPEED_OF_LIGHT
Speed of light [m s^-1] (Wikipedia, 2018).
-
static const double ASTRO_AU_IN_KM
Astronautical Unit in km (NASA, 2012).
-
static const double ASTRO_GREGORIAN_EPOCH_IN_JULIAN_DAYS
Start of Gregorian epoch in Julian days (Ramsey, 2016).
-
static const double ASTRO_JULIAN_YEAR_IN_SECONDS
Julian year in seconds.
+
static const double ASTRO_GRAVITATIONAL_CONSTANT
Gravitational constant [m^3 s^-2] (Standish, 1995).
+
static const double ASTRO_JULIAN_DAY_IN_SECONDS
Julian day in seconds (NASA, 2012).
+
static const double ASTRO_JULIAN_YEAR_IN_DAYS
Julian year in days (NASA, 2012).
+
static const double ASTRO_SPEED_OF_LIGHT
Speed of light [m s^-1] (Wikipedia, 2018).
+
static const double ASTRO_AU_IN_KM
Astronautical Unit in km (NASA, 2012).
+
static const double ASTRO_GREGORIAN_EPOCH_IN_JULIAN_DAYS
Start of Gregorian epoch in Julian days (Ramsey, 2016).
+
static const double ASTRO_JULIAN_YEAR_IN_SECONDS
Julian year in seconds.
diff --git a/docs/html/cookie.js b/docs/html/cookie.js
new file mode 100644
index 0000000..53ad21d
--- /dev/null
+++ b/docs/html/cookie.js
@@ -0,0 +1,58 @@
+/*!
+ Cookie helper functions
+ Copyright (c) 2023 Dimitri van Heesch
+ Released under MIT license.
+*/
+let Cookie = {
+ cookie_namespace: 'doxygen_',
+
+ readSetting(cookie,defVal) {
+ if (window.chrome) {
+ const val = localStorage.getItem(this.cookie_namespace+cookie) ||
+ sessionStorage.getItem(this.cookie_namespace+cookie);
+ if (val) return val;
+ } else {
+ let myCookie = this.cookie_namespace+cookie+"=";
+ if (document.cookie) {
+ const index = document.cookie.indexOf(myCookie);
+ if (index != -1) {
+ const valStart = index + myCookie.length;
+ let valEnd = document.cookie.indexOf(";", valStart);
+ if (valEnd == -1) {
+ valEnd = document.cookie.length;
+ }
+ return document.cookie.substring(valStart, valEnd);
+ }
+ }
+ }
+ return defVal;
+ },
+
+ writeSetting(cookie,val,days=10*365) { // default days='forever', 0=session cookie, -1=delete
+ if (window.chrome) {
+ if (days==0) {
+ sessionStorage.setItem(this.cookie_namespace+cookie,val);
+ } else {
+ localStorage.setItem(this.cookie_namespace+cookie,val);
+ }
+ } else {
+ let date = new Date();
+ date.setTime(date.getTime()+(days*24*60*60*1000));
+ const expiration = days!=0 ? "expires="+date.toGMTString()+";" : "";
+ document.cookie = this.cookie_namespace + cookie + "=" +
+ val + "; SameSite=Lax;" + expiration + "path=/";
+ }
+ },
+
+ eraseSetting(cookie) {
+ if (window.chrome) {
+ if (localStorage.getItem(this.cookie_namespace+cookie)) {
+ localStorage.removeItem(this.cookie_namespace+cookie);
+ } else if (sessionStorage.getItem(this.cookie_namespace+cookie)) {
+ sessionStorage.removeItem(this.cookie_namespace+cookie);
+ }
+ } else {
+ this.writeSetting(cookie,'',-1);
+ }
+ },
+}
diff --git a/docs/html/dir_0fc3206047eab508bd310c9d22a11fd1.html b/docs/html/dir_0fc3206047eab508bd310c9d22a11fd1.html
index 090f7c8..caba27b 100644
--- a/docs/html/dir_0fc3206047eab508bd310c9d22a11fd1.html
+++ b/docs/html/dir_0fc3206047eab508bd310c9d22a11fd1.html
@@ -3,16 +3,18 @@
-
+
astro: astro Directory Reference
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -128,7 +130,7 @@
diff --git a/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html b/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html
index c61ac6e..709413d 100644
--- a/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html
+++ b/docs/html/dir_d44c64559bbebec7f509842c48db8b23.html
@@ -3,16 +3,18 @@
-
+
astro: include Directory Reference
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -105,7 +107,7 @@
diff --git a/docs/html/doxygen.css b/docs/html/doxygen.css
index 0caa19b..7b7d851 100644
--- a/docs/html/doxygen.css
+++ b/docs/html/doxygen.css
@@ -1,4 +1,4 @@
-/* The standard CSS for doxygen 1.9.7*/
+/* The standard CSS for doxygen 1.10.0*/
html {
/* page base colors */
@@ -145,6 +145,7 @@ html {
--fragment-lineno-link-bg-color: #D8D8D8;
--fragment-lineno-link-hover-fg-color: #4665A2;
--fragment-lineno-link-hover-bg-color: #C8C8C8;
+--fragment-copy-ok-color: #2EC82E;
--tooltip-foreground-color: black;
--tooltip-background-color: white;
--tooltip-border-color: gray;
@@ -152,6 +153,11 @@ html {
--tooltip-declaration-color: #006318;
--tooltip-link-color: #4665A2;
--tooltip-shadow: 1px 1px 7px gray;
+--fold-line-color: #808080;
+--fold-minus-image: url('minus.svg');
+--fold-plus-image: url('plus.svg');
+--fold-minus-image-relpath: url('../../minus.svg');
+--fold-plus-image-relpath: url('../../plus.svg');
/** font-family */
--font-family-normal: Roboto,sans-serif;
@@ -163,6 +169,28 @@ html {
--font-family-icon: Arial,Helvetica;
--font-family-tooltip: Roboto,sans-serif;
+/** special sections */
+--warning-color-bg: #f8d1cc;
+--warning-color-hl: #b61825;
+--warning-color-text: #75070f;
+--note-color-bg: #faf3d8;
+--note-color-hl: #f3a600;
+--note-color-text: #5f4204;
+--todo-color-bg: #e4f3ff;
+--todo-color-hl: #1879C4;
+--todo-color-text: #274a5c;
+--test-color-bg: #e8e8ff;
+--test-color-hl: #3939C4;
+--test-color-text: #1a1a5c;
+--deprecated-color-bg: #ecf0f3;
+--deprecated-color-hl: #5b6269;
+--deprecated-color-text: #43454a;
+--bug-color-bg: #e4dafd;
+--bug-color-hl: #5b2bdd;
+--bug-color-text: #2a0d72;
+--invariant-color-bg: #d8f1e3;
+--invariant-color-hl: #44b86f;
+--invariant-color-text: #265532;
}
@media (prefers-color-scheme: dark) {
@@ -298,13 +326,13 @@ html {
--code-char-literal-color: #00E0F0;
--code-xml-cdata-color: #C9D1D9;
--code-vhdl-digit-color: #FF00FF;
---code-vhdl-char-color: #000000;
---code-vhdl-keyword-color: #700070;
+--code-vhdl-char-color: #C0C0C0;
+--code-vhdl-keyword-color: #CF53C9;
--code-vhdl-logic-color: #FF0000;
--code-link-color: #79C0FF;
--code-external-link-color: #79C0FF;
--fragment-foreground-color: #C9D1D9;
---fragment-background-color: black;
+--fragment-background-color: #090D16;
--fragment-border-color: #30363D;
--fragment-lineno-border-color: #30363D;
--fragment-lineno-background-color: black;
@@ -313,6 +341,7 @@ html {
--fragment-lineno-link-bg-color: #303030;
--fragment-lineno-link-hover-fg-color: #8E96A1;
--fragment-lineno-link-hover-bg-color: #505050;
+--fragment-copy-ok-color: #0EA80E;
--tooltip-foreground-color: #C9D1D9;
--tooltip-background-color: #202020;
--tooltip-border-color: #C9D1D9;
@@ -320,6 +349,11 @@ html {
--tooltip-declaration-color: #20C348;
--tooltip-link-color: #79C0FF;
--tooltip-shadow: none;
+--fold-line-color: #808080;
+--fold-minus-image: url('minusd.svg');
+--fold-plus-image: url('plusd.svg');
+--fold-minus-image-relpath: url('../../minusd.svg');
+--fold-plus-image-relpath: url('../../plusd.svg');
/** font-family */
--font-family-normal: Roboto,sans-serif;
@@ -331,6 +365,28 @@ html {
--font-family-icon: Arial,Helvetica;
--font-family-tooltip: Roboto,sans-serif;
+/** special sections */
+--warning-color-bg: #2e1917;
+--warning-color-hl: #ad2617;
+--warning-color-text: #f5b1aa;
+--note-color-bg: #3b2e04;
+--note-color-hl: #f1b602;
+--note-color-text: #ceb670;
+--todo-color-bg: #163750;
+--todo-color-hl: #1982D2;
+--todo-color-text: #dcf0fa;
+--test-color-bg: #121258;
+--test-color-hl: #4242cf;
+--test-color-text: #c0c0da;
+--deprecated-color-bg: #2e323b;
+--deprecated-color-hl: #738396;
+--deprecated-color-text: #abb0bd;
+--bug-color-bg: #2a2536;
+--bug-color-hl: #7661b3;
+--bug-color-text: #ae9ed6;
+--invariant-color-bg: #303a35;
+--invariant-color-hl: #76ce96;
+--invariant-color-text: #cceed5;
}}
body {
background-color: var(--page-background-color);
@@ -347,8 +403,6 @@ body, table, div, p, dl {
/* @group Heading Levels */
.title {
- font-weight: 400;
- font-size: 14px;
font-family: var(--font-family-normal);
line-height: 28px;
font-size: 150%;
@@ -481,6 +535,12 @@ div.qindex{
color: var(--index-separator-color);
}
+#main-menu a:focus {
+ outline: auto;
+ z-index: 10;
+ position: relative;
+}
+
dt.alphachar{
font-size: 180%;
font-weight: bold;
@@ -540,7 +600,13 @@ a {
}
a:hover {
- text-decoration: underline;
+ text-decoration: none;
+ background: linear-gradient(to bottom, transparent 0,transparent calc(100% - 1px), currentColor 100%);
+}
+
+a:hover > span.arrow {
+ text-decoration: none;
+ background : var(--nav-background-color);
}
a.el {
@@ -616,30 +682,63 @@ ul.multicol {
.fragment {
text-align: left;
direction: ltr;
- overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/
+ overflow-x: auto;
overflow-y: hidden;
+ position: relative;
+ min-height: 12px;
+ margin: 10px 0px;
+ padding: 10px 10px;
+ border: 1px solid var(--fragment-border-color);
+ border-radius: 4px;
+ background-color: var(--fragment-background-color);
+ color: var(--fragment-foreground-color);
}
pre.fragment {
- border: 1px solid var(--fragment-border-color);
- background-color: var(--fragment-background-color);
- color: var(--fragment-foreground-color);
- padding: 4px 6px;
- margin: 4px 8px 4px 2px;
+ word-wrap: break-word;
+ font-size: 10pt;
+ line-height: 125%;
+ font-family: var(--font-family-monospace);
+}
+
+.clipboard {
+ width: 24px;
+ height: 24px;
+ right: 5px;
+ top: 5px;
+ opacity: 0;
+ position: absolute;
+ display: inline;
overflow: auto;
- word-wrap: break-word;
- font-size: 9pt;
- line-height: 125%;
- font-family: var(--font-family-monospace);
- font-size: 105%;
+ fill: var(--fragment-foreground-color);
+ justify-content: center;
+ align-items: center;
+ cursor: pointer;
+}
+
+.clipboard.success {
+ border: 1px solid var(--fragment-foreground-color);
+ border-radius: 4px;
+}
+
+.fragment:hover .clipboard, .clipboard.success {
+ opacity: .28;
+}
+
+.clipboard:hover, .clipboard.success {
+ opacity: 1 !important;
+}
+
+.clipboard:active:not([class~=success]) svg {
+ transform: scale(.91);
}
-div.fragment {
- padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/
- margin: 4px 8px 4px 2px;
- color: var(--fragment-foreground-color);
- background-color: var(--fragment-background-color);
- border: 1px solid var(--fragment-border-color);
+.clipboard.success svg {
+ fill: var(--fragment-copy-ok-color);
+}
+
+.clipboard.success {
+ border-color: var(--fragment-copy-ok-color);
}
div.line {
@@ -679,6 +778,18 @@ div.line.glow {
box-shadow: 0 0 10px var(--glow-color);
}
+span.fold {
+ margin-left: 5px;
+ margin-right: 1px;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
+ display: inline-block;
+ width: 12px;
+ height: 12px;
+ background-repeat:no-repeat;
+ background-position:center;
+}
span.lineno {
padding-right: 4px;
@@ -750,10 +861,6 @@ img.light-mode-visible {
display: none;
}
-img.formulaDsp {
-
-}
-
img.formulaInl, img.inline {
vertical-align: middle;
}
@@ -1053,17 +1160,25 @@ dl.reflist dd {
.paramtype {
white-space: nowrap;
+ padding: 0px;
+ padding-bottom: 1px;
}
.paramname {
- color: var(--memdef-param-name-color);
white-space: nowrap;
+ padding: 0px;
+ padding-bottom: 1px;
+ margin-left: 2px;
}
+
.paramname em {
+ color: var(--memdef-param-name-color);
font-style: normal;
+ margin-right: 1px;
}
-.paramname code {
- line-height: 14px;
+
+.paramname .paramdefval {
+ font-family: var(--font-family-monospace);
}
.params, .retval, .exception, .tparams {
@@ -1397,7 +1512,6 @@ table.fieldtable {
{
height:32px;
display:block;
- text-decoration: none;
outline: none;
color: var(--nav-text-normal-color);
font-family: var(--font-family-nav);
@@ -1486,7 +1600,8 @@ dl {
padding: 0 0 0 0;
}
-/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */
+/*
+
dl.section {
margin-left: 0px;
padding-left: 0px;
@@ -1541,8 +1656,101 @@ dl.bug {
border-color: #C08050;
}
+*/
+
+dl.bug dt a, dl.deprecated dt a, dl.todo dt a, dl.test a {
+ font-weight: bold !important;
+}
+
+dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug,
+dl.invariant, dl.pre, dl.post, dl.todo, dl.test, dl.remark {
+ padding: 10px;
+ margin: 10px 0px;
+ overflow: hidden;
+ margin-left: 0;
+ border-radius: 4px;
+}
+
dl.section dd {
- margin-bottom: 6px;
+ margin-bottom: 2px;
+}
+
+dl.warning, dl.attention {
+ background: var(--warning-color-bg);
+ border-left: 8px solid var(--warning-color-hl);
+ color: var(--warning-color-text);
+}
+
+dl.warning dt, dl.attention dt {
+ color: var(--warning-color-hl);
+}
+
+dl.note, dl.remark {
+ background: var(--note-color-bg);
+ border-left: 8px solid var(--note-color-hl);
+ color: var(--note-color-text);
+}
+
+dl.note dt, dl.remark dt {
+ color: var(--note-color-hl);
+}
+
+dl.todo {
+ background: var(--todo-color-bg);
+ border-left: 8px solid var(--todo-color-hl);
+ color: var(--todo-color-text);
+}
+
+dl.todo dt {
+ color: var(--todo-color-hl);
+}
+
+dl.test {
+ background: var(--test-color-bg);
+ border-left: 8px solid var(--test-color-hl);
+ color: var(--test-color-text);
+}
+
+dl.test dt {
+ color: var(--test-color-hl);
+}
+
+dl.bug dt a {
+ color: var(--bug-color-hl) !important;
+}
+
+dl.bug {
+ background: var(--bug-color-bg);
+ border-left: 8px solid var(--bug-color-hl);
+ color: var(--bug-color-text);
+}
+
+dl.bug dt a {
+ color: var(--bug-color-hl) !important;
+}
+
+dl.deprecated {
+ background: var(--deprecated-color-bg);
+ border-left: 8px solid var(--deprecated-color-hl);
+ color: var(--deprecated-color-text);
+}
+
+dl.deprecated dt a {
+ color: var(--deprecated-color-hl) !important;
+}
+
+dl.section dd, dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd {
+ margin-inline-start: 0px;
+}
+
+dl.invariant, dl.pre, dl.post {
+ background: var(--invariant-color-bg);
+ border-left: 8px solid var(--invariant-color-hl);
+ color: var(--invariant-color-text);
+}
+
+dl.invariant dt, dl.pre dt, dl.post dt {
+ color: var(--invariant-color-hl);
}
@@ -1557,12 +1765,12 @@ dl.section dd {
vertical-align: bottom;
border-collapse: separate;
}
-
+
#projectlogo img
-{
+{
border: 0px none;
}
-
+
#projectalign
{
vertical-align: middle;
diff --git a/docs/html/doxygen_crawl.html b/docs/html/doxygen_crawl.html
new file mode 100644
index 0000000..7433db7
--- /dev/null
+++ b/docs/html/doxygen_crawl.html
@@ -0,0 +1,65 @@
+
+
+
+
Validator / crawler helper
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/dynsections.js b/docs/html/dynsections.js
index 1f4cd14..24dfe9c 100644
--- a/docs/html/dynsections.js
+++ b/docs/html/dynsections.js
@@ -22,106 +22,177 @@
@licend The above is the entire license notice for the JavaScript code in this file
*/
-function toggleVisibility(linkObj)
-{
- var base = $(linkObj).attr('id');
- var summary = $('#'+base+'-summary');
- var content = $('#'+base+'-content');
- var trigger = $('#'+base+'-trigger');
- var src=$(trigger).attr('src');
- if (content.is(':visible')===true) {
- content.hide();
- summary.show();
- $(linkObj).addClass('closed').removeClass('opened');
- $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
- } else {
- content.show();
- summary.hide();
- $(linkObj).removeClass('closed').addClass('opened');
- $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
- }
- return false;
-}
-
-function updateStripes()
-{
- $('table.directory tr').
- removeClass('even').filter(':visible:even').addClass('even');
- $('table.directory tr').
- removeClass('odd').filter(':visible:odd').addClass('odd');
-}
-
-function toggleLevel(level)
-{
- $('table.directory tr').each(function() {
- var l = this.id.split('_').length-1;
- var i = $('#img'+this.id.substring(3));
- var a = $('#arr'+this.id.substring(3));
- if (l
');
+ // add vertical lines to other rows
+ $('span[class=lineno]').not(':eq(0)').append(' ');
+ // add toggle controls to lines with fold divs
+ $('div[class=foldopen]').each(function() {
+ // extract specific id to use
+ const id = $(this).attr('id').replace('foldopen','');
+ // extract start and end foldable fragment attributes
+ const start = $(this).attr('data-start');
+ const end = $(this).attr('data-end');
+ // replace normal fold span with controls for the first line of a foldable fragment
+ $(this).find('span[class=fold]:first').replaceWith(' ');
+ // append div for folded (closed) representation
+ $(this).after('
');
+ // extract the first line from the "open" section to represent closed content
+ const line = $(this).children().first().clone();
+ // remove any glow that might still be active on the original line
+ $(line).removeClass('glow');
+ if (start) {
+ // if line already ends with a start marker (e.g. trailing {), remove it
+ $(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),''));
+ }
+ // replace minus with plus symbol
+ $(line).find('span[class=fold]').css('background-image',codefold.plusImg[relPath]);
+ // append ellipsis
+ $(line).append(' '+start+'… '+end);
+ // insert constructed line into closed div
+ $('#foldclosed'+id).html(line);
+ });
+ },
+};
/* @license-end */
-$(document).ready(function() {
+$(function() {
$('.code,.codeRef').each(function() {
$(this).data('powertip',$('#a'+$(this).attr('href').replace(/.*\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html());
$.fn.powerTip.smartPlacementLists.s = [ 's', 'n', 'ne', 'se' ];
diff --git a/docs/html/files.html b/docs/html/files.html
index d8fd289..92fc325 100644
--- a/docs/html/files.html
+++ b/docs/html/files.html
@@ -3,16 +3,18 @@
-
+
astro: File List
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -94,9 +96,9 @@
Here is a list of all files with brief descriptions:
-
[detail level 1 2 3 ]
- ▼ include
- ▼ astro
+[detail level 1 2 3 ]
-
+
@@ -64,7 +66,7 @@
@@ -158,7 +160,7 @@
diff --git a/docs/html/index.html b/docs/html/index.html
index 5f0d330..eeeeb2a 100644
--- a/docs/html/index.html
+++ b/docs/html/index.html
@@ -3,16 +3,18 @@
-
+
astro: astro
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -176,17 +178,18 @@
The copyright holders are not liable for any damage(s) incurred due to improper use of astro.
TODO
-
Todo: Find a way to provide an option to clean installation.
-
Todo: Find a way to remove workaround to get Doxygen to not throw warnings in readme.
-
Todo: Find a way to have nested variables in Doxygen
config file so that e.g., @@CMAKE_PROJECT_NAME@_VERSION@
works.
-
Todo: Add version detection in CMake
module so that find_package respects minimum version required.
+
Todo Find a way to provide an option to clean installation.
+
Todo Find a way to remove workaround to get Doxygen to not throw warnings in readme.
+
Todo Find a way to have nested variables in Doxygen
config file so that e.g., @@CMAKE_PROJECT_NAME@_VERSION@
works.
+
Todo Add version detection in CMake
module so that find_package respects minimum version required.
+
diff --git a/docs/html/j2AccelerationModel_8hpp.html b/docs/html/j2AccelerationModel_8hpp.html
index d88db26..0d02723 100644
--- a/docs/html/j2AccelerationModel_8hpp.html
+++ b/docs/html/j2AccelerationModel_8hpp.html
@@ -3,16 +3,18 @@
-
+
astro: j2AccelerationModel.hpp File Reference
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -122,12 +124,12 @@
-template<typename Real , typename Vector3 >
+template<typename Real , typename Vector3 >
Vector3 astro::computeJ2Acceleration (const Real gravitationalParameter, const Vector3 &position, const Real equatorialRadius, const Real j2Coefficient)
Compute gravitational acceleration due to J2.
@@ -138,7 +140,7 @@
diff --git a/docs/html/j2AccelerationModel_8hpp_source.html b/docs/html/j2AccelerationModel_8hpp_source.html
index 89165a3..148e9e0 100644
--- a/docs/html/j2AccelerationModel_8hpp_source.html
+++ b/docs/html/j2AccelerationModel_8hpp_source.html
@@ -3,16 +3,18 @@
-
+
astro: j2AccelerationModel.hpp Source File
+
+
@@ -34,7 +36,7 @@
-
+
+
@@ -64,7 +71,7 @@
@@ -108,6 +115,7 @@
46 template <
typename Real,
typename Vector3>
+
48 const Vector3& position,
49 const Real equatorialRadius,
@@ -132,17 +140,18 @@
+
-
Vector3 computeJ2Acceleration(const Real gravitationalParameter, const Vector3 &position, const Real equatorialRadius, const Real j2Coefficient)
Compute gravitational acceleration due to J2.
+
Vector3 computeJ2Acceleration(const Real gravitationalParameter, const Vector3 &position, const Real equatorialRadius, const Real j2Coefficient)
Compute gravitational acceleration due to J2.
diff --git a/docs/html/menu.js b/docs/html/menu.js
index b0b2693..717761d 100644
--- a/docs/html/menu.js
+++ b/docs/html/menu.js
@@ -24,13 +24,12 @@
*/
function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
function makeTree(data,relPath) {
- var result='';
+ let result='';
if ('children' in data) {
result+='';
- for (var i in data.children) {
- var url;
- var link;
- link = data.children[i].url;
+ for (let i in data.children) {
+ let url;
+ const link = data.children[i].url;
if (link.substring(0,1)=='^') {
url = link.substring(1);
} else {
@@ -44,7 +43,7 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
}
return result;
}
- var searchBoxHtml;
+ let searchBoxHtml;
if (searchEnabled) {
if (serverSide) {
searchBoxHtml=''+
@@ -88,29 +87,28 @@ function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
if (searchBoxHtml) {
$('#main-menu').append('
');
}
- var $mainMenuState = $('#main-menu-state');
- var prevWidth = 0;
+ const $mainMenuState = $('#main-menu-state');
+ let prevWidth = 0;
if ($mainMenuState.length) {
- function initResizableIfExists() {
+ const initResizableIfExists = function() {
if (typeof initResizable==='function') initResizable();
}
// animate mobile menu
- $mainMenuState.change(function(e) {
- var $menu = $('#main-menu');
- var options = { duration: 250, step: initResizableIfExists };
+ $mainMenuState.change(function() {
+ const $menu = $('#main-menu');
+ let options = { duration: 250, step: initResizableIfExists };
if (this.checked) {
- options['complete'] = function() { $menu.css('display', 'block') };
+ options['complete'] = () => $menu.css('display', 'block');
$menu.hide().slideDown(options);
} else {
- options['complete'] = function() { $menu.css('display', 'none') };
+ options['complete'] = () => $menu.css('display', 'none');
$menu.show().slideUp(options);
}
});
// set default menu visibility
- function resetState() {
- var $menu = $('#main-menu');
- var $mainMenuState = $('#main-menu-state');
- var newWidth = $(window).outerWidth();
+ const resetState = function() {
+ const $menu = $('#main-menu');
+ const newWidth = $(window).outerWidth();
if (newWidth!=prevWidth) {
if ($(window).outerWidth()<768) {
$mainMenuState.prop('checked',false); $menu.hide();
diff --git a/docs/html/minus.svg b/docs/html/minus.svg
new file mode 100644
index 0000000..f70d0c1
--- /dev/null
+++ b/docs/html/minus.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/docs/html/minusd.svg b/docs/html/minusd.svg
new file mode 100644
index 0000000..5f8e879
--- /dev/null
+++ b/docs/html/minusd.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/docs/html/namespaceastro.html b/docs/html/namespaceastro.html
index f9639b8..a8c0718 100644
--- a/docs/html/namespaceastro.html
+++ b/docs/html/namespaceastro.html
@@ -3,16 +3,18 @@
-
+
astro: astro Namespace Reference
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -100,153 +102,153 @@
-enum CartesianElementIndices {
- xPositionIndex = 0
-, yPositionIndex = 1
-, zPositionIndex = 2
-, xVelocityIndex = 3
+enum CartesianElementIndices {
+ xPositionIndex = 0
+, yPositionIndex = 1
+, zPositionIndex = 2
+, xVelocityIndex = 3
,
- yVelocityIndex = 4
-, zVelocityIndex = 5
+ yVelocityIndex = 4
+, zVelocityIndex = 5
}
- Cartesian element array indices. More...
+ Cartesian element array indices. More...
-enum KeplerianElementIndices {
- semiMajorAxisIndex = 0
-, semiLatusRectumIndex = 0
-, eccentricityIndex = 1
-, inclinationIndex = 2
+enum KeplerianElementIndices {
+ semiMajorAxisIndex = 0
+, semiLatusRectumIndex = 0
+, eccentricityIndex = 1
+, inclinationIndex = 2
,
- argumentOfPeriapsisIndex = 3
-, longitudeOfAscendingNodeIndex = 4
-, trueAnomalyIndex = 5
-, trueLongitudeOfPeriapsis = 5
+ argumentOfPeriapsisIndex = 3
+, longitudeOfAscendingNodeIndex = 4
+, trueAnomalyIndex = 5
+, trueLongitudeOfPeriapsis = 5
,
- argumentOfLatitude = 5
-, trueLongitude = 5
-, meanAnomalyIndex = 5
+ argumentOfLatitude = 5
+, trueLongitude = 5
+, meanAnomalyIndex = 5
}
- Keplerian element array indices. More...
+ Keplerian element array indices. More...
-template<typename Real , typename Vector3 >
-Vector3 computeCentralBodyAcceleration (const Real gravitationalParameter, const Vector3 &position)
+template<typename Real , typename Vector3 >
+Vector3 computeCentralBodyAcceleration (const Real gravitationalParameter, const Vector3 &position)
Compute the acceleration of a point mass body orbiting a uniform central body.
-template<typename Real , typename Vector3 >
-Vector3 computeJ2Acceleration (const Real gravitationalParameter, const Vector3 &position, const Real equatorialRadius, const Real j2Coefficient)
+template<typename Real , typename Vector3 >
+Vector3 computeJ2Acceleration (const Real gravitationalParameter, const Vector3 &position, const Real equatorialRadius, const Real j2Coefficient)
Compute gravitational acceleration due to J2.
-template<typename Real , typename Vector6 >
-Vector6 convertCartesianToKeplerianElements (const Vector6 &cartesianElements, const Real gravitationalParameter, const Real tolerance=10.0 *std::numeric_limits< Real >::epsilon())
+template<typename Real , typename Vector6 >
+Vector6 convertCartesianToKeplerianElements (const Vector6 &cartesianElements, const Real gravitationalParameter, const Real tolerance=10.0 *std::numeric_limits< Real >::epsilon())
Convert Cartesian elements to Keplerian elements.
-template<typename Real , typename Vector6 >
-Vector6 convertKeplerianToCartesianElements (const Vector6 &keplerianElements, const Real gravitationalParameter, const Real tolerance=10.0 *std::numeric_limits< Real >::epsilon())
+template<typename Real , typename Vector6 >
+Vector6 convertKeplerianToCartesianElements (const Vector6 &keplerianElements, const Real gravitationalParameter, const Real tolerance=10.0 *std::numeric_limits< Real >::epsilon())
Convert Keplerian elements to Cartesian elements.
-template<typename Real >
-Real convertTrueAnomalyToEllipticalEccentricAnomaly (const Real trueAnomaly, const Real eccentricity)
+template<typename Real >
+Real convertTrueAnomalyToEllipticalEccentricAnomaly (const Real trueAnomaly, const Real eccentricity)
Convert true anomaly to elliptical eccentric anomaly.
-template<typename Real >
-Real convertTrueAnomalyToHyperbolicEccentricAnomaly (const Real trueAnomaly, const Real eccentricity)
+template<typename Real >
+Real convertTrueAnomalyToHyperbolicEccentricAnomaly (const Real trueAnomaly, const Real eccentricity)
Convert true anomaly to hyperbolic eccentric anomaly.
-template<typename Real >
-Real convertTrueAnomalyToEccentricAnomaly (const Real trueAnomaly, const Real eccentricity)
+template<typename Real >
+Real convertTrueAnomalyToEccentricAnomaly (const Real trueAnomaly, const Real eccentricity)
Convert true anomaly to eccentric anomaly.
-template<typename Real >
-Real convertEllipticalEccentricAnomalyToMeanAnomaly (const Real ellipticalEccentricAnomaly, const Real eccentricity)
+template<typename Real >
+Real convertEllipticalEccentricAnomalyToMeanAnomaly (const Real ellipticalEccentricAnomaly, const Real eccentricity)
Convert elliptical eccentric anomaly to mean anomaly.
-template<typename Real >
-Real convertHyperbolicEccentricAnomalyToMeanAnomaly (const Real hyperbolicEccentricAnomaly, const Real eccentricity)
+template<typename Real >
+Real convertHyperbolicEccentricAnomalyToMeanAnomaly (const Real hyperbolicEccentricAnomaly, const Real eccentricity)
Convert hyperbolic eccentric anomaly to mean anomaly.
-template<typename Real >
-Real convertEccentricAnomalyToMeanAnomaly (const Real eccentricAnomaly, const Real eccentricity)
+template<typename Real >
+Real convertEccentricAnomalyToMeanAnomaly (const Real eccentricAnomaly, const Real eccentricity)
Convert eccentric anomaly to mean anomaly.
-template<typename Real >
-Real convertEllipticalEccentricAnomalyToTrueAnomaly (const Real ellipticEccentricAnomaly, const Real eccentricity)
+template<typename Real >
+Real convertEllipticalEccentricAnomalyToTrueAnomaly (const Real ellipticEccentricAnomaly, const Real eccentricity)
Convert elliptical eccentric anomaly to true anomaly.
-template<typename Real >
-Real convertHyperbolicEccentricAnomalyToTrueAnomaly (const Real hyperbolicEccentricAnomaly, const Real eccentricity)
+template<typename Real >
+Real convertHyperbolicEccentricAnomalyToTrueAnomaly (const Real hyperbolicEccentricAnomaly, const Real eccentricity)
Convert hyperbolic eccentric anomaly to true anomaly.
-template<typename Real >
-Real convertEccentricAnomalyToTrueAnomaly (const Real eccentricAnomaly, const Real eccentricity)
+template<typename Real >
+Real convertEccentricAnomalyToTrueAnomaly (const Real eccentricAnomaly, const Real eccentricity)
Convert eccentric anomaly to true anomaly.
-template<typename Real >
-Real computeEllipticalKeplerFunction (const Real eccentricAnomaly, const Real eccentricity, const Real meanAnomaly)
+template<typename Real >
+Real computeEllipticalKeplerFunction (const Real eccentricAnomaly, const Real eccentricity, const Real meanAnomaly)
Compute Kepler function for elliptical orbits.
-template<typename Real >
-Real computeFirstDerivativeEllipticalKeplerFunction (const Real eccentricAnomaly, const Real eccentricity)
+template<typename Real >
+Real computeFirstDerivativeEllipticalKeplerFunction (const Real eccentricAnomaly, const Real eccentricity)
Compute 1st-derivative of Kepler function for elliptical orbits.
-template<typename Real , typename Integer >
-Real convertEllipticalMeanAnomalyToEccentricAnomaly (const Real eccentricity, const Real meanAnomaly, const Real rootFindingTolerance=1.0e-3 *std::numeric_limits< Real >::epsilon(), const Integer maximumIterations=100)
+template<typename Real , typename Integer >
+Real convertEllipticalMeanAnomalyToEccentricAnomaly (const Real eccentricity, const Real meanAnomaly, const Real rootFindingTolerance=1.0e-3 *std::numeric_limits< Real >::epsilon(), const Integer maximumIterations=100)
Convert elliptical mean anomaly to eccentric anomaly.
-template<typename Real >
-Real computeAbsorptionRadiationPressure (const Real energyFlux)
+template<typename Real >
+Real computeAbsorptionRadiationPressure (const Real energyFlux)
Compute radiation pressure for complete absorption.
-template<typename Real >
-Real computeRadiationPressure (const Real referenceRadiationPressure, const Real referenceDistance, const Real distance)
+template<typename Real >
+Real computeRadiationPressure (const Real referenceRadiationPressure, const Real referenceDistance, const Real distance)
Compute radiation pressure.
-template<typename Real , typename Vector3 >
-Vector3 computeCannonballRadiationPressureAcceleration (const Real radiationPressure, const Real radiationPressureCoefficient, const Vector3 &unitVectorToSource, const Real radius, const Real bulkDensity)
+template<typename Real , typename Vector3 >
+Vector3 computeCannonballRadiationPressureAcceleration (const Real radiationPressure, const Real radiationPressureCoefficient, const Vector3 &unitVectorToSource, const Real radius, const Real bulkDensity)
Compute radiation pressure acceleration for a cannonball.
-template<typename Real , typename Vector3 >
-Vector3 computeCannonballPoyntingRobertsonDragAcceleration (const Real radiationPressure, const Real radiationPressureCoefficient, const Vector3 &unitVectorToSource, const Real radius, const Real bulkDensity, const Vector3 &velocity)
+template<typename Real , typename Vector3 >
+Vector3 computeCannonballPoyntingRobertsonDragAcceleration (const Real radiationPressure, const Real radiationPressureCoefficient, const Vector3 &unitVectorToSource, const Real radius, const Real bulkDensity, const Vector3 &velocity)
Compute Poynting-Roberson drag acceleration for a cannonball.
-template<typename Real >
-Real computeKeplerMeanMotion (const Real semiMajorAxis, const Real gravitationalParameterOfCentralBody, const Real massOfOrbitingBody=0.0)
+template<typename Real >
+Real computeKeplerMeanMotion (const Real semiMajorAxis, const Real gravitationalParameterOfCentralBody, const Real massOfOrbitingBody=0.0)
Compute mean motion.
-template<typename Real >
-Real computeKeplerOrbitalPeriod (const Real semiMajorAxis, const Real gravitationalParameterOfCentralBody, const Real massOfOrbitingBody=0.0)
+template<typename Real >
+Real computeKeplerOrbitalPeriod (const Real semiMajorAxis, const Real gravitationalParameterOfCentralBody, const Real massOfOrbitingBody=0.0)
Compute orbital period.
-template<typename Real >
-Real computeCircularVelocity (const Real semiMajorAxis, const Real gravitationalParameterOfCentralBody)
+template<typename Real >
+Real computeCircularVelocity (const Real semiMajorAxis, const Real gravitationalParameterOfCentralBody)
Compute circular velocity.
@@ -258,7 +260,7 @@
@@ -371,31 +366,22 @@
Vector3 astro::computeJ2Acceleration
(
- const Real
- gravitationalParameter ,
+ const Real gravitationalParameter ,
- const Vector3 &
- position ,
+ const Vector3 & position ,
- const Real
- equatorialRadius ,
+ const Real equatorialRadius ,
- const Real
- j2Coefficient
-
-
-
- )
-
+ const Real j2Coefficient )
@@ -445,25 +431,17 @@
Vector6 astro::convertCartesianToKeplerianElements
(
- const Vector6 &
- cartesianElements ,
+ const Vector6 & cartesianElements ,
- const Real
- gravitationalParameter ,
+ const Real gravitationalParameter ,
- const Real
- tolerance = 10.0 * std::numeric_limits<Real>::epsilon()
-
-
-
- )
-
+ const Real tolerance = 10.0 * std::numeric_limits<Real>::epsilon() )
@@ -519,25 +497,17 @@
Vector6 astro::convertKeplerianToCartesianElements
(
- const Vector6 &
- keplerianElements ,
+ const Vector6 & keplerianElements ,
- const Real
- gravitationalParameter ,
+ const Real gravitationalParameter ,
- const Real
- tolerance = 10.0 * std::numeric_limits<Real>::epsilon()
-
-
-
- )
-
+ const Real tolerance = 10.0 * std::numeric_limits<Real>::epsilon() )
Converts eccentric anomaly to true anomaly for elliptical and hyperbolic orbits (eccentricity < 1.0 && eccentricity > 1.0). This function is essentially a wrapper for functions that treat each case. It should be used in cases where the eccentricity of the orbit is not known a priori.
Currently, this implementation performs a check on the eccentricity and throws an error for eccentricity < 0.0 and parabolic orbits, which have not been implemented.
The equations used can be found in (Chobotov, 2002).
-
See also convertEllipticalEccentricAnomalyToTrueAnomaly , convertHyperbolicEccentricAnomalyToTrueAnomaly
+
See also convertEllipticalEccentricAnomalyToTrueAnomaly , convertHyperbolicEccentricAnomalyToTrueAnomaly
Template Parameters
Real Real type
@@ -1049,25 +956,17 @@ Real astro::computeEllipticalKeplerFunction
(
- const Real
- eccentricAnomaly ,
+ const Real eccentricAnomaly ,
- const Real
- eccentricity ,
+ const Real eccentricity ,
- const Real
- meanAnomaly
-
-
-
- )
-
+ const Real meanAnomaly )
@@ -1170,31 +1062,22 @@
Real astro::convertEllipticalMeanAnomalyToEccentricAnomaly
(
- const Real
- eccentricity ,
+ const Real eccentricity ,
- const Real
- meanAnomaly ,
+ const Real meanAnomaly ,
- const Real
- rootFindingTolerance = 1.0e-3 * std::numeric_limits<Real>::epsilon()
,
+ const Real rootFindingTolerance = 1.0e-3 * std::numeric_limits<Real>::epsilon() ,
- const Integer
- maximumIterations = 100
-
-
-
- )
-
+ const Integer maximumIterations = 100 )
@@ -1344,37 +1218,27 @@
Vector3 astro::computeCannonballRadiationPressureAcceleration
(
- const Real
- radiationPressure ,
+ const Real radiationPressure ,
- const Real
- radiationPressureCoefficient ,
+ const Real radiationPressureCoefficient ,
- const Vector3 &
- unitVectorToSource ,
+ const Vector3 & unitVectorToSource ,
- const Real
- radius ,
+ const Real radius ,
- const Real
- bulkDensity
-
-
-
- )
-
+ const Real bulkDensity )
@@ -1386,7 +1250,7 @@
is the radiation pressure for complete absorption at a specified distance from the source, is the radiation pressure coefficient ( for complete absorption and for specular reflection), is the radius of the cannonball, is the bulk density of the cannonball, and is the unit vector pointing to the source of the radiation pressure, e.g., the Sun.
This function can be used to compute the 1st-order effects of radiation pressure on small particles in the Solar System. The higher-order terms, stemming from Poynting-Robertson drag are neglected.
-See also computeCannonballPoyntingRobertsonDragAcceleration
+See also computeCannonballPoyntingRobertsonDragAcceleration
Template Parameters
Real Floating-point type
@@ -1421,43 +1285,32 @@ Vector3 astro::computeCannonballPoyntingRobertsonDragAcceleration
(
- const Real
- radiationPressure ,
+ const Real radiationPressure ,
- const Real
- radiationPressureCoefficient ,
+ const Real radiationPressureCoefficient ,
- const Vector3 &
- unitVectorToSource ,
+ const Vector3 & unitVectorToSource ,
- const Real
- radius ,
+ const Real radius ,
- const Real
- bulkDensity ,
+ const Real bulkDensity ,
- const Vector3 &
- velocity
-
-
-
- )
-
+ const Vector3 & velocity )
@@ -1469,7 +1322,7 @@
is the radiation pressure for complete absorption at a specified distance from the source, is the radiation pressure coefficient ( for complete absorption and for specular reflection), is the radius of the cannonball, is the bulk density of the cannonball, is the unit vector pointing from the source of the radiation pressure, e.g., the Sun, and is the total velocity of the cannonball in an inertial frame centered at the source.
This function can be used to compute the higher-order effects of radiation pressure on small particles in the Solar System. The 1st-order effect (zeroth-order in ) is not included.
-See also computeCannonballRadiationPressureAcceleration
+See also computeCannonballRadiationPressureAcceleration
Template Parameters
Real Floating-point type
@@ -1507,25 +1360,17 @@ Real astro::computeKeplerMeanMotion
(
- const Real
- semiMajorAxis ,
+ const Real semiMajorAxis ,
- const Real
- gravitationalParameterOfCentralBody ,
+ const Real gravitationalParameterOfCentralBody ,
- const Real
- massOfOrbitingBody = 0.0
-
-
-
- )
-
+ const Real massOfOrbitingBody = 0.0 )
@@ -1570,25 +1415,17 @@
Real astro::computeKeplerOrbitalPeriod
(
- const Real
- semiMajorAxis ,
+ const Real semiMajorAxis ,
- const Real
- gravitationalParameterOfCentralBody ,
+ const Real gravitationalParameterOfCentralBody ,
- const Real
- massOfOrbitingBody = 0.0
-
-
-
- )
-
+ const Real massOfOrbitingBody = 0.0 )
@@ -1627,19 +1464,12 @@
Real astro::computeCircularVelocity
(
- const Real
- semiMajorAxis ,
+ const Real semiMajorAxis ,
- const Real
- gravitationalParameterOfCentralBody
-
-
-
- )
-
+ const Real gravitationalParameterOfCentralBody )
diff --git a/docs/html/namespacemembers.html b/docs/html/namespacemembers.html
index c40eb82..cbacd45 100644
--- a/docs/html/namespacemembers.html
+++ b/docs/html/namespacemembers.html
@@ -3,16 +3,18 @@
-
+
astro: Namespace Members
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -192,7 +194,7 @@
- z -
diff --git a/docs/html/namespacemembers_enum.html b/docs/html/namespacemembers_enum.html
index d9611e1..e778b29 100644
--- a/docs/html/namespacemembers_enum.html
+++ b/docs/html/namespacemembers_enum.html
@@ -3,16 +3,18 @@
-
+
astro: Namespace Members
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -99,7 +101,7 @@
diff --git a/docs/html/namespacemembers_eval.html b/docs/html/namespacemembers_eval.html
index cc27fea..a05091c 100644
--- a/docs/html/namespacemembers_eval.html
+++ b/docs/html/namespacemembers_eval.html
@@ -3,16 +3,18 @@
-
+
astro: Namespace Members
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -114,7 +116,7 @@
diff --git a/docs/html/namespacemembers_func.html b/docs/html/namespacemembers_func.html
index 25d589f..3b547e7 100644
--- a/docs/html/namespacemembers_func.html
+++ b/docs/html/namespacemembers_func.html
@@ -3,16 +3,18 @@
-
+
astro: Namespace Members
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -120,7 +122,7 @@
diff --git a/docs/html/namespacemembers_vars.html b/docs/html/namespacemembers_vars.html
index 48c8e25..9c17860 100644
--- a/docs/html/namespacemembers_vars.html
+++ b/docs/html/namespacemembers_vars.html
@@ -3,16 +3,18 @@
-
+
astro: Namespace Members
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -104,7 +106,7 @@
diff --git a/docs/html/namespaces.html b/docs/html/namespaces.html
index c51b8c0..7de965f 100644
--- a/docs/html/namespaces.html
+++ b/docs/html/namespaces.html
@@ -3,16 +3,18 @@
-
+
astro: Namespace List
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -103,7 +105,7 @@
diff --git a/docs/html/navtree.css b/docs/html/navtree.css
index c8a7766..69211d4 100644
--- a/docs/html/navtree.css
+++ b/docs/html/navtree.css
@@ -42,7 +42,6 @@
text-decoration:none;
padding:0px;
margin:0px;
- outline:none;
}
#nav-tree .label {
diff --git a/docs/html/navtree.js b/docs/html/navtree.js
index f23e984..884b79b 100644
--- a/docs/html/navtree.js
+++ b/docs/html/navtree.js
@@ -22,535 +22,461 @@
@licend The above is the entire license notice for the JavaScript code in this file
*/
-var navTreeSubIndices = new Array();
-var arrowDown = '▼';
-var arrowRight = '►';
-
-function getData(varName)
-{
- var i = varName.lastIndexOf('/');
- var n = i>=0 ? varName.substring(i+1) : varName;
- return eval(n.replace(/\-/g,'_'));
-}
-function stripPath(uri)
-{
- return uri.substring(uri.lastIndexOf('/')+1);
-}
+function initNavTree(toroot,relpath) {
+ let navTreeSubIndices = [];
+ const ARROW_DOWN = '▼';
+ const ARROW_RIGHT = '►';
+ const NAVPATH_COOKIE_NAME = ''+'navpath';
-function stripPath2(uri)
-{
- var i = uri.lastIndexOf('/');
- var s = uri.substring(i+1);
- var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/);
- return m ? uri.substring(i-6) : s;
-}
+ const getData = function(varName) {
+ const i = varName.lastIndexOf('/');
+ const n = i>=0 ? varName.substring(i+1) : varName;
+ return eval(n.replace(/-/g,'_'));
+ }
-function hashValue()
-{
- return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,'');
-}
+ const stripPath = function(uri) {
+ return uri.substring(uri.lastIndexOf('/')+1);
+ }
-function hashUrl()
-{
- return '#'+hashValue();
-}
+ const stripPath2 = function(uri) {
+ const i = uri.lastIndexOf('/');
+ const s = uri.substring(i+1);
+ const m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/);
+ return m ? uri.substring(i-6) : s;
+ }
-function pathName()
-{
- return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, '');
-}
+ const hashValue = function() {
+ return $(location).attr('hash').substring(1).replace(/[^\w-]/g,'');
+ }
-function localStorageSupported()
-{
- try {
- return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem;
+ const hashUrl = function() {
+ return '#'+hashValue();
}
- catch(e) {
- return false;
+
+ const pathName = function() {
+ return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;()]/g, '');
}
-}
-function storeLink(link)
-{
- if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) {
- window.localStorage.setItem('navpath',link);
+ const storeLink = function(link) {
+ if (!$("#nav-sync").hasClass('sync')) {
+ Cookie.writeSetting(NAVPATH_COOKIE_NAME,link,0);
+ }
}
-}
-function deleteLink()
-{
- if (localStorageSupported()) {
- window.localStorage.setItem('navpath','');
+ const deleteLink = function() {
+ Cookie.eraseSetting(NAVPATH_COOKIE_NAME);
}
-}
-function cachedLink()
-{
- if (localStorageSupported()) {
- return window.localStorage.getItem('navpath');
- } else {
- return '';
+ const cachedLink = function() {
+ return Cookie.readSetting(NAVPATH_COOKIE_NAME,'');
}
-}
-function getScript(scriptName,func,show)
-{
- var head = document.getElementsByTagName("head")[0];
- var script = document.createElement('script');
- script.id = scriptName;
- script.type = 'text/javascript';
- script.onload = func;
- script.src = scriptName+'.js';
- head.appendChild(script);
-}
+ const getScript = function(scriptName,func) {
+ const head = document.getElementsByTagName("head")[0];
+ const script = document.createElement('script');
+ script.id = scriptName;
+ script.type = 'text/javascript';
+ script.onload = func;
+ script.src = scriptName+'.js';
+ head.appendChild(script);
+ }
-function createIndent(o,domNode,node,level)
-{
- var level=-1;
- var n = node;
- while (n.parentNode) { level++; n=n.parentNode; }
- if (node.childrenData) {
- var imgNode = document.createElement("span");
- imgNode.className = 'arrow';
- imgNode.style.paddingLeft=(16*level).toString()+'px';
- imgNode.innerHTML=arrowRight;
- node.plus_img = imgNode;
- node.expandToggle = document.createElement("a");
- node.expandToggle.href = "javascript:void(0)";
- node.expandToggle.onclick = function() {
- if (node.expanded) {
- $(node.getChildrenUL()).slideUp("fast");
- node.plus_img.innerHTML=arrowRight;
- node.expanded = false;
- } else {
- expandNode(o, node, false, false);
+ const createIndent = function(o,domNode,node) {
+ let level=-1;
+ let n = node;
+ while (n.parentNode) { level++; n=n.parentNode; }
+ if (node.childrenData) {
+ const imgNode = document.createElement("span");
+ imgNode.className = 'arrow';
+ imgNode.style.paddingLeft=(16*level).toString()+'px';
+ imgNode.innerHTML=ARROW_RIGHT;
+ node.plus_img = imgNode;
+ node.expandToggle = document.createElement("a");
+ node.expandToggle.href = "javascript:void(0)";
+ node.expandToggle.onclick = function() {
+ if (node.expanded) {
+ $(node.getChildrenUL()).slideUp("fast");
+ node.plus_img.innerHTML=ARROW_RIGHT;
+ node.expanded = false;
+ } else {
+ expandNode(o, node, false, true);
+ }
}
+ node.expandToggle.appendChild(imgNode);
+ domNode.appendChild(node.expandToggle);
+ } else {
+ let span = document.createElement("span");
+ span.className = 'arrow';
+ span.style.width = 16*(level+1)+'px';
+ span.innerHTML = ' ';
+ domNode.appendChild(span);
}
- node.expandToggle.appendChild(imgNode);
- domNode.appendChild(node.expandToggle);
- } else {
- var span = document.createElement("span");
- span.className = 'arrow';
- span.style.width = 16*(level+1)+'px';
- span.innerHTML = ' ';
- domNode.appendChild(span);
}
-}
-var animationInProgress = false;
-
-function gotoAnchor(anchor,aname,updateLocation)
-{
- var pos, docContent = $('#doc-content');
- var ancParent = $(anchor.parent());
- if (ancParent.hasClass('memItemLeft') ||
- ancParent.hasClass('memtitle') ||
- ancParent.hasClass('fieldname') ||
- ancParent.hasClass('fieldtype') ||
- ancParent.is(':header'))
- {
- pos = ancParent.position().top;
- } else if (anchor.position()) {
- pos = anchor.position().top;
- }
- if (pos) {
- var dist = Math.abs(Math.min(
- pos-docContent.offset().top,
- docContent[0].scrollHeight-
- docContent.height()-docContent.scrollTop()));
- animationInProgress=true;
- docContent.animate({
- scrollTop: pos + docContent.scrollTop() - docContent.offset().top
- },Math.max(50,Math.min(500,dist)),function(){
- if (updateLocation) window.location.href=aname;
- animationInProgress=false;
- });
+ let animationInProgress = false;
+
+ const gotoAnchor = function(anchor,aname) {
+ let pos, docContent = $('#doc-content');
+ let ancParent = $(anchor.parent());
+ if (ancParent.hasClass('memItemLeft') || ancParent.hasClass('memtitle') ||
+ ancParent.hasClass('fieldname') || ancParent.hasClass('fieldtype') ||
+ ancParent.is(':header')) {
+ pos = ancParent.position().top;
+ } else if (anchor.position()) {
+ pos = anchor.position().top;
+ }
+ if (pos) {
+ const dcOffset = docContent.offset().top;
+ const dcHeight = docContent.height();
+ const dcScrHeight = docContent[0].scrollHeight
+ const dcScrTop = docContent.scrollTop();
+ let dist = Math.abs(Math.min(pos-dcOffset,dcScrHeight-dcHeight-dcScrTop));
+ animationInProgress = true;
+ docContent.animate({
+ scrollTop: pos + dcScrTop - dcOffset
+ },Math.max(50,Math.min(500,dist)),function() {
+ window.location.href=aname;
+ animationInProgress=false;
+ });
+ }
}
-}
-function newNode(o, po, text, link, childrenData, lastNode)
-{
- var node = new Object();
- node.children = Array();
- node.childrenData = childrenData;
- node.depth = po.depth + 1;
- node.relpath = po.relpath;
- node.isLast = lastNode;
-
- node.li = document.createElement("li");
- po.getChildrenUL().appendChild(node.li);
- node.parentNode = po;
-
- node.itemDiv = document.createElement("div");
- node.itemDiv.className = "item";
-
- node.labelSpan = document.createElement("span");
- node.labelSpan.className = "label";
-
- createIndent(o,node.itemDiv,node,0);
- node.itemDiv.appendChild(node.labelSpan);
- node.li.appendChild(node.itemDiv);
-
- var a = document.createElement("a");
- node.labelSpan.appendChild(a);
- node.label = document.createTextNode(text);
- node.expanded = false;
- a.appendChild(node.label);
- if (link) {
- var url;
- if (link.substring(0,1)=='^') {
- url = link.substring(1);
- link = url;
- } else {
- url = node.relpath+link;
- }
- a.className = stripPath(link.replace('#',':'));
- if (link.indexOf('#')!=-1) {
- var aname = '#'+link.split('#')[1];
- var srcPage = stripPath(pathName());
- var targetPage = stripPath(link.split('#')[0]);
- a.href = srcPage!=targetPage ? url : "javascript:void(0)";
- a.onclick = function(){
- storeLink(link);
- if (!$(a).parent().parent().hasClass('selected'))
- {
- $('.item').removeClass('selected');
- $('.item').removeAttr('id');
- $(a).parent().parent().addClass('selected');
- $(a).parent().parent().attr('id','selected');
+ const newNode = function(o, po, text, link, childrenData, lastNode) {
+ const node = {
+ children : [],
+ childrenData : childrenData,
+ depth : po.depth + 1,
+ relpath : po.relpath,
+ isLast : lastNode,
+ li : document.createElement("li"),
+ parentNode : po,
+ itemDiv : document.createElement("div"),
+ labelSpan : document.createElement("span"),
+ label : document.createTextNode(text),
+ expanded : false,
+ childrenUL : null,
+ getChildrenUL : function() {
+ if (!this.childrenUL) {
+ this.childrenUL = document.createElement("ul");
+ this.childrenUL.className = "children_ul";
+ this.childrenUL.style.display = "none";
+ this.li.appendChild(node.childrenUL);
}
- var anchor = $(aname);
- gotoAnchor(anchor,aname,true);
- };
- } else {
- a.href = url;
- a.onclick = function() { storeLink(link); }
- }
- } else {
- if (childrenData != null)
- {
+ return node.childrenUL;
+ },
+ };
+
+ node.itemDiv.className = "item";
+ node.labelSpan.className = "label";
+ createIndent(o,node.itemDiv,node);
+ node.itemDiv.appendChild(node.labelSpan);
+ node.li.appendChild(node.itemDiv);
+
+ const a = document.createElement("a");
+ node.labelSpan.appendChild(a);
+ po.getChildrenUL().appendChild(node.li);
+ a.appendChild(node.label);
+ if (link) {
+ let url;
+ if (link.substring(0,1)=='^') {
+ url = link.substring(1);
+ link = url;
+ } else {
+ url = node.relpath+link;
+ }
+ a.className = stripPath(link.replace('#',':'));
+ if (link.indexOf('#')!=-1) {
+ const aname = '#'+link.split('#')[1];
+ const srcPage = stripPath(pathName());
+ const targetPage = stripPath(link.split('#')[0]);
+ a.href = srcPage!=targetPage ? url : aname;
+ a.onclick = function() {
+ storeLink(link);
+ aPPar = $(a).parent().parent();
+ if (!aPPar.hasClass('selected')) {
+ $('.item').removeClass('selected');
+ $('.item').removeAttr('id');
+ aPPar.addClass('selected');
+ aPPar.attr('id','selected');
+ }
+ const anchor = $(aname);
+ gotoAnchor(anchor,aname);
+ };
+ } else {
+ a.href = url;
+ a.onclick = () => storeLink(link);
+ }
+ } else if (childrenData != null) {
a.className = "nolink";
a.href = "javascript:void(0)";
a.onclick = node.expandToggle.onclick;
}
+ return node;
}
- node.childrenUL = null;
- node.getChildrenUL = function() {
- if (!node.childrenUL) {
- node.childrenUL = document.createElement("ul");
- node.childrenUL.className = "children_ul";
- node.childrenUL.style.display = "none";
- node.li.appendChild(node.childrenUL);
- }
- return node.childrenUL;
- };
-
- return node;
-}
-
-function showRoot()
-{
- var headerHeight = $("#top").height();
- var footerHeight = $("#nav-path").height();
- var windowHeight = $(window).height() - headerHeight - footerHeight;
- (function (){ // retry until we can scroll to the selected item
- try {
- var navtree=$('#nav-tree');
- navtree.scrollTo('#selected',100,{offset:-windowHeight/2});
- } catch (err) {
- setTimeout(arguments.callee, 0);
- }
- })();
-}
+ const showRoot = function() {
+ const headerHeight = $("#top").height();
+ const footerHeight = $("#nav-path").height();
+ const windowHeight = $(window).height() - headerHeight - footerHeight;
+ (function() { // retry until we can scroll to the selected item
+ try {
+ const navtree=$('#nav-tree');
+ navtree.scrollTo('#selected',100,{offset:-windowHeight/2});
+ } catch (err) {
+ setTimeout(arguments.callee, 0);
+ }
+ })();
+ }
-function expandNode(o, node, imm, showRoot)
-{
- if (node.childrenData && !node.expanded) {
- if (typeof(node.childrenData)==='string') {
- var varName = node.childrenData;
- getScript(node.relpath+varName,function(){
- node.childrenData = getData(varName);
- expandNode(o, node, imm, showRoot);
- }, showRoot);
- } else {
- if (!node.childrenVisited) {
- getNode(o, node);
+ const expandNode = function(o, node, imm, setFocus) {
+ if (node.childrenData && !node.expanded) {
+ if (typeof(node.childrenData)==='string') {
+ const varName = node.childrenData;
+ getScript(node.relpath+varName,function() {
+ node.childrenData = getData(varName);
+ expandNode(o, node, imm, setFocus);
+ });
+ } else {
+ if (!node.childrenVisited) {
+ getNode(o, node);
+ }
+ $(node.getChildrenUL()).slideDown("fast");
+ node.plus_img.innerHTML = ARROW_DOWN;
+ node.expanded = true;
+ if (setFocus) {
+ $(node.expandToggle).focus();
+ }
}
- $(node.getChildrenUL()).slideDown("fast");
- node.plus_img.innerHTML = arrowDown;
- node.expanded = true;
}
}
-}
-
-function glowEffect(n,duration)
-{
- n.addClass('glow').delay(duration).queue(function(next){
- $(this).removeClass('glow');next();
- });
-}
-function highlightAnchor()
-{
- var aname = hashUrl();
- var anchor = $(aname);
- if (anchor.parent().attr('class')=='memItemLeft'){
- var rows = $('.memberdecls tr[class$="'+hashValue()+'"]');
- glowEffect(rows.children(),300); // member without details
- } else if (anchor.parent().attr('class')=='fieldname'){
- glowEffect(anchor.parent().parent(),1000); // enum value
- } else if (anchor.parent().attr('class')=='fieldtype'){
- glowEffect(anchor.parent().parent(),1000); // struct field
- } else if (anchor.parent().is(":header")) {
- glowEffect(anchor.parent(),1000); // section header
- } else {
- glowEffect(anchor.next(),1000); // normal member
+ const glowEffect = function(n,duration) {
+ n.addClass('glow').delay(duration).queue(function(next) {
+ $(this).removeClass('glow');next();
+ });
}
-}
-function selectAndHighlight(hash,n)
-{
- var a;
- if (hash) {
- var link=stripPath(pathName())+':'+hash.substring(1);
- a=$('.item a[class$="'+link+'"]');
- }
- if (a && a.length) {
- a.parent().parent().addClass('selected');
- a.parent().parent().attr('id','selected');
- highlightAnchor();
- } else if (n) {
- $(n.itemDiv).addClass('selected');
- $(n.itemDiv).attr('id','selected');
- }
- var topOffset=5;
- if (typeof page_layout!=='undefined' && page_layout==1) {
- topOffset+=$('#top').outerHeight();
+ const highlightAnchor = function() {
+ const aname = hashUrl();
+ const anchor = $(aname);
+ if (anchor.parent().attr('class')=='memItemLeft') {
+ let rows = $('.memberdecls tr[class$="'+hashValue()+'"]');
+ glowEffect(rows.children(),300); // member without details
+ } else if (anchor.parent().attr('class')=='fieldname') {
+ glowEffect(anchor.parent().parent(),1000); // enum value
+ } else if (anchor.parent().attr('class')=='fieldtype') {
+ glowEffect(anchor.parent().parent(),1000); // struct field
+ } else if (anchor.parent().is(":header")) {
+ glowEffect(anchor.parent(),1000); // section header
+ } else {
+ glowEffect(anchor.next(),1000); // normal member
+ }
+ gotoAnchor(anchor,aname);
}
- if ($('#nav-tree-contents .item:first').hasClass('selected')) {
- topOffset+=25;
+
+ const selectAndHighlight = function(hash,n) {
+ let a;
+ if (hash) {
+ const link=stripPath(pathName())+':'+hash.substring(1);
+ a=$('.item a[class$="'+link+'"]');
+ }
+ if (a && a.length) {
+ a.parent().parent().addClass('selected');
+ a.parent().parent().attr('id','selected');
+ highlightAnchor();
+ } else if (n) {
+ $(n.itemDiv).addClass('selected');
+ $(n.itemDiv).attr('id','selected');
+ }
+ let topOffset=5;
+ if ($('#nav-tree-contents .item:first').hasClass('selected')) {
+ topOffset+=25;
+ }
+ $('#nav-sync').css('top',topOffset+'px');
+ showRoot();
}
- $('#nav-sync').css('top',topOffset+'px');
- showRoot();
-}
-function showNode(o, node, index, hash)
-{
- if (node && node.childrenData) {
- if (typeof(node.childrenData)==='string') {
- var varName = node.childrenData;
- getScript(node.relpath+varName,function(){
- node.childrenData = getData(varName);
- showNode(o,node,index,hash);
- },true);
- } else {
- if (!node.childrenVisited) {
- getNode(o, node);
- }
- $(node.getChildrenUL()).css({'display':'block'});
- node.plus_img.innerHTML = arrowDown;
- node.expanded = true;
- var n = node.children[o.breadcrumbs[index]];
- if (index+1
1) hash = '#'+parts[1].replace(/[^\w\-]/g,'');
- else hash='';
+ const getNode = function(o, po) {
+ const insertFunction = removeToInsertLater(po.li);
+ po.childrenVisited = true;
+ const l = po.childrenData.length-1;
+ for (let i in po.childrenData) {
+ const nodeData = po.childrenData[i];
+ po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2], i==l);
+ }
+ insertFunction();
}
- if (hash.match(/^#l\d+$/)) {
- var anchor=$('a[name='+hash.substring(1)+']');
- glowEffect(anchor.parent(),1000); // line number
- hash=''; // strip line number anchors
+
+ const gotoNode = function(o,subIndex,root,hash,relpath) {
+ const nti = navTreeSubIndices[subIndex][root+hash];
+ o.breadcrumbs = $.extend(true, [], nti ? nti : navTreeSubIndices[subIndex][root]);
+ if (!o.breadcrumbs && root!=NAVTREE[0][1]) { // fallback: show index
+ navTo(o,NAVTREE[0][1],"",relpath);
+ $('.item').removeClass('selected');
+ $('.item').removeAttr('id');
+ }
+ if (o.breadcrumbs) {
+ o.breadcrumbs.unshift(0); // add 0 for root node
+ showNode(o, o.node, 0, hash);
+ }
}
- var url=root+hash;
- var i=-1;
- while (NAVTREEINDEX[i+1]<=url) i++;
- if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index
- if (navTreeSubIndices[i]) {
- gotoNode(o,i,root,hash,relpath)
- } else {
- getScript(relpath+'navtreeindex'+i,function(){
- navTreeSubIndices[i] = eval('NAVTREEINDEX'+i);
- if (navTreeSubIndices[i]) {
- gotoNode(o,i,root,hash,relpath);
- }
- },true);
+
+ const navTo = function(o,root,hash,relpath) {
+ const link = cachedLink();
+ if (link) {
+ const parts = link.split('#');
+ root = parts[0];
+ hash = parts.length>1 ? '#'+parts[1].replace(/[^\w-]/g,'') : '';
+ }
+ if (hash.match(/^#l\d+$/)) {
+ const anchor=$('a[name='+hash.substring(1)+']');
+ glowEffect(anchor.parent(),1000); // line number
+ hash=''; // strip line number anchors
+ }
+ const url=root+hash;
+ let i=-1;
+ while (NAVTREEINDEX[i+1]<=url) i++;
+ if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index
+ if (navTreeSubIndices[i]) {
+ gotoNode(o,i,root,hash,relpath)
+ } else {
+ getScript(relpath+'navtreeindex'+i,function() {
+ navTreeSubIndices[i] = eval('NAVTREEINDEX'+i);
+ if (navTreeSubIndices[i]) {
+ gotoNode(o,i,root,hash,relpath);
+ }
+ });
+ }
}
-}
-function showSyncOff(n,relpath)
-{
+ const showSyncOff = function(n,relpath) {
n.html(' ');
-}
+ }
-function showSyncOn(n,relpath)
-{
+ const showSyncOn = function(n,relpath) {
n.html(' ');
-}
+ }
-function toggleSyncButton(relpath)
-{
- var navSync = $('#nav-sync');
- if (navSync.hasClass('sync')) {
- navSync.removeClass('sync');
+ const o = {
+ toroot : toroot,
+ node : {
+ childrenData : NAVTREE,
+ children : [],
+ childrenUL : document.createElement("ul"),
+ getChildrenUL : function() { return this.childrenUL },
+ li : document.getElementById("nav-tree-contents"),
+ depth : 0,
+ relpath : relpath,
+ expanded : false,
+ isLast : true,
+ plus_img : document.createElement("span"),
+ },
+ };
+ o.node.li.appendChild(o.node.childrenUL);
+ o.node.plus_img.className = 'arrow';
+ o.node.plus_img.innerHTML = ARROW_RIGHT;
+
+ const navSync = $('#nav-sync');
+ if (cachedLink()) {
showSyncOff(navSync,relpath);
- storeLink(stripPath2(pathName())+hashUrl());
+ navSync.removeClass('sync');
} else {
- navSync.addClass('sync');
showSyncOn(navSync,relpath);
- deleteLink();
- }
-}
-
-var loadTriggered = false;
-var readyTriggered = false;
-var loadObject,loadToRoot,loadUrl,loadRelPath;
-
-$(window).on('load',function(){
- if (readyTriggered) { // ready first
- navTo(loadObject,loadToRoot,loadUrl,loadRelPath);
- showRoot();
}
- loadTriggered=true;
-});
-
-function initNavTree(toroot,relpath)
-{
- var o = new Object();
- o.toroot = toroot;
- o.node = new Object();
- o.node.li = document.getElementById("nav-tree-contents");
- o.node.childrenData = NAVTREE;
- o.node.children = new Array();
- o.node.childrenUL = document.createElement("ul");
- o.node.getChildrenUL = function() { return o.node.childrenUL; };
- o.node.li.appendChild(o.node.childrenUL);
- o.node.depth = 0;
- o.node.relpath = relpath;
- o.node.expanded = false;
- o.node.isLast = true;
- o.node.plus_img = document.createElement("span");
- o.node.plus_img.className = 'arrow';
- o.node.plus_img.innerHTML = arrowRight;
- if (localStorageSupported()) {
- var navSync = $('#nav-sync');
- if (cachedLink()) {
- showSyncOff(navSync,relpath);
+ navSync.click(() => {
+ const navSync = $('#nav-sync');
+ if (navSync.hasClass('sync')) {
navSync.removeClass('sync');
+ showSyncOff(navSync,relpath);
+ storeLink(stripPath2(pathName())+hashUrl());
} else {
+ navSync.addClass('sync');
showSyncOn(navSync,relpath);
+ deleteLink();
}
- navSync.click(function(){ toggleSyncButton(relpath); });
- }
+ });
- if (loadTriggered) { // load before ready
- navTo(o,toroot,hashUrl(),relpath);
- showRoot();
- } else { // ready before load
- loadObject = o;
- loadToRoot = toroot;
- loadUrl = hashUrl();
- loadRelPath = relpath;
- readyTriggered=true;
- }
+ navTo(o,toroot,hashUrl(),relpath);
+ showRoot();
- $(window).bind('hashchange', function(){
- if (window.location.hash && window.location.hash.length>1){
- var a;
- if ($(location).attr('hash')){
- var clslink=stripPath(pathName())+':'+hashValue();
- a=$('.item a[class$="'+clslink.replace(/ {
+ if (window.location.hash && window.location.hash.length>1) {
+ let a;
+ if ($(location).attr('hash')) {
+ const clslink=stripPath(pathName())+':'+hashValue();
+ a=$('.item a[class$="'+clslink.replace(/
-
+
astro: orbitalElementConversions.hpp File Reference
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -140,64 +142,64 @@
-template<typename Real , typename Vector6 >
+template<typename Real , typename Vector6 >
Vector6 astro::convertCartesianToKeplerianElements (const Vector6 &cartesianElements, const Real gravitationalParameter, const Real tolerance=10.0 *std::numeric_limits< Real >::epsilon())
Convert Cartesian elements to Keplerian elements.
-template<typename Real , typename Vector6 >
+template<typename Real , typename Vector6 >
Vector6 astro::convertKeplerianToCartesianElements (const Vector6 &keplerianElements, const Real gravitationalParameter, const Real tolerance=10.0 *std::numeric_limits< Real >::epsilon())
Convert Keplerian elements to Cartesian elements.
-template<typename Real >
+template<typename Real >
Real astro::convertTrueAnomalyToEllipticalEccentricAnomaly (const Real trueAnomaly, const Real eccentricity)
Convert true anomaly to elliptical eccentric anomaly.
-template<typename Real >
+template<typename Real >
Real astro::convertTrueAnomalyToHyperbolicEccentricAnomaly (const Real trueAnomaly, const Real eccentricity)
Convert true anomaly to hyperbolic eccentric anomaly.
-template<typename Real >
+template<typename Real >
Real astro::convertTrueAnomalyToEccentricAnomaly (const Real trueAnomaly, const Real eccentricity)
Convert true anomaly to eccentric anomaly.
-template<typename Real >
+template<typename Real >
Real astro::convertEllipticalEccentricAnomalyToMeanAnomaly (const Real ellipticalEccentricAnomaly, const Real eccentricity)
Convert elliptical eccentric anomaly to mean anomaly.
-template<typename Real >
+template<typename Real >
Real astro::convertHyperbolicEccentricAnomalyToMeanAnomaly (const Real hyperbolicEccentricAnomaly, const Real eccentricity)
Convert hyperbolic eccentric anomaly to mean anomaly.
-template<typename Real >
+template<typename Real >
Real astro::convertEccentricAnomalyToMeanAnomaly (const Real eccentricAnomaly, const Real eccentricity)
Convert eccentric anomaly to mean anomaly.
-template<typename Real >
+template<typename Real >
Real astro::convertEllipticalEccentricAnomalyToTrueAnomaly (const Real ellipticEccentricAnomaly, const Real eccentricity)
Convert elliptical eccentric anomaly to true anomaly.
-template<typename Real >
+template<typename Real >
Real astro::convertHyperbolicEccentricAnomalyToTrueAnomaly (const Real hyperbolicEccentricAnomaly, const Real eccentricity)
Convert hyperbolic eccentric anomaly to true anomaly.
-template<typename Real >
+template<typename Real >
Real astro::convertEccentricAnomalyToTrueAnomaly (const Real eccentricAnomaly, const Real eccentricity)
Convert eccentric anomaly to true anomaly.
-template<typename Real >
+template<typename Real >
Real astro::computeEllipticalKeplerFunction (const Real eccentricAnomaly, const Real eccentricity, const Real meanAnomaly)
Compute Kepler function for elliptical orbits.
-template<typename Real >
+template<typename Real >
Real astro::computeFirstDerivativeEllipticalKeplerFunction (const Real eccentricAnomaly, const Real eccentricity)
Compute 1st-derivative of Kepler function for elliptical orbits.
-template<typename Real , typename Integer >
+template<typename Real , typename Integer >
Real astro::convertEllipticalMeanAnomalyToEccentricAnomaly (const Real eccentricity, const Real meanAnomaly, const Real rootFindingTolerance=1.0e-3 *std::numeric_limits< Real >::epsilon(), const Integer maximumIterations=100)
Convert elliptical mean anomaly to eccentric anomaly.
@@ -208,7 +210,7 @@
diff --git a/docs/html/orbitalElementConversions_8hpp_source.html b/docs/html/orbitalElementConversions_8hpp_source.html
index d675210..4c0269b 100644
--- a/docs/html/orbitalElementConversions_8hpp_source.html
+++ b/docs/html/orbitalElementConversions_8hpp_source.html
@@ -3,16 +3,18 @@
-
+
astro: orbitalElementConversions.hpp Source File
+
+
@@ -34,7 +36,7 @@
-
+
+
@@ -64,7 +71,7 @@
@@ -118,6 +125,7 @@
78 template <
typename Real,
typename Vector6>
+
80 const Vector6& cartesianElements,
81 const Real gravitationalParameter,
@@ -323,9 +331,11 @@
282 return keplerianElements;
+
315 template <
typename Real,
typename Vector6>
+
317 const Vector6& keplerianElements,
const Real gravitationalParameter,
318 const Real tolerance = 10.0 * std::numeric_limits<Real>::epsilon())
@@ -414,9 +424,11 @@
402 return cartesianElements;
+
419 template <
typename Real>
+
421 const Real eccentricity)
@@ -433,9 +445,11 @@
434 return std::atan2(sineOfEccentricAnomaly, cosineOfEccentricAnomaly);
+
452 template <
typename Real>
+
454 const Real eccentricity)
@@ -457,9 +471,11 @@
471 / hyperbolicCosineOfHyperbolicEccentricAnomaly;
472 return 0.5 * (std::log(1.0 + angle) - std::log(1.0 - angle));
+
494 template <
typename Real>
+
497 assert(eccentricity >= 0.0
@@ -483,9 +499,11 @@
516 return eccentricAnomaly;
+
533 template <
typename Real>
+
535 const Real eccentricity)
@@ -493,9 +511,11 @@
539 return ellipticalEccentricAnomaly - eccentricity * std::sin(ellipticalEccentricAnomaly);
+
557 template <
typename Real>
+
559 const Real hyperbolicEccentricAnomaly,
const Real eccentricity)
@@ -503,9 +523,11 @@
563 return eccentricity * std::sinh(hyperbolicEccentricAnomaly) - hyperbolicEccentricAnomaly;
+
585 template <
typename Real>
+
587 const Real eccentricAnomaly,
const Real eccentricity)
@@ -530,9 +552,11 @@
+
621 template <
typename Real>
+
623 const Real eccentricity)
@@ -546,9 +570,11 @@
633 return std::atan2(sineOfTrueAnomaly, cosineOfTrueAnomaly);
+
646 template <
typename Real>
+
648 const Real eccentricity)
@@ -563,9 +589,11 @@
659 return std::atan2(sineOfTrueAnomaly, cosineOfTrueAnomaly);
+
681 template <
typename Real>
+
684 assert(eccentricity >= 0.0
@@ -588,26 +616,32 @@
+
727 template <
typename Real>
+
729 const Real eccentricity,
730 const Real meanAnomaly)
732 return eccentricAnomaly - eccentricity * std::sin(eccentricAnomaly) - meanAnomaly;
+
753 template <
typename Real>
+
755 const Real eccentricity)
757 return 1.0 - eccentricity * std::cos(eccentricAnomaly);
+
783 template <
typename Real,
typename Integer>
+
785 const Real eccentricity,
786 const Real meanAnomaly,
@@ -674,23 +708,24 @@
848 return eccentricAnomaly;
+
-
Real convertEccentricAnomalyToTrueAnomaly(const Real eccentricAnomaly, const Real eccentricity)
Convert eccentric anomaly to true anomaly.
-
Vector6 convertKeplerianToCartesianElements(const Vector6 &keplerianElements, const Real gravitationalParameter, const Real tolerance=10.0 *std::numeric_limits< Real >::epsilon())
Convert Keplerian elements to Cartesian elements.
-
Real convertHyperbolicEccentricAnomalyToMeanAnomaly(const Real hyperbolicEccentricAnomaly, const Real eccentricity)
Convert hyperbolic eccentric anomaly to mean anomaly.
-
Real convertEllipticalEccentricAnomalyToTrueAnomaly(const Real ellipticEccentricAnomaly, const Real eccentricity)
Convert elliptical eccentric anomaly to true anomaly.
-
Real convertTrueAnomalyToEccentricAnomaly(const Real trueAnomaly, const Real eccentricity)
Convert true anomaly to eccentric anomaly.
-
Real convertHyperbolicEccentricAnomalyToTrueAnomaly(const Real hyperbolicEccentricAnomaly, const Real eccentricity)
Convert hyperbolic eccentric anomaly to true anomaly.
-
Real convertTrueAnomalyToEllipticalEccentricAnomaly(const Real trueAnomaly, const Real eccentricity)
Convert true anomaly to elliptical eccentric anomaly.
-
Real computeFirstDerivativeEllipticalKeplerFunction(const Real eccentricAnomaly, const Real eccentricity)
Compute 1st-derivative of Kepler function for elliptical orbits.
-
Real convertTrueAnomalyToHyperbolicEccentricAnomaly(const Real trueAnomaly, const Real eccentricity)
Convert true anomaly to hyperbolic eccentric anomaly.
-
Real convertEccentricAnomalyToMeanAnomaly(const Real eccentricAnomaly, const Real eccentricity)
Convert eccentric anomaly to mean anomaly.
-
Real computeEllipticalKeplerFunction(const Real eccentricAnomaly, const Real eccentricity, const Real meanAnomaly)
Compute Kepler function for elliptical orbits.
-
Vector6 convertCartesianToKeplerianElements(const Vector6 &cartesianElements, const Real gravitationalParameter, const Real tolerance=10.0 *std::numeric_limits< Real >::epsilon())
Convert Cartesian elements to Keplerian elements.
-
Real convertEllipticalEccentricAnomalyToMeanAnomaly(const Real ellipticalEccentricAnomaly, const Real eccentricity)
Convert elliptical eccentric anomaly to mean anomaly.
+
Real convertEccentricAnomalyToTrueAnomaly(const Real eccentricAnomaly, const Real eccentricity)
Convert eccentric anomaly to true anomaly.
+
Vector6 convertKeplerianToCartesianElements(const Vector6 &keplerianElements, const Real gravitationalParameter, const Real tolerance=10.0 *std::numeric_limits< Real >::epsilon())
Convert Keplerian elements to Cartesian elements.
+
Real convertHyperbolicEccentricAnomalyToMeanAnomaly(const Real hyperbolicEccentricAnomaly, const Real eccentricity)
Convert hyperbolic eccentric anomaly to mean anomaly.
+
Real convertEllipticalEccentricAnomalyToTrueAnomaly(const Real ellipticEccentricAnomaly, const Real eccentricity)
Convert elliptical eccentric anomaly to true anomaly.
+
Real convertTrueAnomalyToEccentricAnomaly(const Real trueAnomaly, const Real eccentricity)
Convert true anomaly to eccentric anomaly.
+
Real convertHyperbolicEccentricAnomalyToTrueAnomaly(const Real hyperbolicEccentricAnomaly, const Real eccentricity)
Convert hyperbolic eccentric anomaly to true anomaly.
+
Real convertTrueAnomalyToEllipticalEccentricAnomaly(const Real trueAnomaly, const Real eccentricity)
Convert true anomaly to elliptical eccentric anomaly.
+
Real computeFirstDerivativeEllipticalKeplerFunction(const Real eccentricAnomaly, const Real eccentricity)
Compute 1st-derivative of Kepler function for elliptical orbits.
+
Real convertTrueAnomalyToHyperbolicEccentricAnomaly(const Real trueAnomaly, const Real eccentricity)
Convert true anomaly to hyperbolic eccentric anomaly.
+
Real convertEccentricAnomalyToMeanAnomaly(const Real eccentricAnomaly, const Real eccentricity)
Convert eccentric anomaly to mean anomaly.
+
Real computeEllipticalKeplerFunction(const Real eccentricAnomaly, const Real eccentricity, const Real meanAnomaly)
Compute Kepler function for elliptical orbits.
+
Vector6 convertCartesianToKeplerianElements(const Vector6 &cartesianElements, const Real gravitationalParameter, const Real tolerance=10.0 *std::numeric_limits< Real >::epsilon())
Convert Cartesian elements to Keplerian elements.
+
Real convertEllipticalEccentricAnomalyToMeanAnomaly(const Real ellipticalEccentricAnomaly, const Real eccentricity)
Convert elliptical eccentric anomaly to mean anomaly.
@@ -706,7 +741,7 @@
@ longitudeOfAscendingNodeIndex
-
Real convertEllipticalMeanAnomalyToEccentricAnomaly(const Real eccentricity, const Real meanAnomaly, const Real rootFindingTolerance=1.0e-3 *std::numeric_limits< Real >::epsilon(), const Integer maximumIterations=100)
Convert elliptical mean anomaly to eccentric anomaly.
+
Real convertEllipticalMeanAnomalyToEccentricAnomaly(const Real eccentricity, const Real meanAnomaly, const Real rootFindingTolerance=1.0e-3 *std::numeric_limits< Real >::epsilon(), const Integer maximumIterations=100)
Convert elliptical mean anomaly to eccentric anomaly.
@@ -714,7 +749,7 @@
diff --git a/docs/html/pages.html b/docs/html/pages.html
index 138a668..bbf5052 100644
--- a/docs/html/pages.html
+++ b/docs/html/pages.html
@@ -3,16 +3,18 @@
-
+
astro: Related Pages
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -103,7 +105,7 @@
diff --git a/docs/html/plus.svg b/docs/html/plus.svg
new file mode 100644
index 0000000..0752016
--- /dev/null
+++ b/docs/html/plus.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/plusd.svg b/docs/html/plusd.svg
new file mode 100644
index 0000000..0c65bfe
--- /dev/null
+++ b/docs/html/plusd.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/docs/html/radiationPressureAccelerationModel_8hpp.html b/docs/html/radiationPressureAccelerationModel_8hpp.html
index e7c556d..2dded19 100644
--- a/docs/html/radiationPressureAccelerationModel_8hpp.html
+++ b/docs/html/radiationPressureAccelerationModel_8hpp.html
@@ -3,16 +3,18 @@
-
+
astro: radiationPressureAccelerationModel.hpp File Reference
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -122,24 +124,24 @@
-template<typename Real >
+template<typename Real >
Real astro::computeAbsorptionRadiationPressure (const Real energyFlux)
Compute radiation pressure for complete absorption.
-template<typename Real >
+template<typename Real >
Real astro::computeRadiationPressure (const Real referenceRadiationPressure, const Real referenceDistance, const Real distance)
Compute radiation pressure.
-template<typename Real , typename Vector3 >
+template<typename Real , typename Vector3 >
Vector3 astro::computeCannonballRadiationPressureAcceleration (const Real radiationPressure, const Real radiationPressureCoefficient, const Vector3 &unitVectorToSource, const Real radius, const Real bulkDensity)
Compute radiation pressure acceleration for a cannonball.
-template<typename Real , typename Vector3 >
+template<typename Real , typename Vector3 >
Vector3 astro::computeCannonballPoyntingRobertsonDragAcceleration (const Real radiationPressure, const Real radiationPressureCoefficient, const Vector3 &unitVectorToSource, const Real radius, const Real bulkDensity, const Vector3 &velocity)
Compute Poynting-Roberson drag acceleration for a cannonball.
@@ -150,7 +152,7 @@
diff --git a/docs/html/radiationPressureAccelerationModel_8hpp_source.html b/docs/html/radiationPressureAccelerationModel_8hpp_source.html
index 20750fd..942620e 100644
--- a/docs/html/radiationPressureAccelerationModel_8hpp_source.html
+++ b/docs/html/radiationPressureAccelerationModel_8hpp_source.html
@@ -3,16 +3,18 @@
-
+
astro: radiationPressureAccelerationModel.hpp Source File
+
+
@@ -34,7 +36,7 @@
-
+
+
@@ -64,7 +71,7 @@
@@ -111,13 +118,16 @@
32 template <
typename Real>
+
62 template <
typename Real>
+
64 const Real referenceDistance,
@@ -125,9 +135,11 @@
67 return referenceRadiationPressure
68 * (referenceDistance * referenceDistance / (distance * distance));
+
100 template <
typename Real,
typename Vector3>
+
102 const Real radiationPressureCoefficient,
103 const Vector3& unitVectorToSource,
@@ -146,9 +158,11 @@
+
153 template <
typename Real,
typename Vector3>
+
155 const Real radiationPressure,
156 const Real radiationPressureCoefficient,
@@ -172,22 +186,23 @@
+
static const double ASTRO_SPEED_OF_LIGHT
Speed of light [m s^-1] (Wikipedia, 2018).
-
Vector3 computeCannonballPoyntingRobertsonDragAcceleration(const Real radiationPressure, const Real radiationPressureCoefficient, const Vector3 &unitVectorToSource, const Real radius, const Real bulkDensity, const Vector3 &velocity)
Compute Poynting-Roberson drag acceleration for a cannonball.
-
Vector3 computeCannonballRadiationPressureAcceleration(const Real radiationPressure, const Real radiationPressureCoefficient, const Vector3 &unitVectorToSource, const Real radius, const Real bulkDensity)
Compute radiation pressure acceleration for a cannonball.
-
Real computeAbsorptionRadiationPressure(const Real energyFlux)
Compute radiation pressure for complete absorption.
-
Real computeRadiationPressure(const Real referenceRadiationPressure, const Real referenceDistance, const Real distance)
Compute radiation pressure.
+
Vector3 computeCannonballPoyntingRobertsonDragAcceleration(const Real radiationPressure, const Real radiationPressureCoefficient, const Vector3 &unitVectorToSource, const Real radius, const Real bulkDensity, const Vector3 &velocity)
Compute Poynting-Roberson drag acceleration for a cannonball.
+
Vector3 computeCannonballRadiationPressureAcceleration(const Real radiationPressure, const Real radiationPressureCoefficient, const Vector3 &unitVectorToSource, const Real radius, const Real bulkDensity)
Compute radiation pressure acceleration for a cannonball.
+
Real computeAbsorptionRadiationPressure(const Real energyFlux)
Compute radiation pressure for complete absorption.
+
Real computeRadiationPressure(const Real referenceRadiationPressure, const Real referenceDistance, const Real distance)
Compute radiation pressure.
diff --git a/docs/html/resize.js b/docs/html/resize.js
index aaeb6fc..6ad2ae8 100644
--- a/docs/html/resize.js
+++ b/docs/html/resize.js
@@ -22,61 +22,21 @@
@licend The above is the entire license notice for the JavaScript code in this file
*/
-var once=1;
-function initResizable()
-{
- var cookie_namespace = 'doxygen';
- var sidenav,navtree,content,header,barWidth=6,desktop_vp=768,titleHeight;
- function readSetting(cookie)
- {
- if (window.chrome) {
- var val = localStorage.getItem(cookie_namespace+'_width');
- if (val) return val;
- } else {
- var myCookie = cookie_namespace+"_"+cookie+"=";
- if (document.cookie) {
- var index = document.cookie.indexOf(myCookie);
- if (index != -1) {
- var valStart = index + myCookie.length;
- var valEnd = document.cookie.indexOf(";", valStart);
- if (valEnd == -1) {
- valEnd = document.cookie.length;
- }
- var val = document.cookie.substring(valStart, valEnd);
- return val;
- }
- }
- }
- return 250;
- }
-
- function writeSetting(cookie, val)
- {
- if (window.chrome) {
- localStorage.setItem(cookie_namespace+"_width",val);
- } else {
- var date = new Date();
- date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week
- expiration = date.toGMTString();
- document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; SameSite=Lax; expires=" + expiration+"; path=/";
- }
- }
+function initResizable() {
+ let sidenav,navtree,content,header,footer,barWidth=6;
+ const RESIZE_COOKIE_NAME = ''+'width';
- function resizeWidth()
- {
- var windowWidth = $(window).width() + "px";
- var sidenavWidth = $(sidenav).outerWidth();
+ function resizeWidth() {
+ const sidenavWidth = $(sidenav).outerWidth();
content.css({marginLeft:parseInt(sidenavWidth)+"px"});
if (typeof page_layout!=='undefined' && page_layout==1) {
footer.css({marginLeft:parseInt(sidenavWidth)+"px"});
}
- writeSetting('width',sidenavWidth-barWidth);
+ Cookie.writeSetting(RESIZE_COOKIE_NAME,sidenavWidth-barWidth);
}
- function restoreWidth(navWidth)
- {
- var windowWidth = $(window).width() + "px";
+ function restoreWidth(navWidth) {
content.css({marginLeft:parseInt(navWidth)+barWidth+"px"});
if (typeof page_layout!=='undefined' && page_layout==1) {
footer.css({marginLeft:parseInt(navWidth)+barWidth+"px"});
@@ -84,12 +44,11 @@ function initResizable()
sidenav.css({width:navWidth + "px"});
}
- function resizeHeight()
- {
- var headerHeight = header.outerHeight();
- var footerHeight = footer.outerHeight();
- var windowHeight = $(window).height();
- var contentHeight,navtreeHeight,sideNavHeight;
+ function resizeHeight() {
+ const headerHeight = header.outerHeight();
+ const footerHeight = footer.outerHeight();
+ const windowHeight = $(window).height();
+ let contentHeight,navtreeHeight,sideNavHeight;
if (typeof page_layout==='undefined' || page_layout==0) { /* DISABLE_INDEX=NO */
contentHeight = windowHeight - headerHeight - footerHeight;
navtreeHeight = contentHeight;
@@ -107,19 +66,17 @@ function initResizable()
}
}
- function collapseExpand()
- {
- var newWidth;
+ function collapseExpand() {
+ let newWidth;
if (sidenav.width()>0) {
newWidth=0;
- }
- else {
- var width = readSetting('width');
+ } else {
+ const width = Cookie.readSetting(RESIZE_COOKIE_NAME,250);
newWidth = (width>250 && width<$(window).width()) ? width : 250;
}
restoreWidth(newWidth);
- var sidenavWidth = $(sidenav).outerWidth();
- writeSetting('width',sidenavWidth-barWidth);
+ const sidenavWidth = $(sidenav).outerWidth();
+ Cookie.writeSetting(RESIZE_COOKIE_NAME,sidenavWidth-barWidth);
}
header = $("#top");
@@ -127,29 +84,26 @@ function initResizable()
content = $("#doc-content");
navtree = $("#nav-tree");
footer = $("#nav-path");
- $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } });
+ $(".side-nav-resizable").resizable({resize: () => resizeWidth() });
$(sidenav).resizable({ minWidth: 0 });
- $(window).resize(function() { resizeHeight(); });
- var device = navigator.userAgent.toLowerCase();
- var touch_device = device.match(/(iphone|ipod|ipad|android)/);
+ $(window).resize(() => resizeHeight());
+ const device = navigator.userAgent.toLowerCase();
+ const touch_device = device.match(/(iphone|ipod|ipad|android)/);
if (touch_device) { /* wider split bar for touch only devices */
$(sidenav).css({ paddingRight:'20px' });
$('.ui-resizable-e').css({ width:'20px' });
$('#nav-sync').css({ right:'34px' });
barWidth=20;
}
- var width = readSetting('width');
+ const width = Cookie.readSetting(RESIZE_COOKIE_NAME,250);
if (width) { restoreWidth(width); } else { resizeWidth(); }
resizeHeight();
- var url = location.href;
- var i=url.indexOf("#");
+ const url = location.href;
+ const i=url.indexOf("#");
if (i>=0) window.location.hash=url.substr(i);
- var _preventDefault = function(evt) { evt.preventDefault(); };
+ const _preventDefault = (evt) => evt.preventDefault();
$("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault);
- if (once) {
- $(".ui-resizable-handle").dblclick(collapseExpand);
- once=0
- }
+ $(".ui-resizable-handle").dblclick(collapseExpand);
$(window).on('load',resizeHeight);
}
/* @license-end */
diff --git a/docs/html/search/all_0.js b/docs/html/search/all_0.js
index 327fe02..88c2fd4 100644
--- a/docs/html/search/all_0.js
+++ b/docs/html/search/all_0.js
@@ -2,7 +2,7 @@ var searchData=
[
['argumentoflatitude_0',['argumentOfLatitude',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4a3138872c1fe00e33178fb7a1d50c4444',1,'astro']]],
['argumentofperiapsisindex_1',['argumentOfPeriapsisIndex',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4a8b9b1f0d29e6ba02dcc2c55b9b480a95',1,'astro']]],
- ['astro_2',['astro',['../namespaceastro.html',1,'astro'],['../index.html',1,'(Global Namespace)']]],
+ ['astro_2',['astro',['../namespaceastro.html',1,'astro'],['../index.html',1,'astro']]],
['astro_5fau_5fin_5fkm_3',['ASTRO_AU_IN_KM',['../namespaceastro.html#a39a8b26b6629488f7a6cbea91b306bc1',1,'astro']]],
['astro_5fgravitational_5fconstant_4',['ASTRO_GRAVITATIONAL_CONSTANT',['../namespaceastro.html#a02f2f191434c90d081bad958cbbd830d',1,'astro']]],
['astro_5fgregorian_5fepoch_5fin_5fjulian_5fdays_5',['ASTRO_GREGORIAN_EPOCH_IN_JULIAN_DAYS',['../namespaceastro.html#ab41d7f04d66225abb1c664fc5144eab2',1,'astro']]],
diff --git a/docs/html/search/all_1.js b/docs/html/search/all_1.js
index 4e0f37f..af4c471 100644
--- a/docs/html/search/all_1.js
+++ b/docs/html/search/all_1.js
@@ -1,29 +1,4 @@
var searchData=
[
- ['cartesianelementindices_0',['CartesianElementIndices',['../namespaceastro.html#ac942a8ec1423c4ff337ba19f56a86516',1,'astro']]],
- ['centralbodyaccelerationmodel_2ehpp_1',['centralBodyAccelerationModel.hpp',['../centralBodyAccelerationModel_8hpp.html',1,'']]],
- ['computeabsorptionradiationpressure_2',['computeAbsorptionRadiationPressure',['../namespaceastro.html#a9226832344d4b64bfc136c7cf88d0f8e',1,'astro']]],
- ['computecannonballpoyntingrobertsondragacceleration_3',['computeCannonballPoyntingRobertsonDragAcceleration',['../namespaceastro.html#a68b3fc63d1f308f7c2c336716026f552',1,'astro']]],
- ['computecannonballradiationpressureacceleration_4',['computeCannonballRadiationPressureAcceleration',['../namespaceastro.html#a74093a11c2fbf333fde490f7689cb8cc',1,'astro']]],
- ['computecentralbodyacceleration_5',['computeCentralBodyAcceleration',['../namespaceastro.html#ab85bb7990a62e3651be25b345a826438',1,'astro']]],
- ['computecircularvelocity_6',['computeCircularVelocity',['../namespaceastro.html#a55c0cc8732aed4f4ef4977aa25d73199',1,'astro']]],
- ['computeellipticalkeplerfunction_7',['computeEllipticalKeplerFunction',['../namespaceastro.html#a94f763a63ac83e9bb28a61a59da4573a',1,'astro']]],
- ['computefirstderivativeellipticalkeplerfunction_8',['computeFirstDerivativeEllipticalKeplerFunction',['../namespaceastro.html#a494b64c8ca4a83801d1a04fd4b2012a3',1,'astro']]],
- ['computej2acceleration_9',['computeJ2Acceleration',['../namespaceastro.html#ad2ac6c7c1a14bdff116d8da4bbf7e4f6',1,'astro']]],
- ['computekeplermeanmotion_10',['computeKeplerMeanMotion',['../namespaceastro.html#a008bbb4233afdbb176015ff5b3e7eeaa',1,'astro']]],
- ['computekeplerorbitalperiod_11',['computeKeplerOrbitalPeriod',['../namespaceastro.html#a11d6579fefc43cfe2b7424fe5c7b5b55',1,'astro']]],
- ['computeradiationpressure_12',['computeRadiationPressure',['../namespaceastro.html#af5eddd9c3a253a52c994364646731e8d',1,'astro']]],
- ['constants_2ehpp_13',['constants.hpp',['../constants_8hpp.html',1,'']]],
- ['convertcartesiantokeplerianelements_14',['convertCartesianToKeplerianElements',['../namespaceastro.html#a9961f958b76b32e6f5a6a10b87d1b170',1,'astro']]],
- ['converteccentricanomalytomeananomaly_15',['convertEccentricAnomalyToMeanAnomaly',['../namespaceastro.html#a83738609ffd895af9e8735c30a0b0a46',1,'astro']]],
- ['converteccentricanomalytotrueanomaly_16',['convertEccentricAnomalyToTrueAnomaly',['../namespaceastro.html#a15038b10355b3c8217de80408cef1f89',1,'astro']]],
- ['convertellipticaleccentricanomalytomeananomaly_17',['convertEllipticalEccentricAnomalyToMeanAnomaly',['../namespaceastro.html#a999524fd2920b31c9a9054adfa257fa1',1,'astro']]],
- ['convertellipticaleccentricanomalytotrueanomaly_18',['convertEllipticalEccentricAnomalyToTrueAnomaly',['../namespaceastro.html#a2d52bb3811f34ed619ed32b99a7914ac',1,'astro']]],
- ['convertellipticalmeananomalytoeccentricanomaly_19',['convertEllipticalMeanAnomalyToEccentricAnomaly',['../namespaceastro.html#afa1b5b05447c8575115467c6740faf4d',1,'astro']]],
- ['converthyperboliceccentricanomalytomeananomaly_20',['convertHyperbolicEccentricAnomalyToMeanAnomaly',['../namespaceastro.html#a2c5911e7f52b7b709f61ddea8c75618f',1,'astro']]],
- ['converthyperboliceccentricanomalytotrueanomaly_21',['convertHyperbolicEccentricAnomalyToTrueAnomaly',['../namespaceastro.html#a3a5228b747f4c11289199054598dac78',1,'astro']]],
- ['convertkepleriantocartesianelements_22',['convertKeplerianToCartesianElements',['../namespaceastro.html#a2bfdf89798be1a757358155a8eca261e',1,'astro']]],
- ['converttrueanomalytoeccentricanomaly_23',['convertTrueAnomalyToEccentricAnomaly',['../namespaceastro.html#a362b5a13182935372036e65b0a7764d1',1,'astro']]],
- ['converttrueanomalytoellipticaleccentricanomaly_24',['convertTrueAnomalyToEllipticalEccentricAnomaly',['../namespaceastro.html#a3af57ff49fb75ac6cb9f0dc78d1f0db0',1,'astro']]],
- ['converttrueanomalytohyperboliceccentricanomaly_25',['convertTrueAnomalyToHyperbolicEccentricAnomaly',['../namespaceastro.html#a7d92124c71a0723fca34d9c45f432eaf',1,'astro']]]
+ ['build_20options_0',['Build options',['../index.html#autotoc_md3',1,'']]]
];
diff --git a/docs/html/search/all_10.js b/docs/html/search/all_10.js
new file mode 100644
index 0000000..3046701
--- /dev/null
+++ b/docs/html/search/all_10.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['xpositionindex_0',['xPositionIndex',['../namespaceastro.html#ac942a8ec1423c4ff337ba19f56a86516a12376de3cf428b14b31e0bde8257ca45',1,'astro']]],
+ ['xvelocityindex_1',['xVelocityIndex',['../namespaceastro.html#ac942a8ec1423c4ff337ba19f56a86516ad1c2d975e6e5ccb8afb820b8fdbe64a8',1,'astro']]]
+];
diff --git a/docs/html/search/all_11.js b/docs/html/search/all_11.js
new file mode 100644
index 0000000..48f6e52
--- /dev/null
+++ b/docs/html/search/all_11.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['ypositionindex_0',['yPositionIndex',['../namespaceastro.html#ac942a8ec1423c4ff337ba19f56a86516a016d6eb6ce29e70f710eb3f3d5ef6cbc',1,'astro']]],
+ ['yvelocityindex_1',['yVelocityIndex',['../namespaceastro.html#ac942a8ec1423c4ff337ba19f56a86516ae925bcddf8b77671d2a028e461168669',1,'astro']]]
+];
diff --git a/docs/html/search/all_12.js b/docs/html/search/all_12.js
new file mode 100644
index 0000000..c4833af
--- /dev/null
+++ b/docs/html/search/all_12.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['zpositionindex_0',['zPositionIndex',['../namespaceastro.html#ac942a8ec1423c4ff337ba19f56a86516adc0367b2aaae22ad392e9e29e47c59c4',1,'astro']]],
+ ['zvelocityindex_1',['zVelocityIndex',['../namespaceastro.html#ac942a8ec1423c4ff337ba19f56a86516a945418f9b56cdba2ad2534d484e867ce',1,'astro']]]
+];
diff --git a/docs/html/search/all_2.js b/docs/html/search/all_2.js
index 6d670b5..ddb36f0 100644
--- a/docs/html/search/all_2.js
+++ b/docs/html/search/all_2.js
@@ -1,4 +1,30 @@
var searchData=
[
- ['eccentricityindex_0',['eccentricityIndex',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4a33670dbd13f3d86560f880dbc3847c97',1,'astro']]]
+ ['cartesianelementindices_0',['CartesianElementIndices',['../namespaceastro.html#ac942a8ec1423c4ff337ba19f56a86516',1,'astro']]],
+ ['centralbodyaccelerationmodel_2ehpp_1',['centralBodyAccelerationModel.hpp',['../centralBodyAccelerationModel_8hpp.html',1,'']]],
+ ['computeabsorptionradiationpressure_2',['computeAbsorptionRadiationPressure',['../namespaceastro.html#a9226832344d4b64bfc136c7cf88d0f8e',1,'astro']]],
+ ['computecannonballpoyntingrobertsondragacceleration_3',['computeCannonballPoyntingRobertsonDragAcceleration',['../namespaceastro.html#a68b3fc63d1f308f7c2c336716026f552',1,'astro']]],
+ ['computecannonballradiationpressureacceleration_4',['computeCannonballRadiationPressureAcceleration',['../namespaceastro.html#a74093a11c2fbf333fde490f7689cb8cc',1,'astro']]],
+ ['computecentralbodyacceleration_5',['computeCentralBodyAcceleration',['../namespaceastro.html#ab85bb7990a62e3651be25b345a826438',1,'astro']]],
+ ['computecircularvelocity_6',['computeCircularVelocity',['../namespaceastro.html#a55c0cc8732aed4f4ef4977aa25d73199',1,'astro']]],
+ ['computeellipticalkeplerfunction_7',['computeEllipticalKeplerFunction',['../namespaceastro.html#a94f763a63ac83e9bb28a61a59da4573a',1,'astro']]],
+ ['computefirstderivativeellipticalkeplerfunction_8',['computeFirstDerivativeEllipticalKeplerFunction',['../namespaceastro.html#a494b64c8ca4a83801d1a04fd4b2012a3',1,'astro']]],
+ ['computej2acceleration_9',['computeJ2Acceleration',['../namespaceastro.html#ad2ac6c7c1a14bdff116d8da4bbf7e4f6',1,'astro']]],
+ ['computekeplermeanmotion_10',['computeKeplerMeanMotion',['../namespaceastro.html#a008bbb4233afdbb176015ff5b3e7eeaa',1,'astro']]],
+ ['computekeplerorbitalperiod_11',['computeKeplerOrbitalPeriod',['../namespaceastro.html#a11d6579fefc43cfe2b7424fe5c7b5b55',1,'astro']]],
+ ['computeradiationpressure_12',['computeRadiationPressure',['../namespaceastro.html#af5eddd9c3a253a52c994364646731e8d',1,'astro']]],
+ ['constants_2ehpp_13',['constants.hpp',['../constants_8hpp.html',1,'']]],
+ ['contributing_14',['Contributing',['../index.html#autotoc_md5',1,'']]],
+ ['convertcartesiantokeplerianelements_15',['convertCartesianToKeplerianElements',['../namespaceastro.html#a9961f958b76b32e6f5a6a10b87d1b170',1,'astro']]],
+ ['converteccentricanomalytomeananomaly_16',['convertEccentricAnomalyToMeanAnomaly',['../namespaceastro.html#a83738609ffd895af9e8735c30a0b0a46',1,'astro']]],
+ ['converteccentricanomalytotrueanomaly_17',['convertEccentricAnomalyToTrueAnomaly',['../namespaceastro.html#a15038b10355b3c8217de80408cef1f89',1,'astro']]],
+ ['convertellipticaleccentricanomalytomeananomaly_18',['convertEllipticalEccentricAnomalyToMeanAnomaly',['../namespaceastro.html#a999524fd2920b31c9a9054adfa257fa1',1,'astro']]],
+ ['convertellipticaleccentricanomalytotrueanomaly_19',['convertEllipticalEccentricAnomalyToTrueAnomaly',['../namespaceastro.html#a2d52bb3811f34ed619ed32b99a7914ac',1,'astro']]],
+ ['convertellipticalmeananomalytoeccentricanomaly_20',['convertEllipticalMeanAnomalyToEccentricAnomaly',['../namespaceastro.html#afa1b5b05447c8575115467c6740faf4d',1,'astro']]],
+ ['converthyperboliceccentricanomalytomeananomaly_21',['convertHyperbolicEccentricAnomalyToMeanAnomaly',['../namespaceastro.html#a2c5911e7f52b7b709f61ddea8c75618f',1,'astro']]],
+ ['converthyperboliceccentricanomalytotrueanomaly_22',['convertHyperbolicEccentricAnomalyToTrueAnomaly',['../namespaceastro.html#a3a5228b747f4c11289199054598dac78',1,'astro']]],
+ ['convertkepleriantocartesianelements_23',['convertKeplerianToCartesianElements',['../namespaceastro.html#a2bfdf89798be1a757358155a8eca261e',1,'astro']]],
+ ['converttrueanomalytoeccentricanomaly_24',['convertTrueAnomalyToEccentricAnomaly',['../namespaceastro.html#a362b5a13182935372036e65b0a7764d1',1,'astro']]],
+ ['converttrueanomalytoellipticaleccentricanomaly_25',['convertTrueAnomalyToEllipticalEccentricAnomaly',['../namespaceastro.html#a3af57ff49fb75ac6cb9f0dc78d1f0db0',1,'astro']]],
+ ['converttrueanomalytohyperboliceccentricanomaly_26',['convertTrueAnomalyToHyperbolicEccentricAnomaly',['../namespaceastro.html#a7d92124c71a0723fca34d9c45f432eaf',1,'astro']]]
];
diff --git a/docs/html/search/all_3.js b/docs/html/search/all_3.js
index 332f943..731097f 100644
--- a/docs/html/search/all_3.js
+++ b/docs/html/search/all_3.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['inclinationindex_0',['inclinationIndex',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4af8378bea5f26ffe2219a651d3d4d5168',1,'astro']]]
+ ['disclaimer_0',['Disclaimer',['../index.html#autotoc_md6',1,'']]]
];
diff --git a/docs/html/search/all_4.js b/docs/html/search/all_4.js
index 84da7ef..6d670b5 100644
--- a/docs/html/search/all_4.js
+++ b/docs/html/search/all_4.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['j2accelerationmodel_2ehpp_0',['j2AccelerationModel.hpp',['../j2AccelerationModel_8hpp.html',1,'']]]
+ ['eccentricityindex_0',['eccentricityIndex',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4a33670dbd13f3d86560f880dbc3847c97',1,'astro']]]
];
diff --git a/docs/html/search/all_5.js b/docs/html/search/all_5.js
index 6453fc0..8955af9 100644
--- a/docs/html/search/all_5.js
+++ b/docs/html/search/all_5.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['keplerianelementindices_0',['KeplerianElementIndices',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4',1,'astro']]]
+ ['features_0',['Features',['../index.html#autotoc_md0',1,'']]]
];
diff --git a/docs/html/search/all_6.js b/docs/html/search/all_6.js
index 6ad08a3..d4f4c85 100644
--- a/docs/html/search/all_6.js
+++ b/docs/html/search/all_6.js
@@ -1,4 +1,5 @@
var searchData=
[
- ['longitudeofascendingnodeindex_0',['longitudeOfAscendingNodeIndex',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4ae8a6921f3aaadd7e41488958478e35e9',1,'astro']]]
+ ['inclinationindex_0',['inclinationIndex',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4af8378bea5f26ffe2219a651d3d4d5168',1,'astro']]],
+ ['installation_1',['Installation',['../index.html#autotoc_md2',1,'']]]
];
diff --git a/docs/html/search/all_7.js b/docs/html/search/all_7.js
index 759c7cd..84da7ef 100644
--- a/docs/html/search/all_7.js
+++ b/docs/html/search/all_7.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['meananomalyindex_0',['meanAnomalyIndex',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4acc7d358d16d3519a57d3e4964068e7a2',1,'astro']]]
+ ['j2accelerationmodel_2ehpp_0',['j2AccelerationModel.hpp',['../j2AccelerationModel_8hpp.html',1,'']]]
];
diff --git a/docs/html/search/all_8.js b/docs/html/search/all_8.js
index 765bea6..6453fc0 100644
--- a/docs/html/search/all_8.js
+++ b/docs/html/search/all_8.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['orbitalelementconversions_2ehpp_0',['orbitalElementConversions.hpp',['../orbitalElementConversions_8hpp.html',1,'']]]
+ ['keplerianelementindices_0',['KeplerianElementIndices',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4',1,'astro']]]
];
diff --git a/docs/html/search/all_9.js b/docs/html/search/all_9.js
index 6427981..53a7649 100644
--- a/docs/html/search/all_9.js
+++ b/docs/html/search/all_9.js
@@ -1,5 +1,5 @@
var searchData=
[
- ['radiationpressureaccelerationmodel_2ehpp_0',['radiationPressureAccelerationModel.hpp',['../radiationPressureAccelerationModel_8hpp.html',1,'']]],
- ['readme_2emd_1',['README.md',['../README_8md.html',1,'']]]
+ ['list_0',['Todo List',['../todo.html',1,'']]],
+ ['longitudeofascendingnodeindex_1',['longitudeOfAscendingNodeIndex',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4ae8a6921f3aaadd7e41488958478e35e9',1,'astro']]]
];
diff --git a/docs/html/search/all_a.js b/docs/html/search/all_a.js
index a0e544c..759c7cd 100644
--- a/docs/html/search/all_a.js
+++ b/docs/html/search/all_a.js
@@ -1,6 +1,4 @@
var searchData=
[
- ['semilatusrectumindex_0',['semiLatusRectumIndex',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4af6354bfe0d07f1a90cbdf97dfe8431c1',1,'astro']]],
- ['semimajoraxisindex_1',['semiMajorAxisIndex',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4afea4e9d3a1d49aebd036fe5451aa41ac',1,'astro']]],
- ['statevectorindices_2ehpp_2',['stateVectorIndices.hpp',['../stateVectorIndices_8hpp.html',1,'']]]
+ ['meananomalyindex_0',['meanAnomalyIndex',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4acc7d358d16d3519a57d3e4964068e7a2',1,'astro']]]
];
diff --git a/docs/html/search/all_b.js b/docs/html/search/all_b.js
index 7bfbb9c..89012aa 100644
--- a/docs/html/search/all_b.js
+++ b/docs/html/search/all_b.js
@@ -1,8 +1,5 @@
var searchData=
[
- ['todo_20list_0',['Todo List',['../todo.html',1,'']]],
- ['trueanomalyindex_1',['trueAnomalyIndex',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4abfd93e4812b3db876cd492a98db63cd4',1,'astro']]],
- ['truelongitude_2',['trueLongitude',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4ab82e017fe91e2de11316888e3015314a',1,'astro']]],
- ['truelongitudeofperiapsis_3',['trueLongitudeOfPeriapsis',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4a52468b14c028a2c772c11da72bd04bfb',1,'astro']]],
- ['twobodymethods_2ehpp_4',['twoBodyMethods.hpp',['../twoBodyMethods_8hpp.html',1,'']]]
+ ['options_0',['Build options',['../index.html#autotoc_md3',1,'']]],
+ ['orbitalelementconversions_2ehpp_1',['orbitalElementConversions.hpp',['../orbitalElementConversions_8hpp.html',1,'']]]
];
diff --git a/docs/html/search/all_c.js b/docs/html/search/all_c.js
index 3046701..595ca68 100644
--- a/docs/html/search/all_c.js
+++ b/docs/html/search/all_c.js
@@ -1,5 +1,4 @@
var searchData=
[
- ['xpositionindex_0',['xPositionIndex',['../namespaceastro.html#ac942a8ec1423c4ff337ba19f56a86516a12376de3cf428b14b31e0bde8257ca45',1,'astro']]],
- ['xvelocityindex_1',['xVelocityIndex',['../namespaceastro.html#ac942a8ec1423c4ff337ba19f56a86516ad1c2d975e6e5ccb8afb820b8fdbe64a8',1,'astro']]]
+ ['project_20structure_0',['Project structure',['../index.html#autotoc_md4',1,'']]]
];
diff --git a/docs/html/search/all_d.js b/docs/html/search/all_d.js
index 48f6e52..4c092d4 100644
--- a/docs/html/search/all_d.js
+++ b/docs/html/search/all_d.js
@@ -1,5 +1,6 @@
var searchData=
[
- ['ypositionindex_0',['yPositionIndex',['../namespaceastro.html#ac942a8ec1423c4ff337ba19f56a86516a016d6eb6ce29e70f710eb3f3d5ef6cbc',1,'astro']]],
- ['yvelocityindex_1',['yVelocityIndex',['../namespaceastro.html#ac942a8ec1423c4ff337ba19f56a86516ae925bcddf8b77671d2a028e461168669',1,'astro']]]
+ ['radiationpressureaccelerationmodel_2ehpp_0',['radiationPressureAccelerationModel.hpp',['../radiationPressureAccelerationModel_8hpp.html',1,'']]],
+ ['readme_2emd_1',['README.md',['../README_8md.html',1,'']]],
+ ['requirements_2',['Requirements',['../index.html#autotoc_md1',1,'']]]
];
diff --git a/docs/html/search/all_e.js b/docs/html/search/all_e.js
index c4833af..9fd42e1 100644
--- a/docs/html/search/all_e.js
+++ b/docs/html/search/all_e.js
@@ -1,5 +1,7 @@
var searchData=
[
- ['zpositionindex_0',['zPositionIndex',['../namespaceastro.html#ac942a8ec1423c4ff337ba19f56a86516adc0367b2aaae22ad392e9e29e47c59c4',1,'astro']]],
- ['zvelocityindex_1',['zVelocityIndex',['../namespaceastro.html#ac942a8ec1423c4ff337ba19f56a86516a945418f9b56cdba2ad2534d484e867ce',1,'astro']]]
+ ['semilatusrectumindex_0',['semiLatusRectumIndex',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4af6354bfe0d07f1a90cbdf97dfe8431c1',1,'astro']]],
+ ['semimajoraxisindex_1',['semiMajorAxisIndex',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4afea4e9d3a1d49aebd036fe5451aa41ac',1,'astro']]],
+ ['statevectorindices_2ehpp_2',['stateVectorIndices.hpp',['../stateVectorIndices_8hpp.html',1,'']]],
+ ['structure_3',['Project structure',['../index.html#autotoc_md4',1,'']]]
];
diff --git a/docs/html/search/all_f.js b/docs/html/search/all_f.js
new file mode 100644
index 0000000..97e80ae
--- /dev/null
+++ b/docs/html/search/all_f.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['todo_0',['TODO',['../index.html#autotoc_md7',1,'TODO'],['../todo.html#_todo000001',1,'TODO'],['../todo.html#_todo000002',1,'TODO'],['../todo.html#_todo000003',1,'TODO'],['../todo.html#_todo000004',1,'TODO']]],
+ ['todo_20list_1',['Todo List',['../todo.html',1,'']]],
+ ['trueanomalyindex_2',['trueAnomalyIndex',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4abfd93e4812b3db876cd492a98db63cd4',1,'astro']]],
+ ['truelongitude_3',['trueLongitude',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4ab82e017fe91e2de11316888e3015314a',1,'astro']]],
+ ['truelongitudeofperiapsis_4',['trueLongitudeOfPeriapsis',['../namespaceastro.html#ad59814e1ddaffbc6026f23a9e25b39e4a52468b14c028a2c772c11da72bd04bfb',1,'astro']]],
+ ['twobodymethods_2ehpp_5',['twoBodyMethods.hpp',['../twoBodyMethods_8hpp.html',1,'']]]
+];
diff --git a/docs/html/search/pages_1.js b/docs/html/search/pages_1.js
index 83220ef..feadd94 100644
--- a/docs/html/search/pages_1.js
+++ b/docs/html/search/pages_1.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['todo_20list_0',['Todo List',['../todo.html',1,'']]]
+ ['list_0',['Todo List',['../todo.html',1,'']]]
];
diff --git a/docs/html/search/pages_2.js b/docs/html/search/pages_2.js
new file mode 100644
index 0000000..83220ef
--- /dev/null
+++ b/docs/html/search/pages_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['todo_20list_0',['Todo List',['../todo.html',1,'']]]
+];
diff --git a/docs/html/search/search.js b/docs/html/search/search.js
index 9b7a52a..666af01 100644
--- a/docs/html/search/search.js
+++ b/docs/html/search/search.js
@@ -22,58 +22,9 @@
@licend The above is the entire license notice for the JavaScript code in this file
*/
-function convertToId(search)
-{
- var result = '';
- for (i=0;i document.getElementById("MSearchField");
+ this.DOMSearchSelect = () => document.getElementById("MSearchSelect");
+ this.DOMSearchSelectWindow = () => document.getElementById("MSearchSelectWindow");
+ this.DOMPopupSearchResults = () => document.getElementById("MSearchResults");
+ this.DOMPopupSearchResultsWindow = () => document.getElementById("MSearchResultsWindow");
+ this.DOMSearchClose = () => document.getElementById("MSearchClose");
+ this.DOMSearchBox = () => document.getElementById("MSearchBox");
// ------------ Event Handlers
// Called when focus is added or removed from the search field.
- this.OnSearchFieldFocus = function(isActive)
- {
+ this.OnSearchFieldFocus = function(isActive) {
this.Activate(isActive);
}
- this.OnSearchSelectShow = function()
- {
- var searchSelectWindow = this.DOMSearchSelectWindow();
- var searchField = this.DOMSearchSelect();
+ this.OnSearchSelectShow = function() {
+ const searchSelectWindow = this.DOMSearchSelectWindow();
+ const searchField = this.DOMSearchSelect();
- var left = getXPos(searchField);
- var top = getYPos(searchField);
- top += searchField.offsetHeight;
+ const left = getXPos(searchField);
+ const top = getYPos(searchField) + searchField.offsetHeight;
// show search selection popup
searchSelectWindow.style.display='block';
@@ -146,55 +102,44 @@ function SearchBox(name, resultsPath, extension)
searchSelectWindow.style.top = top + 'px';
// stop selection hide timer
- if (this.hideTimeout)
- {
+ if (this.hideTimeout) {
clearTimeout(this.hideTimeout);
this.hideTimeout=0;
}
return false; // to avoid "image drag" default event
}
- this.OnSearchSelectHide = function()
- {
+ this.OnSearchSelectHide = function() {
this.hideTimeout = setTimeout(this.CloseSelectionWindow.bind(this),
this.closeSelectionTimeout);
}
// Called when the content of the search field is changed.
- this.OnSearchFieldChange = function(evt)
- {
- if (this.keyTimeout) // kill running timer
- {
+ this.OnSearchFieldChange = function(evt) {
+ if (this.keyTimeout) { // kill running timer
clearTimeout(this.keyTimeout);
this.keyTimeout = 0;
}
- var e = (evt) ? evt : window.event; // for IE
- if (e.keyCode==40 || e.keyCode==13)
- {
- if (e.shiftKey==1)
- {
+ const e = evt ? evt : window.event; // for IE
+ if (e.keyCode==40 || e.keyCode==13) {
+ if (e.shiftKey==1) {
this.OnSearchSelectShow();
- var win=this.DOMSearchSelectWindow();
- for (i=0;i do a search
- {
+ const searchValue = this.DOMSearchField().value.replace(/ +/g, "");
+ if (searchValue!="" && this.searchActive) { // something was found -> do a search
this.Search();
}
}
- this.OnSearchSelectKey = function(evt)
- {
- var e = (evt) ? evt : window.event; // for IE
- if (e.keyCode==40 && this.searchIndex0) // Up
- {
+ } else if (e.keyCode==38 && this.searchIndex>0) { // Up
this.searchIndex--;
this.OnSelectItem(this.searchIndex);
- }
- else if (e.keyCode==13 || e.keyCode==27)
- {
+ } else if (e.keyCode==13 || e.keyCode==27) {
+ e.stopPropagation();
this.OnSelectItem(this.searchIndex);
this.CloseSelectionWindow();
this.DOMSearchField().focus();
@@ -299,82 +239,75 @@ function SearchBox(name, resultsPath, extension)
// --------- Actions
// Closes the results window.
- this.CloseResultsWindow = function()
- {
+ this.CloseResultsWindow = function() {
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.Activate(false);
}
- this.CloseSelectionWindow = function()
- {
+ this.CloseSelectionWindow = function() {
this.DOMSearchSelectWindow().style.display = 'none';
}
// Performs a search.
- this.Search = function()
- {
+ this.Search = function() {
this.keyTimeout = 0;
// strip leading whitespace
- var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
+ const searchValue = this.DOMSearchField().value.replace(/^ +/, "");
- var code = searchValue.toLowerCase().charCodeAt(0);
- var idxChar = searchValue.substr(0, 1).toLowerCase();
- if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
- {
+ const code = searchValue.toLowerCase().charCodeAt(0);
+ let idxChar = searchValue.substr(0, 1).toLowerCase();
+ if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) { // surrogate pair
idxChar = searchValue.substr(0, 2);
}
- var jsFile;
-
- var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
- if (idx!=-1)
- {
- var hexCode=idx.toString(16);
- jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js';
+ let jsFile;
+ let idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
+ if (idx!=-1) {
+ const hexCode=idx.toString(16);
+ jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js';
}
- var loadJS = function(url, impl, loc){
- var scriptTag = document.createElement('script');
+ const loadJS = function(url, impl, loc) {
+ const scriptTag = document.createElement('script');
scriptTag.src = url;
scriptTag.onload = impl;
scriptTag.onreadystatechange = impl;
loc.appendChild(scriptTag);
}
- var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
- var domSearchBox = this.DOMSearchBox();
- var domPopupSearchResults = this.DOMPopupSearchResults();
- var domSearchClose = this.DOMSearchClose();
- var resultsPath = this.resultsPath;
+ const domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
+ const domSearchBox = this.DOMSearchBox();
+ const domPopupSearchResults = this.DOMPopupSearchResults();
+ const domSearchClose = this.DOMSearchClose();
+ const resultsPath = this.resultsPath;
- var handleResults = function() {
+ const handleResults = function() {
document.getElementById("Loading").style.display="none";
if (typeof searchData !== 'undefined') {
createResults(resultsPath);
document.getElementById("NoMatches").style.display="none";
}
-
+
if (idx!=-1) {
searchResults.Search(searchValue);
} else { // no file with search results => force empty search results
searchResults.Search('====');
}
- if (domPopupSearchResultsWindow.style.display!='block')
- {
+ if (domPopupSearchResultsWindow.style.display!='block') {
domSearchClose.style.display = 'inline-block';
- var left = getXPos(domSearchBox) + 150;
- var top = getYPos(domSearchBox) + 20;
+ let left = getXPos(domSearchBox) + 150;
+ let top = getYPos(domSearchBox) + 20;
domPopupSearchResultsWindow.style.display = 'block';
left -= domPopupSearchResults.offsetWidth;
- var maxWidth = document.body.clientWidth;
- var maxHeight = document.body.clientHeight;
- var width = 300;
+ const maxWidth = document.body.clientWidth;
+ const maxHeight = document.body.clientHeight;
+ let width = 300;
if (left<10) left=10;
if (width+left+8>maxWidth) width=maxWidth-left-8;
- var height = 400;
+ let height = 400;
if (height+top+8>maxHeight) height=maxHeight-top-8;
domPopupSearchResultsWindow.style.top = top + 'px';
domPopupSearchResultsWindow.style.left = left + 'px';
@@ -396,17 +329,13 @@ function SearchBox(name, resultsPath, extension)
// Activates or deactivates the search panel, resetting things to
// their default values if necessary.
- this.Activate = function(isActive)
- {
+ this.Activate = function(isActive) {
if (isActive || // open it
- this.DOMPopupSearchResultsWindow().style.display == 'block'
- )
- {
+ this.DOMPopupSearchResultsWindow().style.display == 'block'
+ ) {
this.DOMSearchBox().className = 'MSearchBoxActive';
this.searchActive = true;
- }
- else if (!isActive) // directly remove the panel
- {
+ } else if (!isActive) { // directly remove the panel
this.DOMSearchBox().className = 'MSearchBoxInactive';
this.searchActive = false;
this.lastSearchValue = ''
@@ -419,402 +348,347 @@ function SearchBox(name, resultsPath, extension)
// -----------------------------------------------------------------------
// The class that handles everything on the search results page.
-function SearchResults(name)
-{
- // The number of matches from the last run of .
- this.lastMatchCount = 0;
- this.lastKey = 0;
- this.repeatOn = false;
-
- // Toggles the visibility of the passed element ID.
- this.FindChildElement = function(id)
- {
- var parentElement = document.getElementById(id);
- var element = parentElement.firstChild;
-
- while (element && element!=parentElement)
- {
- if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren')
- {
- return element;
- }
+function SearchResults() {
+
+ function convertToId(search) {
+ let result = '';
+ for (let i=0;i.
+ this.lastMatchCount = 0;
+ this.lastKey = 0;
+ this.repeatOn = false;
- if (element && element!=parentElement)
- {
- element = element.nextSibling;
- }
- }
+ // Toggles the visibility of the passed element ID.
+ this.FindChildElement = function(id) {
+ const parentElement = document.getElementById(id);
+ let element = parentElement.firstChild;
+
+ while (element && element!=parentElement) {
+ if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') {
+ return element;
}
- }
- this.Toggle = function(id)
- {
- var element = this.FindChildElement(id);
- if (element)
- {
- if (element.style.display == 'block')
- {
- element.style.display = 'none';
+ if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) {
+ element = element.firstChild;
+ } else if (element.nextSibling) {
+ element = element.nextSibling;
+ } else {
+ do {
+ element = element.parentNode;
}
- else
- {
- element.style.display = 'block';
+ while (element && element!=parentElement && !element.nextSibling);
+
+ if (element && element!=parentElement) {
+ element = element.nextSibling;
}
}
}
+ }
- // Searches for the passed string. If there is no parameter,
- // it takes it from the URL query.
- //
- // Always returns true, since other documents may try to call it
- // and that may or may not be possible.
- this.Search = function(search)
- {
- if (!search) // get search word from URL
- {
- search = window.location.search;
- search = search.substring(1); // Remove the leading '?'
- search = unescape(search);
- }
-
- search = search.replace(/^ +/, ""); // strip leading spaces
- search = search.replace(/ +$/, ""); // strip trailing spaces
- search = search.toLowerCase();
- search = convertToId(search);
-
- var resultRows = document.getElementsByTagName("div");
- var matches = 0;
-
- var i = 0;
- while (i < resultRows.length)
- {
- var row = resultRows.item(i);
- if (row.className == "SRResult")
- {
- var rowMatchName = row.id.toLowerCase();
- rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
-
- if (search.length<=rowMatchName.length &&
- rowMatchName.substr(0, search.length)==search)
- {
- row.style.display = 'block';
- matches++;
- }
- else
- {
- row.style.display = 'none';
- }
- }
- i++;
+ this.Toggle = function(id) {
+ const element = this.FindChildElement(id);
+ if (element) {
+ if (element.style.display == 'block') {
+ element.style.display = 'none';
+ } else {
+ element.style.display = 'block';
}
- document.getElementById("Searching").style.display='none';
- if (matches == 0) // no results
- {
- document.getElementById("NoMatches").style.display='block';
- }
- else // at least one result
- {
- document.getElementById("NoMatches").style.display='none';
- }
- this.lastMatchCount = matches;
- return true;
}
+ }
- // return the first item with index index or higher that is visible
- this.NavNext = function(index)
- {
- var focusItem;
- while (1)
- {
- var focusName = 'Item'+index;
- focusItem = document.getElementById(focusName);
- if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
- {
- break;
- }
- else if (!focusItem) // last element
- {
- break;
+ // Searches for the passed string. If there is no parameter,
+ // it takes it from the URL query.
+ //
+ // Always returns true, since other documents may try to call it
+ // and that may or may not be possible.
+ this.Search = function(search) {
+ if (!search) { // get search word from URL
+ search = window.location.search;
+ search = search.substring(1); // Remove the leading '?'
+ search = unescape(search);
+ }
+
+ search = search.replace(/^ +/, ""); // strip leading spaces
+ search = search.replace(/ +$/, ""); // strip trailing spaces
+ search = search.toLowerCase();
+ search = convertToId(search);
+
+ const resultRows = document.getElementsByTagName("div");
+ let matches = 0;
+
+ let i = 0;
+ while (i < resultRows.length) {
+ const row = resultRows.item(i);
+ if (row.className == "SRResult") {
+ let rowMatchName = row.id.toLowerCase();
+ rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
+
+ if (search.length<=rowMatchName.length &&
+ rowMatchName.substr(0, search.length)==search) {
+ row.style.display = 'block';
+ matches++;
+ } else {
+ row.style.display = 'none';
}
- focusItem=null;
- index++;
}
- return focusItem;
+ i++;
}
+ document.getElementById("Searching").style.display='none';
+ if (matches == 0) { // no results
+ document.getElementById("NoMatches").style.display='block';
+ } else { // at least one result
+ document.getElementById("NoMatches").style.display='none';
+ }
+ this.lastMatchCount = matches;
+ return true;
+ }
- this.NavPrev = function(index)
- {
- var focusItem;
- while (1)
- {
- var focusName = 'Item'+index;
- focusItem = document.getElementById(focusName);
- if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
- {
- break;
- }
- else if (!focusItem) // last element
- {
- break;
- }
- focusItem=null;
- index--;
+ // return the first item with index index or higher that is visible
+ this.NavNext = function(index) {
+ let focusItem;
+ for (;;) {
+ const focusName = 'Item'+index;
+ focusItem = document.getElementById(focusName);
+ if (focusItem && focusItem.parentNode.parentNode.style.display=='block') {
+ break;
+ } else if (!focusItem) { // last element
+ break;
+ }
+ focusItem=null;
+ index++;
+ }
+ return focusItem;
+ }
+
+ this.NavPrev = function(index) {
+ let focusItem;
+ for (;;) {
+ const focusName = 'Item'+index;
+ focusItem = document.getElementById(focusName);
+ if (focusItem && focusItem.parentNode.parentNode.style.display=='block') {
+ break;
+ } else if (!focusItem) { // last element
+ break;
}
- return focusItem;
+ focusItem=null;
+ index--;
}
+ return focusItem;
+ }
- this.ProcessKeys = function(e)
- {
- if (e.type == "keydown")
- {
- this.repeatOn = false;
- this.lastKey = e.keyCode;
- }
- else if (e.type == "keypress")
- {
- if (!this.repeatOn)
- {
- if (this.lastKey) this.repeatOn = true;
- return false; // ignore first keypress after keydown
- }
+ this.ProcessKeys = function(e) {
+ if (e.type == "keydown") {
+ this.repeatOn = false;
+ this.lastKey = e.keyCode;
+ } else if (e.type == "keypress") {
+ if (!this.repeatOn) {
+ if (this.lastKey) this.repeatOn = true;
+ return false; // ignore first keypress after keydown
}
- else if (e.type == "keyup")
- {
- this.lastKey = 0;
- this.repeatOn = false;
- }
- return this.lastKey!=0;
+ } else if (e.type == "keyup") {
+ this.lastKey = 0;
+ this.repeatOn = false;
}
+ return this.lastKey!=0;
+ }
- this.Nav = function(evt,itemIndex)
- {
- var e = (evt) ? evt : window.event; // for IE
- if (e.keyCode==13) return true;
- if (!this.ProcessKeys(e)) return false;
-
- if (this.lastKey==38) // Up
- {
- var newIndex = itemIndex-1;
- var focusItem = this.NavPrev(newIndex);
- if (focusItem)
- {
- var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
- if (child && child.style.display == 'block') // children visible
- {
- var n=0;
- var tmpElem;
- while (1) // search for last child
- {
- tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
- if (tmpElem)
- {
- focusItem = tmpElem;
- }
- else // found it!
- {
- break;
- }
- n++;
+ this.Nav = function(evt,itemIndex) {
+ const e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==13) return true;
+ if (!this.ProcessKeys(e)) return false;
+
+ if (this.lastKey==38) { // Up
+ const newIndex = itemIndex-1;
+ let focusItem = this.NavPrev(newIndex);
+ if (focusItem) {
+ let child = this.FindChildElement(focusItem.parentNode.parentNode.id);
+ if (child && child.style.display == 'block') { // children visible
+ let n=0;
+ let tmpElem;
+ for (;;) { // search for last child
+ tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
+ if (tmpElem) {
+ focusItem = tmpElem;
+ } else { // found it!
+ break;
}
+ n++;
}
}
- if (focusItem)
- {
- focusItem.focus();
- }
- else // return focus to search field
- {
- document.getElementById("MSearchField").focus();
- }
- }
- else if (this.lastKey==40) // Down
- {
- var newIndex = itemIndex+1;
- var focusItem;
- var item = document.getElementById('Item'+itemIndex);
- var elem = this.FindChildElement(item.parentNode.parentNode.id);
- if (elem && elem.style.display == 'block') // children visible
- {
- focusItem = document.getElementById('Item'+itemIndex+'_c0');
- }
- if (!focusItem) focusItem = this.NavNext(newIndex);
- if (focusItem) focusItem.focus();
}
- else if (this.lastKey==39) // Right
- {
- var item = document.getElementById('Item'+itemIndex);
- var elem = this.FindChildElement(item.parentNode.parentNode.id);
- if (elem) elem.style.display = 'block';
- }
- else if (this.lastKey==37) // Left
- {
- var item = document.getElementById('Item'+itemIndex);
- var elem = this.FindChildElement(item.parentNode.parentNode.id);
- if (elem) elem.style.display = 'none';
- }
- else if (this.lastKey==27) // Escape
- {
- searchBox.CloseResultsWindow();
+ if (focusItem) {
+ focusItem.focus();
+ } else { // return focus to search field
document.getElementById("MSearchField").focus();
}
- else if (this.lastKey==13) // Enter
- {
- return true;
- }
- return false;
+ } else if (this.lastKey==40) { // Down
+ const newIndex = itemIndex+1;
+ let focusItem;
+ const item = document.getElementById('Item'+itemIndex);
+ const elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem && elem.style.display == 'block') { // children visible
+ focusItem = document.getElementById('Item'+itemIndex+'_c0');
+ }
+ if (!focusItem) focusItem = this.NavNext(newIndex);
+ if (focusItem) focusItem.focus();
+ } else if (this.lastKey==39) { // Right
+ const item = document.getElementById('Item'+itemIndex);
+ const elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem) elem.style.display = 'block';
+ } else if (this.lastKey==37) { // Left
+ const item = document.getElementById('Item'+itemIndex);
+ const elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem) elem.style.display = 'none';
+ } else if (this.lastKey==27) { // Escape
+ e.stopPropagation();
+ searchBox.CloseResultsWindow();
+ document.getElementById("MSearchField").focus();
+ } else if (this.lastKey==13) { // Enter
+ return true;
}
+ return false;
+ }
- this.NavChild = function(evt,itemIndex,childIndex)
- {
- var e = (evt) ? evt : window.event; // for IE
- if (e.keyCode==13) return true;
- if (!this.ProcessKeys(e)) return false;
-
- if (this.lastKey==38) // Up
- {
- if (childIndex>0)
- {
- var newIndex = childIndex-1;
- document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
- }
- else // already at first child, jump to parent
- {
- document.getElementById('Item'+itemIndex).focus();
- }
- }
- else if (this.lastKey==40) // Down
- {
- var newIndex = childIndex+1;
- var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
- if (!elem) // last child, jump to parent next parent
- {
- elem = this.NavNext(itemIndex+1);
- }
- if (elem)
- {
- elem.focus();
- }
- }
- else if (this.lastKey==27) // Escape
- {
- searchBox.CloseResultsWindow();
- document.getElementById("MSearchField").focus();
- }
- else if (this.lastKey==13) // Enter
- {
- return true;
- }
- return false;
+ this.NavChild = function(evt,itemIndex,childIndex) {
+ const e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==13) return true;
+ if (!this.ProcessKeys(e)) return false;
+
+ if (this.lastKey==38) { // Up
+ if (childIndex>0) {
+ const newIndex = childIndex-1;
+ document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
+ } else { // already at first child, jump to parent
+ document.getElementById('Item'+itemIndex).focus();
+ }
+ } else if (this.lastKey==40) { // Down
+ const newIndex = childIndex+1;
+ let elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
+ if (!elem) { // last child, jump to parent next parent
+ elem = this.NavNext(itemIndex+1);
+ }
+ if (elem) {
+ elem.focus();
+ }
+ } else if (this.lastKey==27) { // Escape
+ e.stopPropagation();
+ searchBox.CloseResultsWindow();
+ document.getElementById("MSearchField").focus();
+ } else if (this.lastKey==13) { // Enter
+ return true;
}
+ return false;
+ }
}
-function setKeyActions(elem,action)
-{
- elem.setAttribute('onkeydown',action);
- elem.setAttribute('onkeypress',action);
- elem.setAttribute('onkeyup',action);
-}
+function createResults(resultsPath) {
-function setClassAttr(elem,attr)
-{
- elem.setAttribute('class',attr);
- elem.setAttribute('className',attr);
-}
+ function setKeyActions(elem,action) {
+ elem.setAttribute('onkeydown',action);
+ elem.setAttribute('onkeypress',action);
+ elem.setAttribute('onkeyup',action);
+ }
+
+ function setClassAttr(elem,attr) {
+ elem.setAttribute('class',attr);
+ elem.setAttribute('className',attr);
+ }
-function createResults(resultsPath)
-{
- var results = document.getElementById("SRResults");
+ const results = document.getElementById("SRResults");
results.innerHTML = '';
- for (var e=0; e {
+ const id = elem[0];
+ const srResult = document.createElement('div');
srResult.setAttribute('id','SR_'+id);
setClassAttr(srResult,'SRResult');
- var srEntry = document.createElement('div');
+ const srEntry = document.createElement('div');
setClassAttr(srEntry,'SREntry');
- var srLink = document.createElement('a');
- srLink.setAttribute('id','Item'+e);
- setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
+ const srLink = document.createElement('a');
+ srLink.setAttribute('id','Item'+index);
+ setKeyActions(srLink,'return searchResults.Nav(event,'+index+')');
setClassAttr(srLink,'SRSymbol');
- srLink.innerHTML = searchData[e][1][0];
+ srLink.innerHTML = elem[1][0];
srEntry.appendChild(srLink);
- if (searchData[e][1].length==2) // single result
- {
- srLink.setAttribute('href',resultsPath+searchData[e][1][1][0]);
+ if (elem[1].length==2) { // single result
+ srLink.setAttribute('href',resultsPath+elem[1][1][0]);
srLink.setAttribute('onclick','searchBox.CloseResultsWindow()');
- if (searchData[e][1][1][1])
- {
+ if (elem[1][1][1]) {
srLink.setAttribute('target','_parent');
- }
- else
- {
+ } else {
srLink.setAttribute('target','_blank');
}
- var srScope = document.createElement('span');
+ const srScope = document.createElement('span');
setClassAttr(srScope,'SRScope');
- srScope.innerHTML = searchData[e][1][1][2];
+ srScope.innerHTML = elem[1][1][2];
srEntry.appendChild(srScope);
- }
- else // multiple results
- {
+ } else { // multiple results
srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
- var srChildren = document.createElement('div');
+ const srChildren = document.createElement('div');
setClassAttr(srChildren,'SRChildren');
- for (var c=0; c
-
+
astro: stateVectorIndices.hpp File Reference
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -114,12 +116,12 @@
-enum astro::CartesianElementIndices {
+enum astro::CartesianElementIndices {
astro::xPositionIndex = 0
, astro::yPositionIndex = 1
, astro::zPositionIndex = 2
@@ -131,7 +133,7 @@
}
Cartesian element array indices. More...
-enum astro::KeplerianElementIndices {
+enum astro::KeplerianElementIndices {
astro::semiMajorAxisIndex = 0
, astro::semiLatusRectumIndex = 0
, astro::eccentricityIndex = 1
@@ -156,7 +158,7 @@
diff --git a/docs/html/stateVectorIndices_8hpp_source.html b/docs/html/stateVectorIndices_8hpp_source.html
index 4265640..c71eb71 100644
--- a/docs/html/stateVectorIndices_8hpp_source.html
+++ b/docs/html/stateVectorIndices_8hpp_source.html
@@ -3,16 +3,18 @@
-
+
astro: stateVectorIndices.hpp Source File
+
+
@@ -34,7 +36,7 @@
-
+
+
@@ -64,7 +71,7 @@
@@ -104,6 +111,7 @@
+
+
-
CartesianElementIndices
Cartesian element array indices.
-
-
-
-
-
-
-
KeplerianElementIndices
Keplerian element array indices.
-
-
-
@ trueLongitudeOfPeriapsis
-
@ argumentOfPeriapsisIndex
-
-
-
-
@ longitudeOfAscendingNodeIndex
-
-
-
+
CartesianElementIndices
Cartesian element array indices.
+
+
+
+
+
+
+
KeplerianElementIndices
Keplerian element array indices.
+
+
+
@ trueLongitudeOfPeriapsis
+
@ argumentOfPeriapsisIndex
+
+
+
+
@ longitudeOfAscendingNodeIndex
+
+
+
diff --git a/docs/html/tabs.css b/docs/html/tabs.css
index 71c8a47..fe4854a 100644
--- a/docs/html/tabs.css
+++ b/docs/html/tabs.css
@@ -1 +1 @@
-.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important;color:var(--nav-menu-foreground-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}}
\ No newline at end of file
+.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}}
\ No newline at end of file
diff --git a/docs/html/todo.html b/docs/html/todo.html
index 383488b..7ccf760 100644
--- a/docs/html/todo.html
+++ b/docs/html/todo.html
@@ -3,16 +3,18 @@
-
+
astro: Todo List
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -107,7 +109,7 @@
diff --git a/docs/html/twoBodyMethods_8hpp.html b/docs/html/twoBodyMethods_8hpp.html
index af7dbb7..a49986c 100644
--- a/docs/html/twoBodyMethods_8hpp.html
+++ b/docs/html/twoBodyMethods_8hpp.html
@@ -3,16 +3,18 @@
-
+
astro: twoBodyMethods.hpp File Reference
+
+
@@ -34,7 +36,7 @@
-
+
@@ -64,7 +66,7 @@
@@ -128,20 +130,20 @@
-template<typename Real >
+template<typename Real >
Real astro::computeKeplerMeanMotion (const Real semiMajorAxis, const Real gravitationalParameterOfCentralBody, const Real massOfOrbitingBody=0.0)
Compute mean motion.
-template<typename Real >
+template<typename Real >
Real astro::computeKeplerOrbitalPeriod (const Real semiMajorAxis, const Real gravitationalParameterOfCentralBody, const Real massOfOrbitingBody=0.0)
Compute orbital period.
-template<typename Real >
+template<typename Real >
Real astro::computeCircularVelocity (const Real semiMajorAxis, const Real gravitationalParameterOfCentralBody)
Compute circular velocity.
@@ -152,7 +154,7 @@
diff --git a/docs/html/twoBodyMethods_8hpp_source.html b/docs/html/twoBodyMethods_8hpp_source.html
index 637b9cc..c71efb6 100644
--- a/docs/html/twoBodyMethods_8hpp_source.html
+++ b/docs/html/twoBodyMethods_8hpp_source.html
@@ -3,16 +3,18 @@
-
+
astro: twoBodyMethods.hpp Source File
+
+
@@ -34,7 +36,7 @@
-
+
+
@@ -64,7 +71,7 @@
@@ -114,6 +121,7 @@
41 template <
typename Real>
+
43 const Real gravitationalParameterOfCentralBody,
44 const Real massOfOrbitingBody = 0.0)
@@ -122,9 +130,11 @@
47 + gravitationalParameterOfCentralBody)
48 / (semiMajorAxis * semiMajorAxis * semiMajorAxis));
+
72 template <
typename Real>
+
74 const Real gravitationalParameterOfCentralBody,
75 const Real massOfOrbitingBody = 0.0)
@@ -134,30 +144,33 @@
80 + gravitationalParameterOfCentralBody));
+
102 template <
typename Real>
+
104 const Real gravitationalParameterOfCentralBody)
106 assert(std::fabs(semiMajorAxis) > std::numeric_limits<Real>::epsilon());
107 return std::sqrt(gravitationalParameterOfCentralBody / semiMajorAxis);
+
-
Real computeKeplerMeanMotion(const Real semiMajorAxis, const Real gravitationalParameterOfCentralBody, const Real massOfOrbitingBody=0.0)
Compute mean motion.
+
Real computeKeplerMeanMotion(const Real semiMajorAxis, const Real gravitationalParameterOfCentralBody, const Real massOfOrbitingBody=0.0)
Compute mean motion.
static const double ASTRO_GRAVITATIONAL_CONSTANT
Gravitational constant [m^3 s^-2] (Standish, 1995).
-
Real computeKeplerOrbitalPeriod(const Real semiMajorAxis, const Real gravitationalParameterOfCentralBody, const Real massOfOrbitingBody=0.0)
Compute orbital period.
-
Real computeCircularVelocity(const Real semiMajorAxis, const Real gravitationalParameterOfCentralBody)
Compute circular velocity.
+
Real computeKeplerOrbitalPeriod(const Real semiMajorAxis, const Real gravitationalParameterOfCentralBody, const Real massOfOrbitingBody=0.0)
Compute orbital period.
+
Real computeCircularVelocity(const Real semiMajorAxis, const Real gravitationalParameterOfCentralBody)
Compute circular velocity.