Am5os
 All Classes Functions Pages
scenario.h
1 
2 // Projectname: amos-ss16-proj5
3 //
4 // Created on 03.06.2016.
5 // Copyright (c) 2016 de.fau.cs.osr.amos2016.gruppe5
6 //
7 // This file is part of the AMOS Project 2016 @ FAU
8 // (Friedrich-Alexander University Erlangen-Nürnberg)
9 //
10 // This program is free software: you can redistribute it and/or modify
11 // it under the terms of the GNU Affero General Public License as
12 // published by the Free Software Foundation, either version 3 of the
13 // License, or (at your option) any later version.
14 //
15 // This program is distributed in the hope that it will be useful,
16 // but WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 // GNU Affero General Public License for more details.
19 //
20 // You should have received a copy of the GNU Affero General Public
21 // License along with this program. If not, see
22 // <http://www.gnu.org/licenses/>.
23 //
24 
25 #ifndef SCENARIO_H
26 #define SCENARIO_H
27 
28 //std
29 #include <string>
30 
31 //local
32 #include "../ObjectDetection/frame_detection_data.h"
33 #include "../ObjectDetection/element.h"
34 
35 class Scenario {
36 
37 public:
38 
46  virtual bool Detect(FrameDetectionData detected_objects) = 0;
47 
48 
54  virtual std::string GetScenarioInformation() = 0;
55 
56 
65  static float ComputeDistance(Element first, Element second);
66 
75  static float ComputeCenterDistance(Element first, Element second);
76 
85  static bool DoOverlap(Element first, Element second);
86 
95  static bool DoContain(Element big, Element small);
96 
97 
98 private:
99 
108  static float ComputePointDistance(std::vector<int> first, std::vector<int> second);
109 
110 
111 };
112 
113 
114 #endif // SCENARIO_H
Definition: frame_detection_data.h:41
virtual std::string GetScenarioInformation()=0
static float ComputeCenterDistance(Element first, Element second)
Definition: scenario.cpp:80
virtual bool Detect(FrameDetectionData detected_objects)=0
Definition: scenario.h:35
Definition: element.h:29
static bool DoContain(Element big, Element small)
Definition: scenario.cpp:74
static bool DoOverlap(Element first, Element second)
Definition: scenario.cpp:40
static float ComputeDistance(Element first, Element second)
Definition: scenario.cpp:31