Fawkes API  Fawkes Development Version
firevision::CameraControlPanTilt Class Referenceabstract

Camera pan/tilt control interface. More...

#include <>>

Inheritance diagram for firevision::CameraControlPanTilt:

Public Member Functions

virtual ~CameraControlPanTilt ()
 Empty virtual destructor. More...
 
virtual void process_pantilt ()=0
 Process pan/tilt information. More...
 
virtual bool supports_pan ()=0
 Check whether this controller supports panning. More...
 
virtual bool supports_tilt ()=0
 Check whether this controller supports tilting. More...
 
virtual void set_pan (int pan)=0
 Set pan value. More...
 
virtual void set_tilt (int tilt)=0
 Set tilt value. More...
 
virtual void set_pan_tilt (int pan, int tilt)=0
 Set pan and tilt in one go. More...
 
virtual void set_pan_tilt_rad (float pan, float tilt)=0
 Set pan and tilt as float value. More...
 
virtual int pan ()=0
 Get pan value. More...
 
virtual int tilt ()=0
 Get tilt value. More...
 
virtual void start_get_pan_tilt ()=0
 Start asynchronous fetch operation for pan and tilt values. More...
 
virtual void pan_tilt (int &pan, int &tilt)=0
 Get pan and tilt at the same time. More...
 
virtual void pan_tilt_rad (float &pan, float &tilt)=0
 Get pan and tilt at the same time in radiant. More...
 
virtual int min_pan ()=0
 Get minimum pan value. More...
 
virtual int max_pan ()=0
 Get maximum pan value. More...
 
virtual int min_tilt ()=0
 Get minimum tilt value. More...
 
virtual int max_tilt ()=0
 Get maximum tilt value. More...
 
virtual void reset_pan_tilt ()=0
 Bring camera into home position. More...
 
virtual void set_pan_tilt_limit (int pan_left, int pan_right, int tilt_up, int tilt_down)=0
 Set pan/tilt limits. More...
 
virtual void reset_pan_tilt_limit ()=0
 Reset pan/tilt limits. More...
 
- Public Member Functions inherited from firevision::CameraControl
virtual ~CameraControl ()
 Virtual empty destructor. More...
 

Detailed Description

Camera pan/tilt control interface.

Some cameras feature an actuator to allow for panning and tilting the camera.

This interface shall be implemented by such cameras or for other external units for panning and tilting.

Author
Tim Niemueller
Tobias Kellner

Definition at line 35 of file pantilt.h.

Constructor & Destructor Documentation

◆ ~CameraControlPanTilt()

firevision::CameraControlPanTilt::~CameraControlPanTilt ( )
virtual

Empty virtual destructor.

Definition at line 152 of file pantilt.cpp.

Member Function Documentation

◆ max_pan()

int firevision::CameraControlPanTilt::max_pan ( )
pure virtual

Get maximum pan value.

Returns
maximum camera-specific pan value

Implemented in firevision::DummyCameraControl, and firevision::SonyEviD100PControl.

◆ max_tilt()

int firevision::CameraControlPanTilt::max_tilt ( )
pure virtual

Get maximum tilt value.

Returns
maximum camera-specific tilt value

Implemented in firevision::DummyCameraControl, and firevision::SonyEviD100PControl.

◆ min_pan()

int firevision::CameraControlPanTilt::min_pan ( )
pure virtual

Get minimum pan value.

Returns
minimum camera-specific pan value

Implemented in firevision::DummyCameraControl, and firevision::SonyEviD100PControl.

◆ min_tilt()

int firevision::CameraControlPanTilt::min_tilt ( )
pure virtual

Get minimum tilt value.

Returns
minimum camera-specific tilt value

Implemented in firevision::DummyCameraControl, and firevision::SonyEviD100PControl.

◆ pan()

int firevision::CameraControlPanTilt::pan ( )
pure virtual

Get pan value.

Returns
camera control specific pan value

Implemented in firevision::DummyCameraControl, and firevision::SonyEviD100PControl.

◆ pan_tilt()

void firevision::CameraControlPanTilt::pan_tilt ( int &  pan,
int &  tilt 
)
pure virtual

Get pan and tilt at the same time.

This will store the current pan and tilt values in the given arguments.

Parameters
pancontains current pan after call
tiltcontains current tilt after call

Implemented in firevision::DummyCameraControl, and firevision::SonyEviD100PControl.

◆ pan_tilt_rad()

void firevision::CameraControlPanTilt::pan_tilt_rad ( float &  pan,
float &  tilt 
)
pure virtual

Get pan and tilt at the same time in radiant.

This will store the current pan and tilt values in the given arguments.

Parameters
pancontains current pan after call
tiltcontains current tilt after call
See also
set_pan_tilt_rad()

Implemented in firevision::DummyCameraControl, and firevision::SonyEviD100PControl.

◆ process_pantilt()

void firevision::CameraControlPanTilt::process_pantilt ( )
pure virtual

Process pan/tilt information.

Some operations allow for asynchronous usage (like fetching pan/tilt data). This is because some cameras need some time to retrieve the information and thus it is a good idea to let that run besides the image processing loop. With process_control the incoming information is processed.

Implemented in firevision::DummyCameraControl, and firevision::SonyEviD100PControl.

◆ reset_pan_tilt()

void firevision::CameraControlPanTilt::reset_pan_tilt ( )
pure virtual

Bring camera into home position.

After the reset the camera shall look forward (horizontally and vertically centered "home" position).

Implemented in firevision::DummyCameraControl, and firevision::SonyEviD100PControl.

◆ reset_pan_tilt_limit()

void firevision::CameraControlPanTilt::reset_pan_tilt_limit ( )
pure virtual

Reset pan/tilt limits.

This removes all limits from the pan/tilt methods thus the only constraints are hardware induced.

Implemented in firevision::DummyCameraControl, and firevision::SonyEviD100PControl.

◆ set_pan()

void firevision::CameraControlPanTilt::set_pan ( int  pan)
pure virtual

Set pan value.

The pan value is dependent on the camera control. See the implementations documentation for details.

Parameters
pannew pan value

Implemented in firevision::DummyCameraControl, and firevision::SonyEviD100PControl.

◆ set_pan_tilt()

void firevision::CameraControlPanTilt::set_pan_tilt ( int  pan,
int  tilt 
)
pure virtual

Set pan and tilt in one go.

Sometimes camera controls have a command for setting pan and tilt at the same time. If possible this should be preferred since is minimizes the number of required operations and communication acts. See the implementations documentation for details.

Parameters
pannew pan value
tiltnew tilt value

Implemented in firevision::DummyCameraControl, and firevision::SonyEviD100PControl.

◆ set_pan_tilt_limit()

void firevision::CameraControlPanTilt::set_pan_tilt_limit ( int  pan_left,
int  pan_right,
int  tilt_up,
int  tilt_down 
)
pure virtual

Set pan/tilt limits.

Some camera controls allow for extra constraints to the min and max pan/tilt values.

Parameters
pan_leftnew minimum pan limit
pan_rightnew maximum pan limit
tilt_upnew minimum tilt limit
tilt_downnew maximum tilt limit

Implemented in firevision::DummyCameraControl, and firevision::SonyEviD100PControl.

◆ set_pan_tilt_rad()

void firevision::CameraControlPanTilt::set_pan_tilt_rad ( float  pan,
float  tilt 
)
pure virtual

Set pan and tilt as float value.

You give a radiant value where the camera should head relative to the basic camera position. Implementations shall look forward (center the camera) for if pan equals zero, look right if the pan is positive and left is the pan is negative, they shall look forward (vertically centered) if tilt is zero, upwards if tilt is negative and downwards if tilt is positive.

Parameters
pannew pan value in radiant
tiltnew tilt value in radiant

Implemented in firevision::DummyCameraControl, and firevision::SonyEviD100PControl.

◆ set_tilt()

void firevision::CameraControlPanTilt::set_tilt ( int  tilt)
pure virtual

Set tilt value.

The tilt value is dependent on the camera control. See the implementations documentation for details.

Parameters
tiltnew tilt value

Implemented in firevision::DummyCameraControl, and firevision::SonyEviD100PControl.

◆ start_get_pan_tilt()

void firevision::CameraControlPanTilt::start_get_pan_tilt ( )
pure virtual

Start asynchronous fetch operation for pan and tilt values.

This will initiate fetching the pan and tilt values but will not wait until the values have been received but will return immediately (non-blocking).

Implemented in firevision::DummyCameraControl, and firevision::SonyEviD100PControl.

◆ supports_pan()

bool firevision::CameraControlPanTilt::supports_pan ( )
pure virtual

Check whether this controller supports panning.

Returns
true if panning is supported

Implemented in firevision::DummyCameraControl, and firevision::SonyEviD100PControl.

◆ supports_tilt()

bool firevision::CameraControlPanTilt::supports_tilt ( )
pure virtual

Check whether this controller supports tilting.

Returns
true if tilting is supported

Implemented in firevision::DummyCameraControl, and firevision::SonyEviD100PControl.

◆ tilt()

int firevision::CameraControlPanTilt::tilt ( )
pure virtual

Get tilt value.

Returns
camera control specific tilt value

Implemented in firevision::DummyCameraControl, and firevision::SonyEviD100PControl.


The documentation for this class was generated from the following files: