visibility op• Data kinds: mesh → indices
• Call: import fullseye as fs; fs.ledger.cad_visible_faces(mesh, K=None, R=None, t=None, width=64, height=64, cull_backfaces=True, strict=True) (implementation को सीधे call करना हो तो import cadmap; cadmap.cad_visible_faces(mesh, K=None, R=None, t=None, width=64, height=64, cull_backfaces=True, strict=True), registry से लेना हो तो opscadmap.get("cad_visible_faces"))
इस camera से वास्तव में दिखने वाले face के ID (आरोही क्रम, indices sort)।
image grid (width x height, pixel केंद्र integer coordinates पर) पर rays भेजकर सबसे सामने आने वाले faces इकट्ठा करता है। back faces (normal camera की ओर नहीं) और सामने के faces से पूरी तरह छिपे faces शामिल नहीं होते। यह inspection coverage -- "इस viewpoint से CAD के कौन-से faces देखे गए माने जाएँ" -- को सीधे लौटाता है, और mesh_area के साथ मिलाने पर "बिना inspection वाला क्षेत्रफल" मिलता है।
grid resolution से छोटे दिखने वाले faces छूट जाते हैं (sampling है, इसलिए स्वाभाविक)। छूटे हुए को "छिपा हुआ" न कहा जाए, इसलिए "देखे गए faces" लौटाए जाते हैं, न कि "न दिखने वाले faces का complement"।
★केवल यहाँ strict का default True है (बाकी 3 में False)। return एक सादा index array है, इसलिए winding ठीक करने के तथ्य को दर्ज करने की कोई जगह नहीं है, और "चुपचाप ठीक करने" से बचने के लिए यहाँ reject करना ही एकमात्र रास्ता है। cull_backfaces=True रहते हुए अंदर की ओर wound closed mesh देने पर ValueError आता है। auto-fix चाहिए तो caller की ओर strict=False स्पष्ट रूप से दें -- तब user ने fix माँगा है, इसलिए return value में न होने पर भी कुछ चुपचाप नहीं होता। cull_backfaces=False पर winding direction परिणाम पर असर नहीं डालती, इसलिए जाँच भी नहीं होती।
• 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 के स्रोत।
• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।
• defect_to_cad — py -3.11 examples/defect_to_cad.py
indices को input के रूप में लेते हैं)—
visibility)—
*Provenance: cadmap.py — CADMAP operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.