#pragma once #include #include #include "fiko/cekirdek/kayit.hpp" namespace fiko { class Cekirdek; namespace cam { class CamSistemi; } // CAM düğüm tipleri (AgacDugum.camTip). AYRI ağaç penceresi YOK — bu düğümler // ana Ürün Ağacı'na sağlayıcı ile eklenir (main.cpp cizDugum camTip'e dallanır). enum CamAgacTip : u8 { CAM_YOK = 0, CAM_PROGRAM, // 🗂 Manufacturing Program kökü CAM_PARTOP, // ⚙ Part Operation (camKimlik = pop.kimlik) CAM_AXIS, // ✛ Machining Axis System CAM_STOK, // ▦ Stok / Fikstür CAM_OP, // ▣ CamOperasyon (camKimlik = op.kimlik) CAM_TAKIM, // 🔧 op takım satırı CAM_YOL, // 〰 Nc Programlar satırı }; // Ürün ağacı sağlayıcısı (AgacSaglayiciKaydi::Saglayici imzası). CAM // hiyerarşisini kok'a SANAL düğümler (varlik=VARLIK_YOK) olarak ekler. // PartOp yoksa da Manufacturing Program kökü tüm op'larla görünür. // Op yoksa hiç düğüm eklenmez (ağaç temiz kalır). void camAgacTopla(Cekirdek& c, cam::CamSistemi& cam, std::vector& kok); // Bir CAM ağaç düğümünün sağ-tık bağlam menüsünü çizer (main.cpp cizDugum'dan, // ImGui::BeginPopupContextItem sonrası). Op düğümü: Düzenle/Hesapla/Bastır/ // Takım Değiştir/Sil. PartOp: Düzenle/Sil. silinecekOp/Pop out param. void camDugumMenu(cam::CamSistemi& cam, u8 camTip, u32 camKimlik, u32& silinecekOp, u32& silinecekPop, const std::function& opPencereAc, const std::function& parcaOpPencereAc); // CAM düğüm ikonu (camTip + durum) ve rengi (ImU32 RGBA). op durumu ⏳/⟳/✓. const char* camDugumIkon(cam::CamSistemi& cam, u8 camTip, u32 camKimlik); unsigned int camDugumRenk(cam::CamSistemi& cam, u8 camTip, u32 camKimlik); } // namespace fiko