The Lens on the Nokia N900. More...
#include <Lens.h>
Public Member Functions | |
void | setFocus (float, float speed) |
Set the focus of the lens in diopters. | |
float | getFocus () const |
Get the current focus of the lens in diopters. | |
float | farFocus () const |
The N900 lens focuses to infinity (zero diopters). | |
float | nearFocus () const |
The closest focus distance is 5cm (20 diopters). | |
bool | focusChanging () const |
Is the focus currently changing? | |
float | minFocusSpeed () const |
The N900's lens can change focus as slowly as 90 diopters per second, which covers the entire focal range in about 2.2s. | |
float | maxFocusSpeed () const |
The N900's lens can change focus as quickly as 5800 diopters per second, which covers the entire focal range in about 34ms. | |
int | focusLatency () const |
if I call setFocus, how long will it take before the lens starts moving? | |
void | setZoom (float, float) |
The N900's lens is fixed at a focal length of 5.2mm. | |
float | getZoom () const |
The N900's lens is fixed at a focal length of 5.2mm. | |
float | minZoom () const |
The N900's lens is fixed at a focal length of 5.2mm. | |
float | maxZoom () const |
The N900's lens is fixed at a focal length of 5.2mm. | |
bool | zoomChanging () const |
The N900's lens is fixed at a focal length of 5.2mm. | |
float | minZoomSpeed () const |
The N900's lens is fixed at a focal length of 5.2mm. | |
float | maxZoomSpeed () const |
The N900's lens is fixed at a focal length of 5.2mm. | |
int | zoomLatency () const |
The N900's lens is fixed at a focal length of 5.2mm. | |
void | setAperture (float, float) |
The N900's aperture is fixed at F/2.8. | |
float | getAperture () const |
The N900's aperture is fixed at F/2.8. | |
float | wideAperture (float) const |
The N900's aperture is fixed at F/2.8. | |
float | narrowAperture (float) const |
The N900's aperture is fixed at F/2.8. | |
bool | apertureChanging () const |
The N900's aperture is fixed at F/2.8. | |
int | apertureLatency () const |
The N900's aperture is fixed at F/2.8. | |
float | minApertureSpeed () const |
The N900's aperture is fixed at F/2.8. | |
float | maxApertureSpeed () const |
The N900's aperture is fixed at F/2.8. | |
void | tagFrame (FCam::Frame) |
Tag a frame with the state of the Lens during that frame. | |
float | getFocus (Time t) const |
What was the focus at some time in the past? Uses linear interpolation from known lens positions. |
The N900 has a lens capable of focus at a programmable speed. However, the zoom and aperture are fixed.
Definition at line 17 of file Lens.h.
void FCam::N900::Lens::setFocus | ( | float | , | |
float | speed | |||
) | [virtual] |
Set the focus of the lens in diopters.
See Focus for a discussion of diopters.
The second argument is the focus speed in diopters per second. Numbers less than zero (like the default), get mapped to max speed. This function initiates the change in focus and returns. It may take some time before the focus actually reaches the target position (or as close as it can get). Use FCam::Lens::focusChanging to see if the lens is still moving.
Implements FCam::Lens.
float FCam::N900::Lens::getFocus | ( | ) | const [virtual] |
Get the current focus of the lens in diopters.
Implements FCam::Lens.
float FCam::N900::Lens::minFocusSpeed | ( | ) | const [virtual] |
The N900's lens can change focus as slowly as 90 diopters per second, which covers the entire focal range in about 2.2s.
If you want a speed slower than this, you'll have to step the lens through discrete positions.
Implements FCam::Lens.
float FCam::N900::Lens::maxFocusSpeed | ( | ) | const [virtual] |
The N900's lens can change focus as quickly as 5800 diopters per second, which covers the entire focal range in about 34ms.
Implements FCam::Lens.
void FCam::N900::Lens::tagFrame | ( | FCam::Frame | f | ) | [virtual] |
float FCam::N900::Lens::getFocus | ( | Time | t | ) | const |