blob: 9cc7f8500f022fa2b687bed3c9f5f8d0b8d67096 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
Gaze position
=============
[GazeFeatures](../../../argaze/#argaze.GazeFeatures) defines a [GazePosition](../../../argaze/#argaze.GazeFeatures.GazePosition) class to handle point coordinates with a precision value.
``` python
from argaze import GazeFeatures
# Define a basic gaze position
gaze_position = GazeFeatures.GazePosition((123, 456))
# Define a gaze position with a precision value
gaze_position = GazeFeatures.GazePosition((789, 765), precision=10)
# Access to gaze position value and precision
print(f'position: {gaze_position.value}')
print(f'precision: {gaze_position.precision}')
```
## Validity
[GazeFeatures](../../../argaze/#argaze.GazeFeatures) defines also a [UnvalidGazePosition](../../../argaze/#argaze.GazeFeatures.UnvalidGazePosition) class that inherits from [GazePosition](../../../argaze/#argaze.GazeFeatures.GazePosition) to handle case where no gaze position exists because of any specific device reason.
``` python
from argaze import GazeFeatures
# Define a basic unvalid gaze position
gaze_position = GazeFeatures.UnvalidGazePosition()
# Define a basic unvalid gaze position with a message value
gaze_position = GazeFeatures.UnvalidGazePosition("Something bad happened")
# Access to gaze position validity
print(f'validity: {gaze_position.valid}')
```
## Distance
[GazePosition](../../../argaze/#argaze.GazeFeatures.GazePosition) class provides a **distance** method to calculate the distance to another gaze position instance.
![Distance](../../img/distance.png)
``` python
# Distance between A and B positions
d = gaze_position_A.distance(gaze_position_B)
```
## Overlapping
[GazePosition](../../../argaze/#argaze.GazeFeatures.GazePosition) class provides an **overlap** method to test if a gaze position overlaps another one considering their precisions.
![Gaze overlapping](../../img/overlapping.png)
``` python
# Check that A overlaps B
if gaze_position_A.overlap(gaze_position_B):
# Do something if A overlaps B
...
# Check that A overlaps B and B overlaps A
if gaze_position_A.overlap(gaze_position_B, both=True):
# Do something if A overlaps B AND B overlaps A
...
```
|