9 #include "MultiTracker.h"
10 #include "VideoReader.h"
11 #include "SharedPtr.h"
12 #include "WorkerThread.h"
18 TK_DECLARE_PTR(Engine);
19 TK_DECLARE_PTR(MultiTracker);
26 static EnginePtr create();
31 //virtual void getCurrentCount();
32 // virtual void capture(bool bb = false);
33 void addObserver(EngineObserver* o);
34 void setVideoSrc(VideoSrcType type, const std::string& url);
37 friend class MultiTracker;
38 void onStatusChanged();
39 void onPersonsIn(const std::vector<Person>& p);
40 void onPersonsOut(const std::vector<Person>& p);
45 WorkerThread eventThread {"EventThread"};
47 MultiTrackerPtr multiTracker;
48 std::set<EngineObserver *> observer_list;
49 VideoReaderPtr reader;
69 unsigned long id = 0x001;
70 Gender gender = Female;
73 std::string ageToString (Ages age) const {
75 case Kid: return "Kid";
76 case Teenager: return "Teenager";
81 std::string toString() const {
83 ss << "Person: id=" << id << ". Gender:" << (gender == Gender::Male ? "Male" : "Female" ) <<
84 ". Age: " << ageToString(age);
92 virtual void onPersonsIn(const std::vector<Person>& p) = 0;
93 virtual void onPersonsOut(const std::vector<Person>& p) = 0;
98 #endif /* _ENGINE_H_ */