#pragma once #include #include #include #include #include "behavior/behavior_event.h" namespace rk3588 { inline const char* BehaviorEventTypeName(BehaviorEventType type) { switch (type) { case BehaviorEventType::Intrusion: return "intrusion"; case BehaviorEventType::Climb: return "climb"; case BehaviorEventType::Fall: return "fall"; case BehaviorEventType::Fight: return "fight"; } return "unknown"; } inline std::string FormatBehaviorEventLabel(const BehaviorEventItem& item) { char duration_text[32]; std::snprintf(duration_text, sizeof(duration_text), "%.1fs", static_cast(item.duration_ms) / 1000.0); std::string label = BehaviorEventTypeName(item.type); if (!item.track_ids.empty()) { std::vector track_ids = item.track_ids; std::sort(track_ids.begin(), track_ids.end()); label += " #" + std::to_string(track_ids.front()); } label += " "; label += duration_text; return label; } } // namespace rk3588