diff --git a/.idea/copyright/Lox.xml b/.idea/copyright/Lox.xml
new file mode 100644
index 00000000..3ca717b3
--- /dev/null
+++ b/.idea/copyright/Lox.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml
new file mode 100644
index 00000000..c174b948
--- /dev/null
+++ b/.idea/copyright/profiles_settings.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/crates/lox-space/examples/iss.rs b/crates/lox-space/examples/iss.rs
index d197b0a7..7c086291 100644
--- a/crates/lox-space/examples/iss.rs
+++ b/crates/lox-space/examples/iss.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
use lox_space::prelude::*;
fn main() {
diff --git a/crates/lox-space/src/lib.rs b/crates/lox-space/src/lib.rs
index b9d72093..461be70a 100644
--- a/crates/lox-space/src/lib.rs
+++ b/crates/lox-space/src/lib.rs
@@ -1 +1,9 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
pub mod prelude;
diff --git a/crates/lox-space/src/prelude.rs b/crates/lox-space/src/prelude.rs
index cb44353a..c8ddf9d8 100644
--- a/crates/lox-space/src/prelude.rs
+++ b/crates/lox-space/src/prelude.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
pub use lox_core::bodies::barycenters::*;
pub use lox_core::bodies::planets::*;
pub use lox_core::bodies::{Ellipsoid, PointMass, Spheroid, TriAxial};
diff --git a/crates/lox_core/src/bin/lox.rs b/crates/lox_core/src/bin/lox.rs
index 2e52bf30..6f244510 100644
--- a/crates/lox_core/src/bin/lox.rs
+++ b/crates/lox_core/src/bin/lox.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
use lox_core::bodies::barycenters::MercuryBarycenter;
use lox_core::bodies::NaifId;
diff --git a/crates/lox_core/src/bodies.rs b/crates/lox_core/src/bodies.rs
index f1ab9134..16017f94 100644
--- a/crates/lox_core/src/bodies.rs
+++ b/crates/lox_core/src/bodies.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
pub mod barycenters;
pub mod minor;
pub mod planets;
diff --git a/crates/lox_core/src/bodies/barycenters.rs b/crates/lox_core/src/bodies/barycenters.rs
index 2072e288..fd91c2b9 100644
--- a/crates/lox_core/src/bodies/barycenters.rs
+++ b/crates/lox_core/src/bodies/barycenters.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
// Auto-generated by `lox_gen`. Do not edit!
use super::{NaifId, PointMass};
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
diff --git a/crates/lox_core/src/bodies/minor.rs b/crates/lox_core/src/bodies/minor.rs
index 9fdf3437..3b728be1 100644
--- a/crates/lox_core/src/bodies/minor.rs
+++ b/crates/lox_core/src/bodies/minor.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
// Auto-generated by `lox_gen`. Do not edit!
use super::{Ellipsoid, NaifId, PointMass, TriAxial};
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
diff --git a/crates/lox_core/src/bodies/planets.rs b/crates/lox_core/src/bodies/planets.rs
index 0d4a391b..af2bad1e 100644
--- a/crates/lox_core/src/bodies/planets.rs
+++ b/crates/lox_core/src/bodies/planets.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
// Auto-generated by `lox_gen`. Do not edit!
use super::{Ellipsoid, NaifId, PointMass, Spheroid};
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
diff --git a/crates/lox_core/src/bodies/satellites.rs b/crates/lox_core/src/bodies/satellites.rs
index 57016dfc..7936e3fe 100644
--- a/crates/lox_core/src/bodies/satellites.rs
+++ b/crates/lox_core/src/bodies/satellites.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
// Auto-generated by `lox_gen`. Do not edit!
use super::{Ellipsoid, NaifId, PointMass, TriAxial};
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
diff --git a/crates/lox_core/src/bodies/sun.rs b/crates/lox_core/src/bodies/sun.rs
index c8ca13ba..394830c7 100644
--- a/crates/lox_core/src/bodies/sun.rs
+++ b/crates/lox_core/src/bodies/sun.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
// Auto-generated by `lox_gen`. Do not edit!
use super::{Ellipsoid, NaifId, PointMass, Spheroid};
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
diff --git a/crates/lox_core/src/communications.rs b/crates/lox_core/src/communications.rs
index 31f432b8..97aa179f 100644
--- a/crates/lox_core/src/communications.rs
+++ b/crates/lox_core/src/communications.rs
@@ -1 +1,9 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
pub mod antennae;
diff --git a/crates/lox_core/src/communications/antennae.rs b/crates/lox_core/src/communications/antennae.rs
index 4f5cd0ae..dc96847a 100644
--- a/crates/lox_core/src/communications/antennae.rs
+++ b/crates/lox_core/src/communications/antennae.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
use std::f64::consts::PI;
pub trait Antenna {
diff --git a/crates/lox_core/src/errors.rs b/crates/lox_core/src/errors.rs
index 2c6322e4..7ce753fb 100644
--- a/crates/lox_core/src/errors.rs
+++ b/crates/lox_core/src/errors.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
use thiserror::Error;
#[derive(Error, Debug)]
diff --git a/crates/lox_core/src/lib.rs b/crates/lox_core/src/lib.rs
index 0f6c127a..0c1fe27b 100644
--- a/crates/lox_core/src/lib.rs
+++ b/crates/lox_core/src/lib.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
pub mod bodies;
pub mod communications;
pub mod errors;
diff --git a/crates/lox_core/src/time.rs b/crates/lox_core/src/time.rs
index 3ddb3a3c..d51765f6 100644
--- a/crates/lox_core/src/time.rs
+++ b/crates/lox_core/src/time.rs
@@ -1,2 +1,10 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
pub mod dates;
pub mod epochs;
diff --git a/crates/lox_core/src/time/dates.rs b/crates/lox_core/src/time/dates.rs
index 50053896..88a790fe 100644
--- a/crates/lox_core/src/time/dates.rs
+++ b/crates/lox_core/src/time/dates.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
use crate::errors::LoxError;
use num::ToPrimitive;
diff --git a/crates/lox_core/src/time/epochs.rs b/crates/lox_core/src/time/epochs.rs
index df68ba29..ffdc663c 100644
--- a/crates/lox_core/src/time/epochs.rs
+++ b/crates/lox_core/src/time/epochs.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
use std::fmt;
use std::fmt::Formatter;
@@ -50,12 +58,6 @@ pub enum Epoch {
UT1(RawEpoch),
}
-impl fmt::Display for Epoch {
- fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
- write!(f, "foo")
- }
-}
-
impl Epoch {
pub fn from_date_and_time(scale: TimeScale, date: Date, time: Time) -> Self {
let day_in_seconds = date.j2000() * SECONDS_PER_DAY - SECONDS_PER_DAY / 2;
@@ -103,3 +105,9 @@ impl Epoch {
d2 + d1
}
}
+
+impl fmt::Display for Epoch {
+ fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
+ write!(f, "foo")
+ }
+}
diff --git a/crates/lox_core/src/two_body.rs b/crates/lox_core/src/two_body.rs
index 059b3f3e..0f926933 100644
--- a/crates/lox_core/src/two_body.rs
+++ b/crates/lox_core/src/two_body.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
pub use glam::DVec3;
use crate::bodies::{gravitational_parameter, PointMass};
diff --git a/crates/lox_core/src/two_body/elements.rs b/crates/lox_core/src/two_body/elements.rs
index 6f32436f..8071fe30 100644
--- a/crates/lox_core/src/two_body/elements.rs
+++ b/crates/lox_core/src/two_body/elements.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
use float_eq::float_eq;
use glam::{DMat3, DVec3};
use std::f64::consts::PI;
diff --git a/crates/lox_core/tests/dates.rs b/crates/lox_core/tests/dates.rs
index 4ec59140..6c1e2a6a 100644
--- a/crates/lox_core/tests/dates.rs
+++ b/crates/lox_core/tests/dates.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
use lox_core::time::dates::{Date, Time};
use rstest::rstest;
diff --git a/crates/lox_io/src/lib.rs b/crates/lox_io/src/lib.rs
index cdf48d76..e3011df7 100644
--- a/crates/lox_io/src/lib.rs
+++ b/crates/lox_io/src/lib.rs
@@ -1 +1,9 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
pub mod spice;
diff --git a/crates/lox_io/src/spice.rs b/crates/lox_io/src/spice.rs
index baa2e56e..ba06d1ba 100644
--- a/crates/lox_io/src/spice.rs
+++ b/crates/lox_io/src/spice.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
use nom::branch::alt;
use nom::bytes::complete::{tag, take_until, take_while, take_while1};
use nom::character::complete::{alpha1, line_ending, multispace0, one_of};
diff --git a/crates/lox_io/tests/gm.rs b/crates/lox_io/tests/gm.rs
index 835baa71..9e20b7f5 100644
--- a/crates/lox_io/tests/gm.rs
+++ b/crates/lox_io/tests/gm.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
use lox_io::spice::Kernel;
#[test]
diff --git a/crates/lox_io/tests/pck.rs b/crates/lox_io/tests/pck.rs
index 38b1a3a2..543ff9c1 100644
--- a/crates/lox_io/tests/pck.rs
+++ b/crates/lox_io/tests/pck.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
use lox_io::spice::Kernel;
#[test]
diff --git a/crates/lox_py/src/lib.rs b/crates/lox_py/src/lib.rs
index 5a1c911c..538dec79 100644
--- a/crates/lox_py/src/lib.rs
+++ b/crates/lox_py/src/lib.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
use pyo3::exceptions::PyValueError;
use pyo3::prelude::*;
use thiserror::Error;
diff --git a/tools/lox_gen/src/main.rs b/tools/lox_gen/src/main.rs
index f578abe8..3d1f5f20 100644
--- a/tools/lox_gen/src/main.rs
+++ b/tools/lox_gen/src/main.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
use std::fs;
use std::path::Path;
use std::process::Command;
diff --git a/tools/lox_gen/src/naif_ids.rs b/tools/lox_gen/src/naif_ids.rs
index fdcb8226..26cf4826 100644
--- a/tools/lox_gen/src/naif_ids.rs
+++ b/tools/lox_gen/src/naif_ids.rs
@@ -1,3 +1,11 @@
+/*
+ * Copyright (c) 2023. Helge Eichhorn and the LOX contributors
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
pub type Body = (i32, &'static str);
pub const SUN: [Body; 1] = [(10, "Sun")];