#pragma once // ── Pafta (teknik resim) modu çizimi + etkileşimi ──────────────────────────── // aktifPafta varken viewport'un ÜSTÜNE 2B sayfa çizilir (3B sahne arkada kalır, // dokunulmaz). DM tarzı: toolbar yok — tekerlek zoom, orta tuş pan, sol tuş // görünüm sürükleme, çift tık sığdır. // // SICAK YOL: burada OCCT çağrısı YOK. Eksik/bayat çizim WORKER'a kuyruklanır // (GorevSistemi), sonuç PaftaUIDurum.onbellek'e düşer; o kareye kadar varsa eski // (bayat) çizim gösterilir → boş kare olmaz. #include "fiko/core/temel.hpp" struct ImDrawList; struct ImGuiIO; namespace fiko { struct UygulamaBaglam; struct PaftaUIDurum; struct PaftaCizimBaglam { ImDrawList* ciz = nullptr; ImGuiIO* io = nullptr; bool vpHover = false; f32 vpRectMinX = 0, vpRectMinY = 0; f32 vpBoyutX = 0, vpBoyutY = 0; }; void paftaCizVeIsle(UygulamaBaglam& b, PaftaUIDurum& durum, const PaftaCizimBaglam& cb); // Ayar bağları (ayar_kayitlari.cpp kaydeder — kategori "Teknik Resim"). f64& paftaKenarPayiPx(); // sayfanın viewport kenarına payı f64& paftaVurToleransMm(); // görünüm yakalama toleransı f32& paftaCizgiKalinlik(); // görünür çizgi kalınlığı (px) f32& paftaZoomAdim(); // tekerlek başına yakınlaştırma çarpanı f32& paftaYaziMm(); // ölçü metni SAYFA mm boyu (ISO ~3.5) bool& paftaYaziSayfaOlcekli(); // metin sayfayla ölçeklensin (kapalı = eski px-sabit) f64& paftaTutunmaPx(); // ölçü tutunma yakalama yarıçapı (ekran px) f64& paftaOkBoyuMm(); // ölçü ok başı uzunluğu (sayfa mm) f64& paftaTaramaAci(); // kesit tarama açısı (derece) f64& paftaTaramaAralikMm(); // kesit tarama çizgi aralığı (mm) bool& paftaPmiGoster(); // 3B PMI/GD&T paftaya yansıtılsın (kapalı = eski birebir) } // namespace fiko