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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
---
title: AOI scene description
---
AOI scene description
=====================
## 2D description
An AOI scene can be described in 2D dimension using an [AOI2DScene](../../../argaze/#argaze.AreaOfInterest.AOI2DScene) from a dictionary description.
``` dict
{
"tracking": [[672.0, 54.0], [1632.0, 54.0], [1632.0, 540.0], [672.0, 540.0]],
"system": [[0.0, 54.0], [672.0, 54.0], [672.0, 540.0], [0.0, 540.0]],
"communications": [[0.0, 594.0], [576.0, 594.0], [576.0, 1080.0], [0.0, 1080.0]],
"resources": [[576.0, 594.0], [1632.0, 594.0], [1632.0, 1080.0], [576.0, 1080.0]]
}
...
```
Here is a sample of code to show the loading of an [AOI2DScene](../../../argaze/#argaze.AreaOfInterest.AOI2DScene) from a dictionary description:
``` python
from argaze.AreaOfInterest import AOI2DScene
# Load an AOI2D scene from dictionary
aoi_2d_scene = AOI2DScene.AOI2DScene(aoi_scene_dictionary)
```
## 3D description
An AOI scene can be described in 3D dimension using an [AOI3DScene](../../../argaze/#argaze.AreaOfInterest.AOI3DScene) built from a 3D model with all AOI as 3D planes and loaded through OBJ file format.
Notice that plane normals are not needed and planes are not necessary 4 vertices shapes.
``` obj
o PIC_ND
v 6.513238 -27.113548 -25.163900
v 22.994461 -27.310783 -24.552130
v 6.718690 -6.467261 -26.482569
v 23.252594 -6.592890 -25.873484
f 1 2 4 3
o PIC_ND_Aircraft
v 6.994747 -21.286463 -24.727146
v 22.740919 -21.406120 -24.147078
v 7.086208 -12.096219 -25.314123
v 22.832380 -12.215876 -24.734055
f 5 6 8 7
o PIC_ND_Wind
v 7.086199 -11.769333 -25.335127
v 12.081032 -11.807289 -25.151123
v 7.115211 -8.854101 -25.521320
v 12.110044 -8.892057 -25.337317
f 9 10 12 11
o PIC_ND_Waypoint
v 17.774197 -11.819057 -24.943428
v 22.769030 -11.857013 -24.759424
v 17.803209 -8.903825 -25.129622
v 22.798042 -8.941781 -24.945618
f 13 14 16 15
...
o Thrust_Lever
v 19.046124 15.523837 4.774072
v 18.997263 -0.967944 5.701000
v 18.988382 15.923470 -13.243046
v 18.921808 -0.417994 -17.869610
v 19.032232 19.241346 -3.040264
v 19.020988 6.392717 5.872663
v 18.945322 6.876906 -17.699480
s off
f 185 190 186 188 191 187 189
...
```
Here is a sample of code to show the loading of an [AOI3DScene](../../../argaze/#argaze.AreaOfInterest.AOI3DScene) from an OBJ file description:
``` python
from argaze.AreaOfInterest import AOI3DScene
# Load an AOI3D scene from OBJ file
aoi_3d_scene = AOI3DScene.AOI3DScene.from_obj('./aoi_scene.obj')
```
|