japan opany → anyimport fullseye as fs; fs.ledger.building_prisms(buildings: 'Iterable[dict[str, Any]]', *, color_fn: 'Callable[[dict[str, Any]], Sequence[float]] | None' = None, base_z: 'float | None' = 0.0, roof_shade: 'float' = 0.92) -> 'tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray]' (実装を直接呼ぶなら import driveplateau; driveplateau.building_prisms(buildings: 'Iterable[dict[str, Any]]', *, color_fn: 'Callable[[dict[str, Any]], Sequence[float]] | None' = None, base_z: 'float | None' = 0.0, roof_shade: 'float' = 0.92) -> 'tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray]'、台帳から引くなら opsdrive.get("building_prisms"))建物の足跡(footprint)を高さまで押し出し、1 つの三角形メッシュにまとめる。
Args:
buildings: plateau_parse の buildings(footprint, height, ground_z)。
color_fn: building -> (r,g,b) 0..1。None なら _default_building_color。
base_z: 全建物の底 z [m]。None なら各建物の ground_z を使う(起伏のある世界向け)。
自前の平らな道路世界には 0.0 が合う。
roof_shade: 屋根面の色の倍率(側面と見分けるための控えめな陰)。
Returns:
(V (n,3) float64, F (m,3) int64, colors (m,3) float64 0..1, ids (m,) int64)。
ids[f] は面 f が属する建物の番号(入力列の添字)。建物が 0 件なら各配列は空。
Raises: ValueError: color_fn の返り値が RGB 3 要素 0..1 でない、建物の footprint/height が不正。
空の入力(buildings が 0 件)は空を返す(理由: 建物が 0 件のタイルは実データに普通にある。空の角柱集合が正しい答え)。
py -3.11 examples/gallery_drive_city_terrain.pyany を入力に取れる)course_crank · course_s_curve · course_turnaround · course_slope · course_intersection · course_parallel_parking · course_crossing · course_road
japan)osm_synthetic · osm_parse · osm_road_graph · osm_road_mask · osm_road_loops · osm_route · japan_world · japan_stats
Provenance: driveplateau.py — DRIVE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.