mesh_process op• Data kinds: mesh → indices
• Call: import fullseye as fs; fs.ledger.boundary_vertices(mesh) -> 'np.ndarray' (implementation को सीधे call करना हो तो import mesh_props; mesh_props.boundary_vertices(mesh) -> 'np.ndarray', registry से लेना हो तो ops3d.get("boundary_vertices"))
खुले किनारों (boundary) पर स्थित vertices के index → (K,)।
undirected edges में से ठीक 1 face द्वारा ही इस्तेमाल होने वाले edges (boundary edges) के endpoints इकट्ठा करके लौटाता है। closed manifold के लिए यह खाली array होता है —— यानी len(boundary_vertices(mesh)) == 0 watertightness (watertight) की जाँच बन जाता है। hole filling, volume calculation और curvature, सभी का अर्थ boundary होने या न होने से बदलता है, इसलिए पहले यहाँ देखें।
Args:
mesh: (vertices (N,3), faces (M,3)) का tuple।
Returns:
ascending क्रम में, बिना duplicates का (K,) int64। boundary न हो तो shape == (0,)।
Raises:
ValueError: जब mesh (vertices, faces) के 2 elements न हो, shape अमान्य हो,
coordinates non-finite हों, index non-integer या सीमा से बाहर हो, या mesh खाली हो।
सीमा (honest): लौटता है vertices का set, किनारे का loop (traversal order में) नहीं। कई holes होने पर भी सब 1 array में मिल जाता है, इसलिए अगर हर hole अलग चाहिए तो connected components खुद trace करने होंगे (loop extraction का op अभी नहीं है)। 3 या अधिक faces द्वारा साझा किए गए non-manifold edges यहाँ नहीं आते (mesh_edge_stats का non_manifold_edges देखें)।
• blender_interop — Blender के साथ उपयोग — shape बनाएँ, fullseye से मापें (सावधानियाँ: axes, units, ground truth)
• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।
• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।
• mesh_decimate — py -3.11 examples_3d/mesh_decimate.py
• mesh_props — py -3.11 examples_3d/mesh_props.py
indices को input के रूप में लेते हैं)mesh_process)laplacian_smooth · taubin_smooth · decimate_qem · face_normals · vertex_normals · mesh_area · vertex_curvature · face_areas
*Provenance: mesh_props.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.