/*********版权所有（C）2025，武汉高德红外股份有限公司***************
* 文件名称：API_FrontStitch.h
* 文件标识：
* 内容摘要：吊舱产品前视扫描（针对地面）拼接算法
* 其它说明：
* 当前版本：
* 创建作者：04046wcw
* 创建日期：2025/03/01
*******************************************************************/
#pragma once

#ifdef _WIN32
#define STD_STITCH_API __declspec(dllexport)
#else
#define STD_STITCH_API  __attribute__ ((visibility("default")))
#endif

#include "StitchStruct.h"



// 视频帧前视拼接,基于极坐标
class STD_STITCH_API API_FrontStitch
{
public:
    virtual ~API_FrontStitch() = default;

    // 初始化拼接,以info给定的伺服指向为扫描中心，结合方位范围和俯仰范围初始化拼接图
    virtual FPanInfo		Init(FrameInfo info, ScanRange stAzRange, ScanRange stPtRange) = 0;

    // 运行拼接流程
    virtual BYTE8       Run(GD_VIDEO_FRAME_S img, FrameInfo para) = 0;

    // 立即优化并输出当前全景图
    virtual SINT32 OptAndOutCurrPan() = 0;

    // 获取全景图
    virtual GD_VIDEO_FRAME_S ExportPanAddr() = 0;




public:
    static API_FrontStitch* Create(std::string cachedir = "./cache");
    static void Destroy(API_FrontStitch* obj);
};
