#include <CameraThread.h>
Collaboration diagram for NSPipeline::TCameraThread:
Public Member Functions | |
TCameraThread (TDispatcher *dispatcher, TCameraAbstract *camera, DWORD sleepTime, DWORD reservedFrames=100) | |
Konstruktor. | |
~TCameraThread (void) | |
Zruseni objektu. | |
BOOL | Start (void) |
Spusteni kamery. | |
BOOL | Stop (void) |
Zastaveni kamery. | |
DWORD | GetSleepTime (void) const |
Vrati cas, ktery uplyne mezi ziskanim dvou snimku z kamery. | |
Private Member Functions | |
TCameraThread (const TCameraThread &orig) | |
falesny kopirovaci konstruktor | |
void | operator= (const TCameraThread &orig) |
falesny operator prirazeni | |
Static Private Member Functions | |
static DWORD WINAPI | TCameraDLLRun (void *ptr) |
Staticka metoda pro beh vlakna kamery. | |
Private Attributes | |
TThread * | m_thread |
vlakno pro beh teto kamery | |
bool | m_isRunning |
urcuje zda kamera (vlakno) bezi | |
TCameraAbstract * | m_camera |
objekt pro ziskavani obrazovych dat (exteni objekt) | |
DWORD | m_sleepTime |
pocet milisekund mezi ziskanim dvou snimku | |
TDispatcher * | m_dispatcher |
dispatcher do ktereho se predavaji vytvorene snimky (externi objekt) | |
TImageSetManager * | m_manager |
manazer snimku |
Kamera a dispatcher musi byt predany do objektu. Oba objekty musi byt pozdeji zniceny po zniceni tohoto objektu (tedy tento objekt neprebira referenci a zodpovednost za tyto objekty).
Pri vytvareni je pro objekt zadan interval v milisekundach, ktery uplyne mezi ziskanim dvou snimku.
Trida vytvori pro kameru alokator snimku, jehoz velikost lze ovlivnit. Jakmile nejsou k dispozici zadne dalsi snimky pak kamera negeneruje zadna dalsi snimky.
Definition at line 48 of file CameraThread.h.
|
Konstruktor. Pripravi kameru k behu. Kameru je nutne spustit metodou Start().
Definition at line 85 of file CameraThread.cpp. References NSCameras::TCameraAbstract::GetHeight(), NSCameras::TCameraAbstract::GetWidth(), m_camera, m_dispatcher, m_isRunning, m_manager, m_sleepTime, and m_thread. Here is the call graph for this function: ![]() |
|
Zruseni objektu.
Definition at line 109 of file CameraThread.cpp. References m_manager, m_thread, and Stop(). Here is the call graph for this function: ![]() |
|
falesny kopirovaci konstruktor
|
|
Vrati cas, ktery uplyne mezi ziskanim dvou snimku z kamery. Cas je uveden v milisekundach. Definition at line 89 of file CameraThread.h. References m_sleepTime. |
|
falesny operator prirazeni
|
|
Spusteni kamery. Metoda vraci TRUE pokud byla kamera uspesne spustena nebo jiz bezi. Definition at line 126 of file CameraThread.cpp. References m_isRunning, m_thread, NSPipeline::TThread::Run(), and TCameraDLLRun(). Referenced by main(). Here is the call graph for this function: ![]() |
|
Zastaveni kamery. Metoda znici vypocetni vlakno. Vraci TRUE pokud bylo vlakno uspesne zastaveno. Definition at line 165 of file CameraThread.cpp. References NSPipeline::TThread::Finish(), NSPipeline::TThread::IsTerminated(), m_isRunning, and m_thread. Referenced by main(), and ~TCameraThread(). Here is the call graph for this function: ![]() |
|
Staticka metoda pro beh vlakna kamery. Tato metoda je spustena metodou start a v ramci jejiho provadeni dochazi ke generovani novych snimku, ktere jsou zasilany dispatcheru. Jedine spravne ukonceni vykonani teto metody je zavolani metody Stop objektu, ktery je predan do tela teto metody jako parametr.
Definition at line 29 of file CameraThread.cpp. References NSPipeline::TFrameReal::Create(), NSPipeline::TImageARGB::FromRGB(), NSPipeline::TImageGray::FromRGB(), NSPipeline::TImageSetReal::GetARGBWrite(), NSCameras::TCameraAbstract::GetData(), NSPipeline::TImageRGB::GetDataWrite(), NSPipeline::TImageSetReal::GetGrayWrite(), NSPipeline::TImageSetManager::GetImageSet(), NSPipeline::TImageSetReal::GetRGBWrite(), m_camera, m_dispatcher, m_isRunning, m_manager, m_sleepTime, NSPipeline::TFrameReal::Release(), and NSPipeline::TDispatcher::SetFrame(). Referenced by Start(). Here is the call graph for this function: ![]() |
|
objekt pro ziskavani obrazovych dat (exteni objekt)
Definition at line 75 of file CameraThread.h. Referenced by TCameraDLLRun(), and TCameraThread(). |
|
dispatcher do ktereho se predavaji vytvorene snimky (externi objekt)
Definition at line 78 of file CameraThread.h. Referenced by TCameraDLLRun(), and TCameraThread(). |
|
urcuje zda kamera (vlakno) bezi
Definition at line 73 of file CameraThread.h. Referenced by Start(), Stop(), TCameraDLLRun(), and TCameraThread(). |
|
manazer snimku
Definition at line 81 of file CameraThread.h. Referenced by TCameraDLLRun(), TCameraThread(), and ~TCameraThread(). |
|
pocet milisekund mezi ziskanim dvou snimku
Definition at line 76 of file CameraThread.h. Referenced by GetSleepTime(), TCameraDLLRun(), and TCameraThread(). |
|
vlakno pro beh teto kamery
Definition at line 72 of file CameraThread.h. Referenced by Start(), Stop(), TCameraThread(), and ~TCameraThread(). |