pub struct RegionBoundaryScan {
pub boundaries: Vec<RegionBoundary>,
pub crossings: Vec<(ElemId, ElemId)>,
pub unclosed: usize,
}Expand description
面走査の結果。床領域の境界に加え、平面グラフとして矛盾がある兆候を持ち帰る。
Fields§
§boundaries: Vec<RegionBoundary>検出した床領域の境界。レベルの昇順、同一レベル内は面積の降順。
crossings: Vec<(ElemId, ElemId)>節点を共有せずに交差している水平梁の組。
面走査は平面グラフ(辺どうしが節点でのみ接する)を前提とする。交差する梁があると 検出される境界は実際の床領域とずれるが、走査自体はエラーにならず黙って通る。 モデルの不備として利用者へ知らせるための情報であり、境界の検出は続行する。
unclosed: usize閉じずに終わった面走査の数。
各半辺の後続は一意に定まるため、正しく組めていれば必ず 0 になる(不変条件の番人)。 0 でない場合は面走査の実装かグラフの構築に誤りがある。
Trait Implementations§
Source§impl Clone for RegionBoundaryScan
impl Clone for RegionBoundaryScan
Source§fn clone(&self) -> RegionBoundaryScan
fn clone(&self) -> RegionBoundaryScan
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RegionBoundaryScan
impl Debug for RegionBoundaryScan
Source§impl Default for RegionBoundaryScan
impl Default for RegionBoundaryScan
Source§fn default() -> RegionBoundaryScan
fn default() -> RegionBoundaryScan
Returns the “default value” for a type. Read more
Source§impl PartialEq for RegionBoundaryScan
impl PartialEq for RegionBoundaryScan
Source§fn eq(&self, other: &RegionBoundaryScan) -> bool
fn eq(&self, other: &RegionBoundaryScan) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for RegionBoundaryScan
Auto Trait Implementations§
impl Freeze for RegionBoundaryScan
impl RefUnwindSafe for RegionBoundaryScan
impl Send for RegionBoundaryScan
impl Sync for RegionBoundaryScan
impl Unpin for RegionBoundaryScan
impl UnsafeUnpin for RegionBoundaryScan
impl UnwindSafe for RegionBoundaryScan
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