Expand description
壁領域の作り直し(取り込み後・解析前・荷重同期前)。region_rebuild.rs(床側)の
壁側版。
柱・梁が囲む鉛直構面内の閉領域(crate::region_gen::wall::WallRegionBoundary)
から壁領域(WallRegion)を再生成し、既存の壁領域と構面・重心・面積で
対応付けて名前を引き継ぐ。構面判定は候補の全頂点で行い、内包判定には
局所座標の多角形重心を用いる。壁版([WallPlate])は畳まない。柱・梁で
囲まれた壁版(WallPlateShape::Enclosed)の帰属(どの壁領域に属すか)を、
壁版の重心が入る壁領域へ付け替えるだけである(rebuild_floor_regions と同じ方針)。
取り付く壁版(パラペット・腰壁・垂れ壁・自立壁)はどの壁領域からも参照されない
独立した壁版のまま、素通しする。
床側との違い: 床は「同じレベル Z」で新旧の床領域を対応付けるが、壁は構面
(直線)ごとに閉領域が現れるため、候補の全頂点が「同じ構面上にあるか」
(WallRegionBoundary::is_same_plane)で絞り込んでから、構面内の局所座標 (s, z)
で多角形重心・内包を判定する。間柱は D7 により毎回入れ直す。
床側 D20 に相当する自動変換: どの壁領域にも収まらない、柱・梁で囲まれた
壁版(WallPlateShape::Enclosed)のうち、水平な辺(上辺・下辺)がちょうど 1 つ
同一レベルの大梁に全長覆われていれば、その辺を取付き線とする取り付く壁版
(Attached/RegionAnchor::Line)へ変換する(パラペット・腰壁・垂れ壁)。
判定対象は水平な辺のみで、鉛直な辺(柱沿い)は対象外とする(D13/D14 に
「柱だけに取り付く壁」の用例がないため)。張り出し量 extent は取付き辺からの
鉛直方向の高さ差で、符号つき(下方向が負)である。RegionAnchor::FloorRegion
(自立壁)は自動検出しない。ST-Bridge から自立壁を判別できる情報源がなく、
手動作成専用とする(利用者との dig で確定。
dev_docs/handoff/床領域・壁領域の再設計_申し送り.md §9)。
変換で境界が取付き線 2 点だけに縮んだぶん、参照が 0 になった節点は削除する (D21。床側と同じ規約で、このリビルドが縮めた境界の先端節点だけを対象とし、 他の理由で未使用の既存節点は対象外とする)。 自由端は取付き辺上にない頂点が 1〜2 点のときに限り変換する。同じ高さでも 辺から外れた頂点は自由端に数える。変換後の取り付く壁版は解析要素にせず、 自重の自動分配(取付き線への分布)も行わない。
Structs§
Constants§
- CENTROID_
MATCH_ AREA_ REL - 重心照合で面積が近いとみなす相対許容(新旧の床領域の面積比)。
crate::region_rebuild::CENTROID_MATCH_AREA_RELと同じ値・同じ意味。
Functions§
- rebuild_
wall_ regions - 壁領域を柱・梁が囲む鉛直構面内の閉領域から作り直し、名前を引き継ぎ、 壁版の帰属を付け替える。
- unassigned_
post_ count - 現状の壁領域で、中点がちょうど 1 領域に厳密内包されない間柱の本数。