11/* ********************************************************************
22 * @file chrono_state_utils.h
33 * @brief Utilities for converting between Chrono and SystemState representations.
4+ *
5+ * This file is part of the Chrono coupling layer (src/hydro/chrono/).
6+ * It provides the bridge between Chrono physics types (ChBody) and the
7+ * Chrono-free core hydrodynamics types (SystemState).
8+ *
9+ * ARCHITECTURE NOTE:
10+ * - Core hydrodynamics (src/hydro/core/) remains Chrono-free.
11+ * - This utility lives in the coupling layer because it depends on Chrono types.
12+ * - The core SystemState types are defined in include/hydroc/core/system_state.h.
413 *********************************************************************/
514
6- #ifndef HYDRO_CORE_CHRONO_STATE_UTILS_H
7- #define HYDRO_CORE_CHRONO_STATE_UTILS_H
15+ #ifndef HYDRO_CHRONO_CHRONO_STATE_UTILS_H
16+ #define HYDRO_CHRONO_CHRONO_STATE_UTILS_H
817
918#include < hydroc/core/system_state.h>
1019#include < chrono/physics/ChBody.h>
1120#include < memory>
1221#include < vector>
1322
14- namespace hydrochrono ::hydro {
23+ namespace hydrochrono ::hydro::chrono_coupling {
1524
1625/* *
1726 * @brief Build SystemState from Chrono bodies.
1827 *
1928 * Extracts pose and velocity data from Chrono bodies into the SystemState structure.
29+ * This function bridges the Chrono physics layer with the Chrono-free core.
2030 *
2131 * @param bodies Vector of Chrono body pointers
2232 * @param out_state Output SystemState (will be populated)
@@ -25,7 +35,7 @@ void BuildSystemStateFromChronoBodies(
2535 const std::vector<std::shared_ptr<chrono::ChBody>>& bodies,
2636 SystemState& out_state);
2737
28- } // namespace hydrochrono::hydro
38+ } // namespace hydrochrono::hydro::chrono_coupling
2939
30- #endif // HYDRO_CORE_CHRONO_STATE_UTILS_H
40+ #endif // HYDRO_CHRONO_CHRONO_STATE_UTILS_H
3141
0 commit comments