gmsh-sys

Crates.iogmsh-sys
lib.rsgmsh-sys
version0.1.2
sourcesrc
created_at2019-09-19 16:10:36.843227
updated_at2019-11-19 19:33:08.451394
descriptionLow-level bindings to the Gmsh API
homepagehttps://github.com/mxxo/gmsh-sys
repository
max_upload_size
id165991
size157,205
Max Orok (mxxo)

documentation

https://mxxo.github.io/gmsh-sys/gmsh_sys/index.html

README

Unofficial bindings to the Gmsh C API (currently v4.4.1). The bindings are directly generated using bindgen. They're very low-level and you'll likely want them wrapped in a higher-level crate.

You'll need a copy of the Gmsh SDK library (libgmsh) to link with.

If you're getting linker errors when trying to run cargo test, try passing the Gmsh library location to LD_LIBRARY_PATH during the call:

LD_LIBRARY_PATH="<libgmsh-path>" cargo test

For posterity, the exact bindgen call (v0.50.0) was

let bindings = bindgen::Builder::default()
                .header("gmsh/api/gmshc.h")
                .generate_comments(true)
                .generate()
                .expect("Unable to generate bindings");

    let out_path = PathBuf::from(env::var("OUT_DIR").unwrap());
    bindings
        .write_to_file(out_path.join("bindings.rs"))
        .expect("Couldn't write bindings!");

Gmsh is copyright (C) 1997-2019 by C. Geuzaine and J.-F. Remacle.

From the Gmsh website:

Gmsh is a free 3D finite element mesh generator with a built-in CAD engine and post-processor.

Links:

Commit count: 0

cargo fmt