mesh_split_long_edges — 3D resolution op

Data kinds: meshmesh

Call: import fullseye as fs; fs.ledger.mesh_split_long_edges(V, F, max_edge, max_passes=20) (to call the implementation directly, import meshres; meshres.mesh_split_long_edges(V, F, max_edge, max_passes=20); from the registry, ops3d.get("mesh_split_long_edges"))

Usage

Bisect edges longer than *max_edge* until none remains — adaptive refinement (`mesh`).

Each pass splits every over-long edge at its midpoint and re-triangulates

each affected face by the number of split edges (1 → 2, 2 → 3, 3 → 4

triangles), so there are never T-junctions and faces that are already fine

are untouched: the refinement lands exactly where the mesh is coarse.

Stops after *max_passes* (`ValueError` if edges still exceed the target

then). Vertex positions are not moved — the shape is preserved exactly.

Background guides (the physics and conventions behind this op)

depth_sensors — 深度センサの知識 — 測距原理・実機の値・欠測の出方

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

Runnable examples (verified samples that actually call this op)

mesh_resolution_demopy -3.11 examples_3d/mesh_resolution_demo.py

Ops the type connects to (they accept mesh as input)

mesh_to_voxel · mesh_to_points · to_points · fuse_to_voxel · ambient_occlusion · cast_shadow · supersample_mesh · render_beauty

Same category (resolution)

mesh_edge_stats · mesh_detail_map · mesh_isotropic_remesh · mesh_sample_points · mesh_lod_chain · mesh_select_lod · mesh_reduction_report · mesh_decimate_preserving


*Provenance: meshres.py — 3D operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.