3 unstable releases
Uses old Rust 2015
0.3.0 | Feb 23, 2018 |
---|---|
0.1.1 | Oct 16, 2017 |
0.1.0 | Nov 25, 2015 |
#1 in #riegl
Used in pabst
230KB
506 lines
rivlib-rs
Note: This software was not developed by Riegl. Please do not contact Riegl for support related to this software.
To use, you'll need to have RiVLib installed somewhere on your library search path, e.g. /usr/local/lib
.
You'll also need the headers installed to somewhere on your include file search path, e.g. /usr/local/include
.
Sub-crates
Underneath the rivlib
Rust lib, there are two sub-crates:
- scanifc-sys uses bindgen to build Rust bindings to RiVLib's C interface,
scanifc
. - scanlib uses a custom C++ wrapper to expose functionality from RiVLib's C++ interface,
scanlib
. This C++ wrapper must be compiled on your machine when you're building therivlib
crate.
lib.rs
:
Interface into Riegl's RiVLib.
Examples
Use a Reader
to extract data from rxp files:
use rivlib::Reader;
let reader = Reader::from_path("data/scan.rxp");
Use .points()
to get an iterator over the file's points:
let mut reader = rivlib::Reader::from_path("data/scan.rxp");
let points = reader.points().unwrap().filter_map(|p| p.ok()).collect::<Vec<_>>();
Use .inclinations()
to get an iterator over the file's inclination readings:
let mut reader = rivlib::Reader::from_path("data/scan.rxp");
let inclinations = reader.inclinations().unwrap().filter_map(|i| i.ok()).collect::<Vec<_>>();
Dependencies
~0–2MB
~40K SLoC