NSPipeline::TCameraThread Class Reference

Tato trida reprezentuje vlakno s bezici kamerou. More...

#include <CameraThread.h>

Collaboration diagram for NSPipeline::TCameraThread:

Collaboration graph
[legend]
List of all members.

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

TThreadm_thread
 vlakno pro beh teto kamery
bool m_isRunning
 urcuje zda kamera (vlakno) bezi
TCameraAbstractm_camera
 objekt pro ziskavani obrazovych dat (exteni objekt)
DWORD m_sleepTime
 pocet milisekund mezi ziskanim dvou snimku
TDispatcherm_dispatcher
 dispatcher do ktereho se predavaji vytvorene snimky (externi objekt)
TImageSetManagerm_manager
 manazer snimku

Detailed Description

Tato trida reprezentuje vlakno s bezici kamerou.

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.

Warning:
Tento objekt udrzuje manager snimku a proto muze byt odstranen pouze tehdy, kdyz v aplikaci neexistuji reference na snimky.

Definition at line 48 of file CameraThread.h.


Constructor & Destructor Documentation

TCameraThread::TCameraThread TDispatcher dispatcher,
TCameraAbstract camera,
DWORD  sleepTime,
DWORD  reservedFrames = 100
 

Konstruktor.

Pripravi kameru k behu. Kameru je nutne spustit metodou Start().

Parameters:
dispatcher [in] ukazatel na platny dispatcher
camera [in] ukazatel na platnou kameru
sleepTime [in] prodleva mezi ziskanim dvou snimku v milisekundach
reservedFrames [in] pocet predalokovanych snimku v alokatoru snimku

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:

TCameraThread::~TCameraThread void   ) 
 

Zruseni objektu.

Warning:
Destruktor znici manager snimku. Je tedy dulezite, aby se v aplikaci v dobe volani teto metody nevyskytovaly zadne snimky. Pred zrusenim by tedy kamera mela byt zastavena metodou Stop().

Definition at line 109 of file CameraThread.cpp.

References m_manager, m_thread, and Stop().

Here is the call graph for this function:

NSPipeline::TCameraThread::TCameraThread const TCameraThread orig  )  [private]
 

falesny kopirovaci konstruktor


Member Function Documentation

DWORD NSPipeline::TCameraThread::GetSleepTime void   )  const [inline]
 

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.

void NSPipeline::TCameraThread::operator= const TCameraThread orig  )  [private]
 

falesny operator prirazeni

BOOL TCameraThread::Start void   ) 
 

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:

BOOL TCameraThread::Stop void   ) 
 

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:

DWORD WINAPI TCameraThread::TCameraDLLRun void *  ptr  )  [static, private]
 

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.

Parameters:
ptr [in] ukazatel na objekt typu TCameraThread reprezentujici objekt zodpovedny za beh tohoto vlakna

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:


Member Data Documentation

TCameraAbstract* NSPipeline::TCameraThread::m_camera [private]
 

objekt pro ziskavani obrazovych dat (exteni objekt)

Definition at line 75 of file CameraThread.h.

Referenced by TCameraDLLRun(), and TCameraThread().

TDispatcher* NSPipeline::TCameraThread::m_dispatcher [private]
 

dispatcher do ktereho se predavaji vytvorene snimky (externi objekt)

Definition at line 78 of file CameraThread.h.

Referenced by TCameraDLLRun(), and TCameraThread().

bool NSPipeline::TCameraThread::m_isRunning [private]
 

urcuje zda kamera (vlakno) bezi

Definition at line 73 of file CameraThread.h.

Referenced by Start(), Stop(), TCameraDLLRun(), and TCameraThread().

TImageSetManager* NSPipeline::TCameraThread::m_manager [private]
 

manazer snimku

Definition at line 81 of file CameraThread.h.

Referenced by TCameraDLLRun(), TCameraThread(), and ~TCameraThread().

DWORD NSPipeline::TCameraThread::m_sleepTime [private]
 

pocet milisekund mezi ziskanim dvou snimku

Definition at line 76 of file CameraThread.h.

Referenced by GetSleepTime(), TCameraDLLRun(), and TCameraThread().

TThread* NSPipeline::TCameraThread::m_thread [private]
 

vlakno pro beh teto kamery

Definition at line 72 of file CameraThread.h.

Referenced by Start(), Stop(), TCameraThread(), and ~TCameraThread().


The documentation for this class was generated from the following files:
Generated on Sat Nov 17 16:25:21 2007 for Image Processing Pipeline by  doxygen 1.4.6-NO