pub trait World2dSimulation:
Any
+ Send
+ Sync {
// Required methods
fn process_world(
&mut self,
altitude: &mut World2dField,
temperature: &mut World2dField,
humidity: &mut World2dField,
surface_water: &mut World2dField,
);
fn as_any(&self) -> &dyn Any;
// Provided method
fn initialize_world(
&mut self,
_altitude: &mut Grid2d<Scalar>,
_temperature: &mut Grid2d<Scalar>,
_humidity: &mut Grid2d<Scalar>,
_surface_water: &mut Grid2d<Scalar>,
) { ... }
}