pub struct GraphEdge {
pub weight: Option<i32>,
pub edge_type: Option<String>,
}Expand description
图边数据,对应原C++的GraphEdge类
在petgraph架构中,边数据存储与边关联的附加信息。与原C++实现不同, 边的连接关系(from/to)完全由petgraph的图结构管理,这里只存储边的属性。
§设计考虑
- 权重类型:使用整数而非浮点数,避免浮点数比较的精度问题
- 可选字段:所有字段都是可选的,支持轻量级边创建
- 类型标识:支持不同类型的边(如路径边、约束边等)
§使用场景
use rlwfc::GraphEdge;
// 简单边
let simple_edge = GraphEdge::new();
// 带权重的边
let weighted_edge = GraphEdge::with_weight(10);
// 带类型的边
let typed_edge = GraphEdge::with_type("path".to_string());Fields§
§weight: Option<i32>可选的边权重(使用整数避免浮点数比较问题)
权重可用于:
- 路径查找算法的成本计算
- 连接强度的表示
- 优先级排序
edge_type: Option<String>可选的边类型标识
类型标识可用于:
- 区分不同种类的连接
- 过滤特定类型的边
- 调试和可视化
Implementations§
Trait Implementations§
impl StructuralPartialEq for GraphEdge
Auto Trait Implementations§
impl Freeze for GraphEdge
impl RefUnwindSafe for GraphEdge
impl Send for GraphEdge
impl Sync for GraphEdge
impl Unpin for GraphEdge
impl UnsafeUnpin for GraphEdge
impl UnwindSafe for GraphEdge
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more