Add azimuth and lunar phase computations, enhance target handling#3
Open
Add azimuth and lunar phase computations, enhance target handling#3
Conversation
- Introduced azimuth computations for Sun, Moon, stars, and ICRS directions in `azimuth.hpp`. - Added lunar phase geometry and events handling in `lunar_phase.hpp`. - Implemented a `Target` class for fixed ICRS pointing with altitude and azimuth computations. - Updated `siderust.hpp` to include new headers for azimuth and lunar phase functionalities. - Modified `spherical.hpp` to correct azimuth and polar coordinate handling. - Enhanced time handling in `time.hpp` to support quantity-based arithmetic. - Updated tests to reflect changes in period handling and quantity usage.
added 4 commits
February 24, 2026 23:48
- Updated mainpage.md to include new features: azimuth calculations, target tracking, and lunar phase events. - Refined README.md in examples directory to reflect new build instructions and added examples. - Expanded altitude_events_example.cpp to demonstrate altitude and azimuth calculations for multiple celestial bodies. - Introduced azimuth_lunar_phase_example.cpp to showcase azimuth events and lunar phase geometry. - Improved coordinate_systems_example.cpp with compile-time frame transformations and observer details. - Enhanced coordinates_examples.cpp with detailed typed-coordinate construction and conversion examples. - Revamped demo.cpp for a comprehensive end-to-end demonstration of siderust capabilities. - Updated solar_system_bodies_example.cpp to include body dispatch API and ephemeris calculations. - Added trackable_targets_example.cpp to illustrate polymorphic tracking of celestial targets.
…nd in altitude events example
- Removed redundant functions for crossing direction and moon phase label names, replacing them with direct usage of enum values. - Updated output formatting in demo and example files to utilize operator overloads for cleaner code. - Introduced stream operators for various classes including AzimuthExtremumKind, Position, Geodetic, Direction, and lunar phase enums for improved output readability. - Enhanced Target class to support strongly-typed celestial directions, ensuring automatic conversion to ICRS where necessary. - Added tests for new Target functionality, verifying altitude calculations and typed accessors for ICRSTarget and EclipticMeanJ2000Target. - Updated coordinate tests to use qtty::Degree for consistency and clarity in direction initialization.
- Adjusted formatting in test files to improve readability by aligning code and comments. - Replaced multiple lines of code with more concise versions in tests for TypedCoordinates, Ephemeris, Observatories, and Time. - Ensured consistent use of spacing and indentation across all test cases. - Verified that all assertions and static assertions maintain their intended functionality.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
azimuth.hpp.lunar_phase.hpp.Targetclass for fixed ICRS pointing with altitude and azimuth computations.siderust.hppto include new headers for azimuth and lunar phase functionalities.spherical.hppto correct azimuth and polar coordinate handling.time.hppto support quantity-based arithmetic.