Crate riscan_pro [−] [src]
Crack open RiSCAN Pro xml files.
RiSCAN Pro is software developed by Riegl for terrestrial LiDAR scanning. RiSCAN Pro stores most project metadata, e.g. calibration and transformation matrices, in a xml file inside of the RiSCAN Pro project directory. This is a Rust library for reading these xml files and extracting the good bits.
This project is not created by Riegl and no support from them is provided or implied. Please do not contact Riegl about this software.
This library is not complete, as there's lots of project components that aren't supported. This was developed for a specific purpose (colorizing points and transforming them) and so far hasn't been developed much beyond that.
Examples
Projects can be opened from the directory or the rsp file themselves:
use riscan_pro::Project; let project1 = Project::from_path("data/project.RiSCAN").unwrap(); let project2 = Project::from_path("data/project.RiSCAN/project.rsp").unwrap(); assert_eq!(project1, project2);
Everything available to you is a public attribute of the project. For example, to transform a
point in the project's coordinate system (PRCS) to the global coordinate system (GLCS), use the
pop
attribute of the project. Points are typed so they can't be compared directly, but they
can be dereferenced into their underlying nalgebra::Point3<f64>
.
use riscan_pro::{Point, Project}; let project = Project::from_path("data/project.RiSCAN").unwrap(); let prcs = Point::prcs(1., 2., 3.); let glcs = prcs.to_glcs(project.pop); // assert!(prcs != glcs) <-- compile error assert!(*prcs != *glcs);
Reexports
pub use scan_position::ScanPosition; |
Modules
element |
Improvements to |
scan_position |
Scan positions and their consituant parts. |
Structs
CameraCalibration |
A camera calibration. |
Cmcs |
The CaMera's Coordinate System. |
Glcs |
The GLobal Coordinate System. |
MountCalibration |
A camera mount calibration. |
Point |
A three-dimensional point. |
Prcs |
The PRoject Coordinate System. |
Project |
A RiSCAN Pro project. |
Socs |
The Scanner's Own Coordiate System. |
Enums
Error |
Our custom error enum. |
Type Definitions
Result |
Our custom result type. |