-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathController.m
90 lines (73 loc) · 3.02 KB
/
Controller.m
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
84
85
86
87
88
89
90
classdef (Sealed) Controller < handle
%%la classe controller gestisce gli eventi e le chiamate dalle varie
%%UI.E' singleton e puo esisterne una sola istanza per esecuzione.
%% per utilizzare i suoi metodi usare il metodo getInstance (descritto sotto)
properties
kinect;
balanceBoard;
parametriUtente;
scheletro;
elaboratore;
errore2parametro;
end
methods
function controller= Controller
controller.kinect = Kinect();
%controller.balanceBoard=BalanceBoard();
end
function setKinectAngle(controller,angle)
%controller.kinect.setAngle();
controller.kinect.setAngle(angle);
end
%% questa funzione viene lanciata dal tasto "start" dell'ui 'SchermataPrincipale'
%%acquisice il frame dalla kinect, costruisce lo scheletro e
%%memorizza all'interno della variabile errore2parametro la mappa
%%con i valori e le coordinate degli errori. memorizza inoltre
%%l'elaboratore
% ritorna img, ovvero l'immagine che viene poi mostrata in axes
% dall'UI
function img =acquisisci(controller)
controller.kinect.acquisisci();
schel= Skeleton(controller.kinect.getMetaDati.JointImageIndices(:,:,(controller.kinect.getSkeletonId)));
controller.setScheletro(schel);
elab=Elaboratore(schel);
controller.setElaboratore(elab);
elab.CalcoloErrori(controller.parametriUtente);
errore2param=elab.Export();
controller.setErrore2parametro(errore2param);
img = Visualizer(controller.kinect.metadati.SegmentationData , coloraErrori(controller.errore2parametro));
return;
end
%function setParametriRiferimento(controller)
function startKinectPreview(controller)
controller.kinect.startPreview();
end
function stopKinectPreview(controller)
controller.kinect.stopPreview();
end
function stopCamera(controller)
controller.kinect.stopCamera();
end
function controller=setScheletro(controller,scheletro)
controller.scheletro=scheletro;
end
function controller=setParametriUtente(controller,param)
controller.parametriUtente=param;
end
function controller=setElaboratore(controller,elab)
controller.elaboratore= elab;
end
function controller=setErrore2parametro(controller,err)
controller.errore2parametro= err;
end
end
methods (Static)
function singleController = getInstance
persistent localController
if isempty(localController) || ~isvalid(localController)
localController = Controller ;
end
singleController = localController;
end
end
end