Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mockingbirdnest/Principia
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: e21d0924d659
Choose a base ref
...
head repository: mockingbirdnest/Principia
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 6ebbc030c91b
Choose a head ref
  • 7 commits
  • 80 files changed
  • 1 contributor

Commits on Nov 7, 2021

  1. Verified

    This commit was signed with the committer’s verified signature.
    makenowjust Hiroya Fujinami
    Copy the full SHA
    90459b5 View commit details
  2. Remove the old files.

    pleroy committed Nov 7, 2021
    Copy the full SHA
    8109415 View commit details
  3. The great replacement.

    pleroy committed Nov 7, 2021
    Copy the full SHA
    af610ad View commit details
  4. Copy the full SHA
    d2212b7 View commit details

Commits on Nov 9, 2021

  1. Merge.

    pleroy committed Nov 9, 2021
    Copy the full SHA
    49c1b4c View commit details
  2. More deletions.

    pleroy committed Nov 9, 2021
    Copy the full SHA
    1a00eac View commit details
  3. Merge pull request #3200 from pleroy/TheGreatReplacement

    Rename DiscreteTraject0ry into DiscreteTrajectory
    pleroy authored Nov 9, 2021
    Copy the full SHA
    6ebbc03 View commit details
Showing with 1,936 additions and 5,797 deletions.
  1. +5 −5 astronomy/geodesy_test.cpp
  2. +10 −10 astronomy/lunar_orbit_test.cpp
  3. +5 −5 astronomy/orbit_analysis_test.cpp
  4. +3 −3 astronomy/orbit_ground_track.hpp
  5. +5 −5 astronomy/orbit_ground_track_body.hpp
  6. +5 −5 astronomy/orbital_elements.hpp
  7. +3 −3 astronomy/orbital_elements_body.hpp
  8. +5 −5 astronomy/orbital_elements_test.cpp
  9. +8 −8 astronomy/standard_product_3.cpp
  10. +5 −5 astronomy/standard_product_3.hpp
  11. +3 −3 astronomy/standard_product_3_test.cpp
  12. +4 −4 astronomy/лидов_古在_test.cpp
  13. +3 −3 astronomy/молния_orbit_test.cpp
  14. +11 −11 benchmarks/apsides.cpp
  15. +4 −4 benchmarks/dynamic_frame.cpp
  16. +10 −10 benchmarks/ephemeris.cpp
  17. +4 −4 benchmarks/planetarium_plot_methods.cpp
  18. +1 −1 ksp_plugin/flight_plan.cpp
  19. +4 −4 ksp_plugin/flight_plan.hpp
  20. +2 −2 ksp_plugin/interface.cpp
  21. +6 −6 ksp_plugin/interface_external.cpp
  22. +13 −13 ksp_plugin/interface_flight_plan.cpp
  23. +8 −8 ksp_plugin/interface_iterator.cpp
  24. +2 −2 ksp_plugin/interface_planetarium.cpp
  25. +12 −12 ksp_plugin/interface_renderer.cpp
  26. +9 −9 ksp_plugin/iterators.hpp
  27. +11 −11 ksp_plugin/iterators_body.hpp
  28. +3 −3 ksp_plugin/manœuvre_body.hpp
  29. +5 −5 ksp_plugin/orbit_analyser.cpp
  30. +7 −7 ksp_plugin/part.cpp
  31. +7 −7 ksp_plugin/part.hpp
  32. +8 −8 ksp_plugin/pile_up.cpp
  33. +5 −5 ksp_plugin/pile_up.hpp
  34. +10 −10 ksp_plugin/planetarium.cpp
  35. +12 −12 ksp_plugin/planetarium.hpp
  36. +17 −17 ksp_plugin/plugin.cpp
  37. +13 −13 ksp_plugin/plugin.hpp
  38. +11 −11 ksp_plugin/renderer.cpp
  39. +11 −11 ksp_plugin/renderer.hpp
  40. +11 −11 ksp_plugin/vessel.cpp
  41. +8 −8 ksp_plugin/vessel.hpp
  42. BIN ksp_plugin_adapter_stub/ksp_plugin_adapter_stub.dll
  43. BIN ksp_plugin_adapter_stub/ksp_plugin_adapter_stub.pdb
  44. +4 −4 ksp_plugin_test/flight_plan_test.cpp
  45. +4 −4 ksp_plugin_test/interface_flight_plan_test.cpp
  46. +3 −3 ksp_plugin_test/manœuvre_test.cpp
  47. +3 −3 ksp_plugin_test/mock_renderer.hpp
  48. +6 −6 ksp_plugin_test/planetarium_test.cpp
  49. +3 −3 ksp_plugin_test/plugin_compatibility_test.cpp
  50. +7 −7 ksp_plugin_test/renderer_test.cpp
  51. +2 −2 ksp_plugin_test/vessel_test.cpp
  52. +4 −4 mathematica/mathematica_test.cpp
  53. +13 −13 physics/apsides.hpp
  54. +8 −8 physics/apsides_body.hpp
  55. +8 −8 physics/apsides_test.cpp
  56. +2 −2 physics/body_centred_body_direction_dynamic_frame_test.cpp
  57. +0 −217 physics/discrete_traject0ry.hpp
  58. +0 −875 physics/discrete_traject0ry_body.hpp
  59. +0 −775 physics/discrete_traject0ry_test.cpp
  60. +162 −237 physics/discrete_trajectory.hpp
  61. +702 −533 physics/discrete_trajectory_body.hpp
  62. +3 −3 physics/discrete_trajectory_segment.hpp
  63. +3 −3 physics/discrete_trajectory_segment_iterator.hpp
  64. +656 −850 physics/discrete_trajectory_test.cpp
  65. +12 −12 physics/ephemeris.hpp
  66. +12 −12 physics/ephemeris_body.hpp
  67. +12 −12 physics/ephemeris_test.cpp
  68. +0 −249 physics/forkable.hpp
  69. +0 −551 physics/forkable_body.hpp
  70. +0 −793 physics/forkable_test.cpp
  71. +3 −3 physics/mock_ephemeris.hpp
  72. +3 −9 physics/physics.vcxproj
  73. +8 −26 physics/physics.vcxproj.filters
  74. +3 −3 testing_utilities/discrete_trajectory_factories.hpp
  75. +1 −1 testing_utilities/discrete_trajectory_factories_body.hpp
  76. +0 −3 testing_utilities/testing_utilities.vcxproj
  77. +0 −9 testing_utilities/testing_utilities.vcxproj.filters
  78. +0 −72 testing_utilities/trajectory_factories.hpp
  79. +0 −95 testing_utilities/trajectory_factories_body.hpp
  80. +0 −98 testing_utilities/trajectory_factories_test.cpp
10 changes: 5 additions & 5 deletions astronomy/geodesy_test.cpp
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include "physics/body_surface_dynamic_frame.hpp"
#include "physics/discrete_traject0ry.hpp"
#include "physics/discrete_trajectory.hpp"
#include "physics/solar_system.hpp"
#include "quantities/si.hpp"
#include "testing_utilities/approximate_quantity.hpp"
@@ -33,7 +33,7 @@ using integrators::methods::QuinlanTremaine1990Order12;
using physics::BodySurfaceDynamicFrame;
using physics::ContinuousTrajectory;
using physics::DegreesOfFreedom;
using physics::DiscreteTraject0ry;
using physics::DiscreteTrajectory;
using physics::Ephemeris;
using physics::KeplerianElements;
using physics::KeplerOrbit;
@@ -126,15 +126,15 @@ TEST_F(GeodesyTest, DISABLED_LAGEOS2) {

ephemeris_->Prolong(final_time);

DiscreteTraject0ry<ICRS> primary_lageos2_trajectory;
DiscreteTrajectory<ICRS> primary_lageos2_trajectory;
primary_lageos2_trajectory.Append(
initial_time, itrs_.FromThisFrameAtTime(initial_time)(initial_dof_ilrsa));
DiscreteTraject0ry<ICRS> secondary_lageos2_trajectory;
DiscreteTrajectory<ICRS> secondary_lageos2_trajectory;
secondary_lageos2_trajectory.Append(
initial_time, itrs_.FromThisFrameAtTime(initial_time)(initial_dof_ilrsb));
auto flow_lageos2 =
[this, final_time](
DiscreteTraject0ry<ICRS>& lageos2_trajectory) -> absl::Status {
DiscreteTrajectory<ICRS>& lageos2_trajectory) -> absl::Status {
return ephemeris_->FlowWithAdaptiveStep(
&lageos2_trajectory,
Ephemeris<ICRS>::NoIntrinsicAcceleration,
20 changes: 10 additions & 10 deletions astronomy/lunar_orbit_test.cpp
Original file line number Diff line number Diff line change
@@ -18,7 +18,7 @@
#include "mathematica/mathematica.hpp"
#include "physics/apsides.hpp"
#include "physics/body_surface_dynamic_frame.hpp"
#include "physics/discrete_traject0ry.hpp"
#include "physics/discrete_trajectory.hpp"
#include "physics/kepler_orbit.hpp"
#include "physics/massless_body.hpp"
#include "physics/oblate_body.hpp"
@@ -57,7 +57,7 @@ using physics::BodySurfaceDynamicFrame;
using physics::ComputeApsides;
using physics::ComputeNodes;
using physics::DegreesOfFreedom;
using physics::DiscreteTraject0ry;
using physics::DiscreteTrajectory;
using physics::Ephemeris;
using physics::KeplerianElements;
using physics::KeplerOrbit;
@@ -363,7 +363,7 @@ TEST_P(LunarOrbitTest, NearCircularRepeatGroundTrackOrbit) {
IsNear(4.7e-13_⑴));
}

DiscreteTraject0ry<ICRS> trajectory;
DiscreteTrajectory<ICRS> trajectory;
trajectory.Append(J2000, initial_state);
auto const instance = ephemeris_->NewInstance(
{&trajectory},
@@ -377,7 +377,7 @@ TEST_P(LunarOrbitTest, NearCircularRepeatGroundTrackOrbit) {

// To find the nodes, we need to convert the trajectory to a reference frame
// whose xy plane is the Moon's equator.
DiscreteTraject0ry<LunarSurface> surface_trajectory;
DiscreteTrajectory<LunarSurface> surface_trajectory;
for (auto const& [time, degrees_of_freedom] : trajectory) {
surface_trajectory.Append(
time, lunar_frame_.ToThisFrameAtTime(time)(degrees_of_freedom));
@@ -413,8 +413,8 @@ TEST_P(LunarOrbitTest, NearCircularRepeatGroundTrackOrbit) {
mathematica::ExpressIn(Metre));
}

DiscreteTraject0ry<LunarSurface> ascending_nodes;
DiscreteTraject0ry<LunarSurface> descending_nodes;
DiscreteTrajectory<LunarSurface> ascending_nodes;
DiscreteTrajectory<LunarSurface> descending_nodes;
ComputeNodes(surface_trajectory,
surface_trajectory.begin(),
surface_trajectory.end(),
@@ -423,8 +423,8 @@ TEST_P(LunarOrbitTest, NearCircularRepeatGroundTrackOrbit) {
ascending_nodes,
descending_nodes);

DiscreteTraject0ry<ICRS> apoapsides;
DiscreteTraject0ry<ICRS> periapsides;
DiscreteTrajectory<ICRS> apoapsides;
DiscreteTrajectory<ICRS> periapsides;
ComputeApsides(*ephemeris_->trajectory(moon_),
trajectory,
trajectory.begin(),
@@ -435,12 +435,12 @@ TEST_P(LunarOrbitTest, NearCircularRepeatGroundTrackOrbit) {

struct Nodes {
std::string_view const name;
DiscreteTraject0ry<LunarSurface> const& trajectory;
DiscreteTrajectory<LunarSurface> const& trajectory;
};

struct Apsides {
std::string_view const name;
DiscreteTraject0ry<ICRS> const& trajectory;
DiscreteTrajectory<ICRS> const& trajectory;
};

std::vector<double> descending_node_eccentricities;
10 changes: 5 additions & 5 deletions astronomy/orbit_analysis_test.cpp
Original file line number Diff line number Diff line change
@@ -14,7 +14,7 @@
#include "mathematica/mathematica.hpp"
#include "numerics/polynomial.hpp"
#include "physics/body_centred_non_rotating_dynamic_frame.hpp"
#include "physics/discrete_traject0ry.hpp"
#include "physics/discrete_trajectory.hpp"
#include "physics/ephemeris.hpp"
#include "physics/solar_system.hpp"
#include "testing_utilities/approximate_quantity.hpp"
@@ -36,7 +36,7 @@ using numerics::EstrinEvaluator;
using numerics::PolynomialInMonomialBasis;
using physics::BodyCentredNonRotatingDynamicFrame;
using physics::BodySurfaceDynamicFrame;
using physics::DiscreteTraject0ry;
using physics::DiscreteTrajectory;
using physics::Ephemeris;
using physics::MasslessBody;
using physics::RotatingBody;
@@ -144,18 +144,18 @@ class OrbitAnalysisTest : public ::testing::Test {

// Returns a GCRS trajectory obtained by stitching together the trajectories
// of |sp3_orbit.satellites| in |sp3_orbit.files|.
not_null<std::unique_ptr<DiscreteTraject0ry<GCRS>>> EarthCentredTrajectory(
not_null<std::unique_ptr<DiscreteTrajectory<GCRS>>> EarthCentredTrajectory(
SP3Orbit const& sp3_orbit) {
BodyCentredNonRotatingDynamicFrame<ICRS, GCRS> gcrs{ephemeris_.get(),
&earth_};
BodySurfaceDynamicFrame<ICRS, ITRS> itrs{ephemeris_.get(), &earth_};

auto result = make_not_null_unique<DiscreteTraject0ry<GCRS>>();
auto result = make_not_null_unique<DiscreteTrajectory<GCRS>>();
for (auto const& file : sp3_orbit.files.names) {
StandardProduct3 sp3(
SOLUTION_DIR / "astronomy" / "standard_product_3" / file,
sp3_orbit.files.dialect);
std::vector<not_null<DiscreteTraject0ry<ITRS> const*>> const& orbit =
std::vector<not_null<DiscreteTrajectory<ITRS> const*>> const& orbit =
sp3.orbit(sp3_orbit.satellite);
CHECK_EQ(orbit.size(), 1);
auto const& arc = *orbit.front();
6 changes: 3 additions & 3 deletions astronomy/orbit_ground_track.hpp
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@
#include "astronomy/orbit_recurrence.hpp"
#include "astronomy/orbital_elements.hpp"
#include "geometry/interval.hpp"
#include "physics/discrete_traject0ry.hpp"
#include "physics/discrete_trajectory.hpp"
#include "physics/rotating_body.hpp"

namespace principia {
@@ -16,7 +16,7 @@ namespace internal_orbit_ground_track {

using geometry::Instant;
using geometry::Interval;
using physics::DiscreteTraject0ry;
using physics::DiscreteTrajectory;
using physics::RotatingBody;
using quantities::Angle;
using quantities::AngularFrequency;
@@ -67,7 +67,7 @@ class OrbitGroundTrack {
// sun-synchronicity is analysed.
template<typename PrimaryCentred, typename Inertial>
static absl::StatusOr<OrbitGroundTrack> ForTrajectory(
DiscreteTraject0ry<PrimaryCentred> const& trajectory,
DiscreteTrajectory<PrimaryCentred> const& trajectory,
RotatingBody<Inertial> const& primary,
std::optional<MeanSun> const& mean_sun);

10 changes: 5 additions & 5 deletions astronomy/orbit_ground_track_body.hpp
Original file line number Diff line number Diff line change
@@ -31,7 +31,7 @@ Angle CelestialLongitude(Position<PrimaryCentred> const& q) {
// The resulting angles are neither normalized nor unwound.
template<typename PrimaryCentred, typename Inertial>
std::vector<Angle> PlanetocentricLongitudes(
DiscreteTraject0ry<PrimaryCentred> const& nodes,
DiscreteTrajectory<PrimaryCentred> const& nodes,
RotatingBody<Inertial> const& primary) {
std::vector<Angle> longitudes;
longitudes.reserve(nodes.size());
@@ -55,7 +55,7 @@ Angle MeanSolarTime(Iterator const& it,

template<typename PrimaryCentred>
Interval<Angle> MeanSolarTimesOfNodes(
DiscreteTraject0ry<PrimaryCentred> const& nodes,
DiscreteTrajectory<PrimaryCentred> const& nodes,
OrbitGroundTrack::MeanSun const& mean_sun) {
Interval<Angle> mean_solar_times;
std::optional<Angle> mean_solar_time;
@@ -120,11 +120,11 @@ inline OrbitGroundTrack::EquatorCrossingLongitudes::EquatorCrossingLongitudes(

template<typename PrimaryCentred, typename Inertial>
absl::StatusOr<OrbitGroundTrack> OrbitGroundTrack::ForTrajectory(
DiscreteTraject0ry<PrimaryCentred> const& trajectory,
DiscreteTrajectory<PrimaryCentred> const& trajectory,
RotatingBody<Inertial> const& primary,
std::optional<MeanSun> const& mean_sun) {
DiscreteTraject0ry<PrimaryCentred> ascending_nodes;
DiscreteTraject0ry<PrimaryCentred> descending_nodes;
DiscreteTrajectory<PrimaryCentred> ascending_nodes;
DiscreteTrajectory<PrimaryCentred> descending_nodes;
OrbitGroundTrack ground_track;
RETURN_IF_ERROR(ComputeNodes(trajectory,
trajectory.begin(),
10 changes: 5 additions & 5 deletions astronomy/orbital_elements.hpp
Original file line number Diff line number Diff line change
@@ -6,7 +6,7 @@
#include "geometry/interval.hpp"
#include "geometry/named_quantities.hpp"
#include "physics/body.hpp"
#include "physics/discrete_traject0ry.hpp"
#include "physics/discrete_trajectory.hpp"
#include "physics/massive_body.hpp"
#include "quantities/named_quantities.hpp"
#include "quantities/quantities.hpp"
@@ -18,7 +18,7 @@ namespace internal_orbital_elements {
using geometry::Instant;
using geometry::Interval;
using physics::Body;
using physics::DiscreteTraject0ry;
using physics::DiscreteTrajectory;
using physics::MassiveBody;
using quantities::Angle;
using quantities::AngularFrequency;
@@ -37,7 +37,7 @@ class OrbitalElements {

template<typename PrimaryCentred>
static absl::StatusOr<OrbitalElements> ForTrajectory(
DiscreteTraject0ry<PrimaryCentred> const& trajectory,
DiscreteTrajectory<PrimaryCentred> const& trajectory,
MassiveBody const& primary,
Body const& secondary);

@@ -146,13 +146,13 @@ class OrbitalElements {

template<typename PrimaryCentred>
static std::vector<EquinoctialElements> OsculatingEquinoctialElements(
DiscreteTraject0ry<PrimaryCentred> const& trajectory,
DiscreteTrajectory<PrimaryCentred> const& trajectory,
MassiveBody const& primary,
Body const& secondary);

template<typename PrimaryCentred>
static std::vector<Length> RadialDistances(
DiscreteTraject0ry<PrimaryCentred> const& trajectory);
DiscreteTrajectory<PrimaryCentred> const& trajectory);

// |equinoctial_elements| must contain at least 2 elements.
static absl::StatusOr<Time> SiderealPeriod(
6 changes: 3 additions & 3 deletions astronomy/orbital_elements_body.hpp
Original file line number Diff line number Diff line change
@@ -33,7 +33,7 @@ using quantities::si::Radian;

template<typename PrimaryCentred>
absl::StatusOr<OrbitalElements> OrbitalElements::ForTrajectory(
DiscreteTraject0ry<PrimaryCentred> const& trajectory,
DiscreteTrajectory<PrimaryCentred> const& trajectory,
MassiveBody const& primary,
Body const& secondary) {
OrbitalElements orbital_elements;
@@ -139,7 +139,7 @@ inline Interval<Length> OrbitalElements::radial_distance_interval() const {
template<typename PrimaryCentred>
std::vector<OrbitalElements::EquinoctialElements>
OrbitalElements::OsculatingEquinoctialElements(
DiscreteTraject0ry<PrimaryCentred> const& trajectory,
DiscreteTrajectory<PrimaryCentred> const& trajectory,
MassiveBody const& primary,
Body const& secondary) {
DegreesOfFreedom<PrimaryCentred> const primary_dof{
@@ -176,7 +176,7 @@ OrbitalElements::OsculatingEquinoctialElements(

template<typename PrimaryCentred>
std::vector<Length> OrbitalElements::RadialDistances(
DiscreteTraject0ry<PrimaryCentred> const& trajectory) {
DiscreteTrajectory<PrimaryCentred> const& trajectory) {
std::vector<Length> radial_distances;
radial_distances.reserve(trajectory.size());
DegreesOfFreedom<PrimaryCentred> const primary_dof{PrimaryCentred::origin,
10 changes: 5 additions & 5 deletions astronomy/orbital_elements_test.cpp
Original file line number Diff line number Diff line change
@@ -10,7 +10,7 @@
#include "gtest/gtest.h"
#include "mathematica/mathematica.hpp"
#include "physics/body_centred_non_rotating_dynamic_frame.hpp"
#include "physics/discrete_traject0ry.hpp"
#include "physics/discrete_trajectory.hpp"
#include "physics/ephemeris.hpp"
#include "physics/kepler_orbit.hpp"
#include "physics/solar_system.hpp"
@@ -35,7 +35,7 @@ using integrators::methods::DormandالمكاوىPrince1986RKN434FM;
using integrators::methods::QuinlanTremaine1990Order12;
using physics::BodyCentredNonRotatingDynamicFrame;
using physics::DegreesOfFreedom;
using physics::DiscreteTraject0ry;
using physics::DiscreteTrajectory;
using physics::Ephemeris;
using physics::KeplerianElements;
using physics::KeplerOrbit;
@@ -77,7 +77,7 @@ class OrbitalElementsTest : public ::testing::Test {

// Completes |initial_osculating_elements| and returns a GCRS trajectory
// obtained by flowing the corresponding initial conditions in |ephemeris|.
static not_null<std::unique_ptr<DiscreteTraject0ry<GCRS>>>
static not_null<std::unique_ptr<DiscreteTrajectory<GCRS>>>
EarthCentredTrajectory(
KeplerianElements<GCRS>& initial_osculating_elements,
Instant const& initial_time,
@@ -86,7 +86,7 @@ class OrbitalElementsTest : public ::testing::Test {
MassiveBody const& earth = FindEarthOrDie(ephemeris);
ephemeris.Prolong(final_time);
BodyCentredNonRotatingDynamicFrame<ICRS, GCRS> gcrs{&ephemeris, &earth};
DiscreteTraject0ry<ICRS> icrs_trajectory;
DiscreteTrajectory<ICRS> icrs_trajectory;
KeplerOrbit<GCRS> initial_osculating_orbit{earth,
MasslessBody{},
initial_osculating_elements,
@@ -110,7 +110,7 @@ class OrbitalElementsTest : public ::testing::Test {
/*speed_integration_tolerance=*/1 * Milli(Metre) / Second
},
/*max_ephemeris_steps=*/std::numeric_limits<std::int64_t>::max());
auto result = make_not_null_unique<DiscreteTraject0ry<GCRS>>();
auto result = make_not_null_unique<DiscreteTrajectory<GCRS>>();
for (auto const& [time, degrees_of_freedom] : icrs_trajectory) {
result->Append(time, gcrs.ToThisFrameAtTime(time)(degrees_of_freedom));
}
16 changes: 8 additions & 8 deletions astronomy/standard_product_3.cpp
Original file line number Diff line number Diff line change
@@ -32,9 +32,9 @@ using quantities::si::Second;
// n-point finite difference formulæ on the positions to produce a trajectory
// with consistent velocities.
template<int n>
not_null<std::unique_ptr<DiscreteTraject0ry<ITRS>>> ComputeVelocities(
DiscreteTraject0ry<ITRS> const& arc) {
auto result = make_not_null_unique<DiscreteTraject0ry<ITRS>>();
not_null<std::unique_ptr<DiscreteTrajectory<ITRS>>> ComputeVelocities(
DiscreteTrajectory<ITRS> const& arc) {
auto result = make_not_null_unique<DiscreteTrajectory<ITRS>>();
CHECK_GE(arc.size(), n);
std::array<Instant, n> times;
std::array<Position<ITRS>, n> positions;
@@ -193,7 +193,7 @@ StandardProduct3::StandardProduct3(
std::forward_as_tuple());
CHECK(inserted) << "Duplicate satellite identifier " << id << ": "
<< full_location;
it->second.push_back(make_not_null_unique<DiscreteTraject0ry<ITRS>>());
it->second.push_back(make_not_null_unique<DiscreteTrajectory<ITRS>>());
satellites_.push_back(id);
} else {
CHECK_EQ(columns(c, c + 2), " 0") << full_location;
@@ -330,9 +330,9 @@ StandardProduct3::StandardProduct3(
// from the check.
CHECK_EQ(id, satellites_[i]) << location;

std::vector<not_null<std::unique_ptr<DiscreteTraject0ry<ITRS>>>>& orbit =
std::vector<not_null<std::unique_ptr<DiscreteTrajectory<ITRS>>>>& orbit =
it->second;
DiscreteTraject0ry<ITRS>& arc = *orbit.back();
DiscreteTrajectory<ITRS>& arc = *orbit.back();

Position<ITRS> const position =
Displacement<ITRS>({float_columns(5, 18) * Kilo(Metre),
@@ -376,7 +376,7 @@ StandardProduct3::StandardProduct3(
// Bad or absent positional and velocity values are to be set to 0.000000.
if (position == ITRS::origin || velocity == ITRS::unmoving) {
if (!arc.empty()) {
orbit.push_back(make_not_null_unique<DiscreteTraject0ry<ITRS>>());
orbit.push_back(make_not_null_unique<DiscreteTrajectory<ITRS>>());
}
} else {
arc.Append(epoch, {position, velocity});
@@ -439,7 +439,7 @@ StandardProduct3::satellites() const {
return satellites_;
}

std::vector<not_null<DiscreteTraject0ry<ITRS> const*>> const&
std::vector<not_null<DiscreteTrajectory<ITRS> const*>> const&
StandardProduct3::orbit(SatelliteIdentifier const& id) const {
return FindOrDie(const_orbits_, id);
}
Loading