using OpenCVForUnity.CoreModule;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class HeadTurnRight : PoseBase
{
    public override bool CheckPose(List<Point> points)
    {
        // 必须包含 Nose 和 LEar 和 Neck 的点位
        if (!YogaManager.Instance.ActionCheckPoints(points))
            return false;

        var basePoint = YogaManager.Instance.Points;
        if (!YogaManager.Instance.ActionCheckPoints(basePoint)) 
            return false;

        //左转头检测

        var headVector = ("REye".vector(points) - "LEye".vector(points)).normalized;
        var headBaseVector = ("REye".vector(basePoint) - "LEye".vector(basePoint)).normalized;

        var noseVector = ("Nose".vector(points) - "Neck".vector(points)).normalized;
        var noseBaseVector = ("Nose".vector(basePoint) - "Neck".vector(basePoint)).normalized;

        if (Vector2.Dot(headVector, noseVector) < Vector2.Dot(headBaseVector, noseBaseVector) - 0.1f)
            return true;

        return false;
    }
}