2 个版本
0.1.2 | 2024年5月28日 |
---|---|
0.1.1 | 2024年4月9日 |
0.1.0 |
|
#23 in 模拟
165KB
2.5K SLoC
maliput
为 maliput 创建 Rustacean API。它在 maliput-sys
包提供的 FFI 绑定之上实现。
注意:什么是 maliput?请参阅 https://maliput.readthedocs.org。
描述
maliput
在 maliput-sys
包提供的 FFI 绑定之上提供了一个 Rust API。
使用方法
fn main() {
use maliput::api::RoadNetwork;
use std::collections::HashMap;
// Get location of odr resources
let package_location = std::env::var("CARGO_MANIFEST_DIR").unwrap();
let xodr_path = format!("{}/data/xodr/TShapeRoad.xodr", package_location);
let road_network_properties = HashMap::from([
("road_geometry_id", "my_rg_from_rust"),
("opendrive_file", xodr_path.as_str()),
]);
let road_network = RoadNetwork::new("maliput_malidrive", &road_network_properties);
let road_geometry = road_network.road_geometry();
// Excercise the RoadGeometry API.
println!("linear_tolerance: {}", road_geometry.linear_tolerance());
println!("angular_tolerance: {}", road_geometry.angular_tolerance());
println!("num_junctions: {}", road_geometry.num_junctions());
let lanes = road_geometry.get_lanes();
println!("num_lanes: {}", lanes.len());
println!("lanes: ");
for lane in lanes {
println!("\tlane id: {}", lane.id());
}
}
示例
- 加载
maliput::api::RoadNetwork
并对道路几何执行一些基本查询。cargo run --example road_geometry
基准测试
- 评估
maliput::api::RoadGeometry::to_road_position
方法的执行。cargo bench to_road_position
许可证
许可协议为 BSD 3-Clause。
依赖项
~0.5–2MB
~29K SLoC