Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,19 @@ Follow these code style and documentation rules exactly.
- `This work was performed by GPT-5.3-Codex in response to the prompt: "...".`
- Include the primary user prompt verbatim (or a faithful condensed version if it is extremely long).

12) Unit Test Documentation
- Add a brief Doxygen block immediately before every Catch2 `TEST_CASE` or `SCENARIO`.
- State the behavior being verified and identify the real production API under test.
- Let Doxygen discover real calls in the test body so the test appears in each production API's `Referenced by` list.
- Do not use `\test` or prose-only `\ref` commands to manufacture test-to-API links.

13) Preserve Doxygen Links Through Test Harnesses
- Preserve Doxygen links to the real production APIs when test fixtures, wrappers, namespaces, macros, or private-access techniques prevent automatic symbol linking.
- Add explicit Doxygen-only code references to the production symbols inside the relevant test body when direct calls are otherwise hidden.
- Guard reference-only code with `#ifdef __DOXY_ONLY__` so it need not compile, and use raw calls or member references that Doxygen can add to the production symbol's `Referenced by` list.
- Hide harness-only helpers from generated documentation with `\cond` and `\endcond` when they would dominate or obscure production API links.
- Disable `clang-format` around non-compiling Doxygen-only reference blocks when necessary.

When you finish:
- Summarize what changed.
- List affected files.
Expand Down
299 changes: 213 additions & 86 deletions include/ao/analysis/aoAtmosphere.hpp

Large diffs are not rendered by default.

17 changes: 8 additions & 9 deletions include/ao/analysis/aoSystem.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -1159,17 +1159,14 @@ class aoSystem
*/
iosT &dumpAOSystem( iosT &ios /**< [in] a std::ostream-like stream. */ );

/// Setup the configurator to configure this class
/**
* todo: "\test Loading aoAtmosphere config settings \ref tests_ao_analysis_aoAtmosphere_config "[test doc]"
*/
/// Setup the configurator to configure this class.
void setupConfig( app::appConfigurator &config /**< [in] the app::configurator object*/ );

/// Load the configuration of this class from a configurator
/// Load the configuration of this class from a configurator.
/**
* \todo: "\test Loading aoAtmosphere config settings \ref tests_ao_analysis_aoAtmosphere_config "[test doc]""
* \returns `error_t::noerror` when the configured atmosphere is valid, or its typed validation error.
*/
void loadConfig( app::appConfigurator &config /**< [in] the app::configurator object*/ );
error_t loadConfig( app::appConfigurator &config /**< [in] the app::configurator object*/ );
};

template <typename realT, class inputSpectT, typename iosT>
Expand Down Expand Up @@ -3056,7 +3053,7 @@ void aoSystem<realT, inputSpectT, iosT>::setupConfig( app::appConfigurator &conf
}

template <typename realT, class inputSpectT, typename iosT>
void aoSystem<realT, inputSpectT, iosT>::loadConfig( app::appConfigurator &config )
error_t aoSystem<realT, inputSpectT, iosT>::loadConfig( app::appConfigurator &config )
{
// WFS
if( config.isSet( "aosys.wfs" ) )
Expand Down Expand Up @@ -3238,8 +3235,10 @@ void aoSystem<realT, inputSpectT, iosT>::loadConfig( app::appConfigurator &confi
if( config.isSet( "aosys.starMag" ) )
starMag( smag );

atm.loadConfig( config );
const error_t atmosphereStatus = atm.loadConfig( config );
psd.loadConfig( config );

return atmosphereStatus;
}

extern template class aoSystem<float, vonKarmanSpectrum<float>, std::ostream>;
Expand Down
Loading
Loading