using UnityEngine;
namespace LightGlue.Unity.Runtime
{
///
/// 对外统一的位置更新数据。
///
public struct LightGluePositionUpdate
{
///
/// 给业务/UI直接使用的位置坐标。
/// 当前默认透传算法参考图坐标;未来可扩展为已映射的 UI/屏幕坐标。
///
public Vector2 Position;
///
/// 算法原始相机/参考图坐标。
/// 通常对应 LightGlueResult.CameraPosition。
///
public Vector2 CameraLocation;
///
/// 本次结果是否有效。
///
public bool IsValid;
///
/// 匹配点数量。
///
public ushort NumMatches;
///
/// 内点比例。
///
public float InliersRatio;
public LightGluePositionUpdate(
Vector2 position,
Vector2 cameraLocation,
bool isValid,
ushort numMatches,
float inliersRatio)
{
Position = position;
CameraLocation = cameraLocation;
IsValid = isValid;
NumMatches = numMatches;
InliersRatio = inliersRatio;
}
public override string ToString()
{
return $"LightGluePositionUpdate(Pos={Position}, Camera={CameraLocation}, Valid={IsValid}, Matches={NumMatches}, Inliers={InliersRatio:P1})";
}
}
}