This feature is only supported by cameras that are equipped with a lens which is focusable via the camera (which typically have an auto-focus capability). These camera/lens systems fall into two broad categories:
Camera/lens system where the (camera’s) focusable lens is totally integrated into the camera unit (IE, the lens power/data wires are connected directly to the camera base). The Pixelink Varioptic lens units are examples of such a lens.
Camera lens systems whereby the lens control system is implemented via an external controller (connected to your host computer) that has been integrated into the Pixelink API, such as Navitar motorized zoom lens controller. As such, this feature is only available to those cameras that have been assigned a lens controller (see PxLGetNumberControllers and PxLAssignController).
API users can discern between the two categories via the FEATURE_FLAG_CONTROLLER bit of the uFlags parameter returned for FEATURE_ZOOM using PxLGetCameraFeatures.
The zoom feature controls the power, or zoom level, of the lens connected to the camera (either directly, or via an assigned controller). Additionally, this feature can be used to query operational information from the lens and/or controller.
|Camera||Presence||Read Only||Auto||Manual||One-time Auto||Off||Settable While Streaming||Controller|
The user can determine the range of supported values for a lens via PxLGetCameraFeatures. The zoom for the lens is distributed in a pseudo-uniform manner over the entire supported range.
If FEATURE_ZOOM is supported via an external controller, than the CONTROLLER_INFO.TypeMask (returned with PxLGetNumberControllers) will have the CONTROLLER_FLAG_ZOOM bit set.