#pragma once // FarkTur — CAD Fark sinematik sunum katmanı: değişim bölgelerine kamera uçuşu // turu (anlatım overlay'li) + maks-sapma işaretçisi. Salt UI/kamera-güdüm; motor // durumuna yazmaz — kamera hedefleri OrbitKamera yumuşatmasıyla uçar. #include #include "fiko/core/mat/vec.hpp" #include "fiko/core/temel.hpp" #include "imgui.h" namespace fiko { class OrbitKamera; class Sahne; namespace analiz { class AnalizSistemi; } struct FarkTurDurum { u32 analiz = 0; // tur bu analizde aktif (0 = kapalı) int idx = -1; // aktif bölge (-1 = genel bakış açılışı) f32 adimBaslangic = 0; // aktif adımın başlama zamanı (sn) bool otomatik = true; // süre dolunca sıradaki bölgeye geç bool isaretci = true; // maks-sapma işaretçisi (tur kapalıyken de çizilir) bool bakisDondur = true; // bölgeye geçişte kamera bölgeyi cepheden görsün int sonBakisIdx = -2; // bakış yönü bu adım için verildi mi (adım başına BİR kez) }; FarkTurDurum& farkTur(); // Bölge başına izleme süresi (sn). AyarSistemi "fark.tur_sure". f64& farkTurSaniye(); // Sahnede aynı anda çizilecek kalıcı numaralı bölge işaretçisi üst sınırı (ekran // karışmasın). AyarSistemi "fark.isaretci_azami". int& farkIsaretciAzami(); void farkTurBaslat(u32 analizKimlik, f32 zaman); void farkTurDurdur(); // Kare-başı: tur kamera güdümü + anlatım overlay + maks-sapma işaretçisi. // ekrana = dünya→ekran projeksiyonu (belge penceresi ölçüm-overlay lambda'sı). void farkTurCiz(analiz::AnalizSistemi& an, Sahne& sahne, OrbitKamera& kamera, f32 zaman, ImDrawList* ciz, const std::function& ekrana, f32 vpMinX, f32 vpMinY, f32 vpBoyX, f32 vpBoyY); } // namespace fiko