pub fn grisubal<T: CoordsFloat>(
file_path: impl AsRef<Path>,
grid_cell_sizes: [T; 2],
clip: Clip,
) -> Result<CMap2<T>, GrisubalError>
Expand description
Main algorithm call function.
§Arguments
file_path: impl AsRef<Path>
– Path to a VTK file describing input geometry.grid_cell_sizes: [T; 2],
– Desired grid cell size along the X/Y axes.clip: Option<Clip>
– Indicates which part of the map should be clipped, if any, in the post-processing phase.
At the moment, the input geometry should be specified via a file under the VTK Legacy format.
Just like the io
feature provided in the core crate, there are a few additional requirements
for the geometry to be loaded correctly:
- The geometry should have a consistent orientation, i.e. the order in which the points are given should form normals with a consistent direction (either pointing inward or outward the geometry).
- The geometry should be described using in an
UnstructuredGrid
data set, with supported cell types (Vertex
,Line
). Lines will be interpreted as the boundary to intersect while vertices will be considered as points of interests.
§Return / Errors
This function returns a Result
taking the following values:
Ok(CMap2)
– Algorithm ran successfully.Err(GrisubalError)
– Algorithm encountered an issue. SeeGrisubalError
for all possible errors.
§Panics
This function may panic if the specified file cannot be opened.
§Example
let cmap: CMap2<f64> = grisubal("some/path/to/geometry.vtk", [1., 1.], Clip::default())?;