Skip to content

Refactor redesign sat class architecture#13

Merged
Phim226 merged 109 commits into
mainfrom
refactor-redesign-sat-class-architecture
Feb 17, 2026
Merged

Refactor redesign sat class architecture#13
Phim226 merged 109 commits into
mainfrom
refactor-redesign-sat-class-architecture

Conversation

@Phim226

@Phim226 Phim226 commented Feb 17, 2026

Copy link
Copy Markdown
Collaborator

Completely redesigned the architecture of the orbital classes. Both Satellite and Orbit now take the dynamical state as arguments, with Orbit having an optional constructor from elements to be used when updating from the GUI.

All orbit-mechanical calculations have been moved to separate helper function files (with unit tests written) that are called lazily when accessing satellite or orbit attributes. All previous tests have been refactored to align with this new design pattern.

The attributes being referenced in each class are different now as well. The Orbit class has orbital invariants as attributes, while the Satellite class has the dynamical state (essentially anything that depends on the true anomaly for a fixed orbit, with the notable exception of specific angular momentum, which is invariant across a given orbit). The GUI has been changed to reflect this change, and the Satellite portion of the Properties frame is now titled "Current satellite state".

@Phim226 Phim226 merged commit e399daf into main Feb 17, 2026
1 check passed
@Phim226 Phim226 deleted the refactor-redesign-sat-class-architecture branch February 17, 2026 18:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant