Files

79 lines
1.7 KiB
ReStructuredText

Rust API Reference
==================
The Rust API is documented on `docs.rs <https://docs.rs/navaltoolbox>`_.
Quick Reference
---------------
Core Types
^^^^^^^^^^
- ``Hull`` - Hull geometry with STL loading and transformations
- ``Vessel`` - Container for hulls and tanks
- ``HydrostaticsCalculator`` - Hydrostatic property calculations
- ``StabilityCalculator`` - GZ curve calculations
- ``Tank`` - Tank with fluid management
Usage Example
^^^^^^^^^^^^^
.. code-block:: rust
use navaltoolbox::{Hull, Vessel, StabilityCalculator};
use std::path::Path;
fn main() -> Result<(), Box<dyn std::error::Error>> {
// Load hull
let hull = Hull::from_stl(Path::new("ship.stl"))?;
let vessel = Vessel::new(hull);
// Calculate GZ curve
let calc = StabilityCalculator::new(&vessel, 1025.0);
let heels = vec![0.0, 10.0, 20.0, 30.0, 40.0];
let cog = [71.67, 0.0, 7.555];
let curve = calc.gz_curve(8635000.0, cog, &heels);
for point in &curve.points {
println!("Heel {:5.1}°: GZ = {:.3}m", point.heel, point.value);
}
Ok(())
}
Modules
-------
hull
^^^^
Hull geometry loading and manipulation.
vessel
^^^^^^
Vessel container with multi-hull and tank support.
hydrostatics
^^^^^^^^^^^^
Hydrostatic calculations (volume, center of buoyancy, etc.).
stability
^^^^^^^^^
Stability calculations (GZ curves with trim optimization).
tanks
^^^^^
Tank management with free surface effects.
mesh
^^^^
Mesh utilities (STL loading, clipping, transformations).
Full Documentation
------------------
See the complete Rust API documentation at:
- **docs.rs**: https://docs.rs/navaltoolbox
- **Source**: https://github.com/NavalToolbox/navaltoolbox-lib