docs(pythonInterface): added docs to serif.mfem and serif.polytrope

This commit is contained in:
2025-06-16 12:23:37 -04:00
parent 79c585892f
commit f49b1a2a3f
5 changed files with 823 additions and 12 deletions

View File

@@ -1,5 +1,31 @@
/**
* @file bindings.h
* @brief Declares the function to register polytrope module C++ components with pybind11.
*
* This file contains the declaration for `register_polytrope_bindings`, which is responsible
* for creating Python bindings for classes and functions within the `serif::polytrope` C++
* namespace. These bindings will be accessible in Python under the `serif.polytrope` submodule.
*/
#pragma once
#include <pybind11/pybind11.h>
/**
* @brief Registers C++ classes and functions from the `serif::polytrope` namespace to Python.
*
* This function takes a pybind11::module object, representing the `serif.polytrope` Python submodule,
* and adds bindings for various components like `PolytropeOperator`, `PolySolver`, etc.
* This allows these C++ components to be instantiated and used directly from Python.
*
* @param polytrope_submodule The pybind11 module (typically `serif.polytrope`) to which
* the polytrope C++ bindings will be added.
*
* @par Python Usage Example:
* After these bindings are registered and the Python module is imported:
* @code{.py}
* from serif.polytrope import PolySolver
* polytrope = PolySolver(1.5, 1)
* polytrope.solve()
* @endcode
*/
void register_polytrope_bindings(pybind11::module &polytrope_submodule);