312 lines
8.5 KiB
PHP
312 lines
8.5 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace EmotionHero\Models;
|
||
|
|
||
|
use Doctrine\ORM\Mapping as ORM;
|
||
|
use JMS\Serializer\Annotation as JMS;
|
||
|
use Doctrine\Common\Collections\ArrayCollection;
|
||
|
|
||
|
/**
|
||
|
* Hit of a target and the facial parameters at the moment of the hit
|
||
|
*
|
||
|
* @ORM\Table(name="hits")
|
||
|
* @ORM\Entity
|
||
|
*/
|
||
|
class Hit
|
||
|
{
|
||
|
/**
|
||
|
* @var integer
|
||
|
*
|
||
|
* @ORM\Column(name="id",type="integer")
|
||
|
* @ORM\Id
|
||
|
* @ORM\GeneratedValue
|
||
|
*/
|
||
|
private $id;
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @ORM\ManyToOne(targetEntity="Target", inversedBy="hits")
|
||
|
* @ORM\JoinColumn(name="target_id", referencedColumnName="id", nullable=false)
|
||
|
*/
|
||
|
private $target;
|
||
|
|
||
|
/**
|
||
|
* @ORM\ManyToOne(targetEntity="Game", inversedBy="hits")
|
||
|
* @ORM\JoinColumn(name="game_id", referencedColumnName="id", nullable=false)
|
||
|
*/
|
||
|
private $game;
|
||
|
|
||
|
/**
|
||
|
* @var float The score this hit resulted in
|
||
|
*/
|
||
|
private $score;
|
||
|
|
||
|
/**
|
||
|
* @ORM\ManyToOne(targetEntity="Emotion", inversedBy="targets")
|
||
|
* @ORM\JoinColumn(name="emotion_id", referencedColumnName="id", nullable=false)
|
||
|
*/
|
||
|
private $emotion;
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @ORM\OneToMany(targetEntity="Hit", mappedBy="target")
|
||
|
*/
|
||
|
private $hits;
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @var string
|
||
|
* @ORM\Column(name="gender",columnDefinition="VARCHAR(1)")
|
||
|
*/
|
||
|
private $gender;
|
||
|
|
||
|
/**
|
||
|
* @var boolean
|
||
|
*/
|
||
|
private $glasses;
|
||
|
|
||
|
/** @var float Head roll angle */
|
||
|
private $roll;
|
||
|
/** @var float Head pitch angle */
|
||
|
private $pitch;
|
||
|
/** @var float Head yaw angle */
|
||
|
private $yaw;
|
||
|
/** @var float Distance between two outer eye corners (mm?) */
|
||
|
private $inter_ocular_distance;
|
||
|
|
||
|
/** @var float Expression parameter */
|
||
|
private $mouth_open;
|
||
|
/** @var float Expression parameter */
|
||
|
private $lip_press;
|
||
|
/** @var float Expression parameter */
|
||
|
private $brow_raise;
|
||
|
/** @var float Expression parameter */
|
||
|
private $nose_wrinkler;
|
||
|
/** @var float Expression parameter */
|
||
|
private $lip_depressor;
|
||
|
/** @var float Expression parameter */
|
||
|
private $brow_furrow;
|
||
|
/** @var float Expression parameter */
|
||
|
private $attention;
|
||
|
/** @var float Expression parameter */
|
||
|
private $smile;
|
||
|
/** @var float Expression parameter */
|
||
|
private $inner_brow_raiser;
|
||
|
/** @var float Expression parameter */
|
||
|
private $chin_raiser;
|
||
|
/** @var float Expression parameter */
|
||
|
private $smirk;
|
||
|
/** @var float Expression parameter */
|
||
|
private $lip_suck;
|
||
|
/** @var float Expression parameter */
|
||
|
private $upper_lip_raiser;
|
||
|
/** @var float Expression parameter */
|
||
|
private $lip_pucker;
|
||
|
/** @var float Expression parameter */
|
||
|
private $eye_closure;
|
||
|
|
||
|
/** @var float 'Expression' parameter */
|
||
|
private $engagement;
|
||
|
/** @var float 'Expression' parameter */
|
||
|
private $valence;
|
||
|
|
||
|
/** @var float Emotion parameter */
|
||
|
private $anger;
|
||
|
/** @var float Emotion parameter */
|
||
|
private $contempt;
|
||
|
/** @var float Emotion parameter */
|
||
|
private $disgust;
|
||
|
/** @var float Emotion parameter */
|
||
|
private $fear;
|
||
|
/** @var float Emotion parameter */
|
||
|
private $joy;
|
||
|
/** @var float Emotion parameter */
|
||
|
private $sadness;
|
||
|
/** @var float Emotion parameter */
|
||
|
private $surprise;
|
||
|
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_0x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_0y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_1x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_1y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_2x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_2y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_3x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_3y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_4x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_4y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_5x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_5y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_6x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_6y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_7x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_7y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_8x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_8y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_9x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_9y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_10x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_10y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_11x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_11y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_12x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_12y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_13x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_13y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_14x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_14y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_15x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_15y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_16x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_16y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_17x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_17y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_18x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_18y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_19x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_19y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_20x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_20y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_21x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_21y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_22x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_22y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_23x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_23y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_24x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_24y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_25x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_25y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_26x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_26y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_27x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_27y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_28x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_28y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_29x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_29y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_30x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_30y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_31x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_31y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_32x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_32y;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_33x;
|
||
|
/** @var float Facial landmark */
|
||
|
private $point_33y;
|
||
|
|
||
|
/*
|
||
|
* A full list of facial landmarks from Affectiva docs
|
||
|
* http://developer.affectiva.com/fpi/
|
||
|
*
|
||
|
* 0 Right Top Jaw
|
||
|
* 1 Right Jaw Angle
|
||
|
* 2 Tip of Chin
|
||
|
* 3 Left Jaw Angle
|
||
|
* 4 Left Top Jaw
|
||
|
* 5 Outer Right Brow Corner
|
||
|
* 6 Right Brow Center
|
||
|
* 7 Inner Right Brow Corner
|
||
|
* 8 Inner Left Brow Corner
|
||
|
* 9 Left Brow Center
|
||
|
* 10 Outer Left Brow Corner
|
||
|
* 11 Nose Root
|
||
|
* 12 Nose Tip
|
||
|
* 13 Nose Lower Right Boundary
|
||
|
* 14 Nose Bottom Boundary
|
||
|
* 15 Nose Lower Left Boundary
|
||
|
* 16 Outer Right Eye
|
||
|
* 17 Inner Right Eye
|
||
|
* 18 Inner Left Eye
|
||
|
* 19 Outer Left Eye
|
||
|
* 20 Right Lip Corner
|
||
|
* 21 Right Apex Upper Lip
|
||
|
* 22 Upper Lip Center
|
||
|
* 23 Left Apex Upper Lip
|
||
|
* 24 Left Lip Corner
|
||
|
* 25 Left Edge Lower Lip
|
||
|
* 26 Lower Lip Center
|
||
|
* 27 Right Edge Lower Lip
|
||
|
* 28 Bottom Upper Lip
|
||
|
* 29 Top Lower Lip
|
||
|
* 30 Upper Corner Right Eye
|
||
|
* 31 Lower Corner Right Eye
|
||
|
* 32 Upper Corner Left Eye
|
||
|
* 33 Lower Corner Left Eye
|
||
|
*/
|
||
|
|
||
|
|
||
|
|
||
|
public function __construct()
|
||
|
{
|
||
|
$this->hits = new ArrayCollection();
|
||
|
}
|
||
|
}
|