Artec 3D Scanning SDK  2.0
Public Member Functions | List of all members
artec::sdk::capturing::IScanner Class Referenceabstract

Interface to initiate capture and control scanner parameters (fps, texture, exposure time, flash, etc.) More...

#include <artec/sdk/capturing/IScanner.h>

+ Inheritance diagram for artec::sdk::capturing::IScanner:

Public Member Functions

virtual ErrorCode createFrameProcessor (IFrameProcessor **processor, FrameProcessorDesc *desc=NULL)=0
 Create IFrameProcessor processor. More...
 
virtual ErrorCode initFrameProcessorDesc (FrameProcessorDesc *desc)=0
 Initialize FrameProcessor settings with the default values. More...
 
virtual int getFrameNumber () const =0
 Get current frame number. More...
 
virtual ErrorCode capture (IFrame **frame, bool captureTexture)=0
 Perform capture. More...
 
virtual ErrorCode captureTexture (IImage **texture, int *frameNumber)=0
 Capture texture only. More...
 
virtual const ScannerIdgetId () const =0
 Get scanner ID. More...
 
virtual const ScannerInfogetInfo () const =0
 Get scanner information. More...
 
virtual IScannerObservergetObserver () const =0
 Get scanner event handler. More...
 
virtual ErrorCode setObserver (IScannerObserver *handler)=0
 Set scanner event handler. More...
 
virtual float getGain () const =0
 Get 3D camera gain value. More...
 
virtual float getTextureGain () const =0
 Get texture gain value. More...
 
virtual void setTextureGain (float gain)=0
 Set texture gain value. More...
 
virtual float getTextureGainMin () const =0
 Get lower bound of the texture gain range. More...
 
virtual float getTextureGainMax () const =0
 Get upper bound of the texture gain range. More...
 
virtual float getFPS () const =0
 Get the current scanning speed (in FPS). More...
 
virtual void setFPS (float fps)=0
 Set the required scanning speed (in FPS). More...
 
virtual float getMaximumFPS () const =0
 Return maximum possible scanning speed (in FPS) for this scanner type. More...
 
virtual const artec::sdk::base::Matrix3x4DgetTextureMappingMatrix () const =0
 Get matrix for texture mapping. More...
 
virtual float getTextureIllumination () const =0
 Get parameters that are needed for texture brightness normalization. More...
 
virtual ErrorCode convertTextureFull (IImage **fullTexture, const IImage *rawTexture) const =0
 Convert RAW buffer to RGB (use standard capturer conversion). More...
 
virtual ErrorCode convertTextureHalf (IImage **halfTexture, const IImage *rawTexture) const =0
 Convert RAW texture buffer from device to half-resolution RGB (fast option). More...
 
virtual void enableFlash (bool enable)=0
 Enable/Disable flash bulb for geometry camera. More...
 
virtual bool isFlashEnabled () const =0
 Get geometry camera flash bulb state. More...
 
virtual void setFlashDelay (float vl)=0
 Set flash delay. More...
 
virtual float getFlashDelay () const =0
 Get flash delay. More...
 
virtual float getFlashDuration () const =0
 Get flash delay duration in for the geometry camera. More...
 
virtual void enableTextureFlash (bool enable)=0
 Enable/Disable flash bulb for the texture camera. More...
 
virtual bool isTextureFlashEnabled () const =0
 Get texture camera flash bulb state. More...
 
virtual void setTriggerDelay (float delay)=0
 Set external synchronization trigger delay. More...
 
virtual float getTriggerDelay () const =0
 Get external synchronization trigger delay. More...
 
virtual void setUseHwTrigger (bool vl)=0
 Enable/Disable scanner trigger for external synchronization. More...
 
virtual bool getUseHwTrigger () const =0
 Get status of the external synchronization scanner trigger. More...
 
virtual void setTextureUseHwTrigger (bool vl)=0
 Enable/Disable texture camera trigger to synchronize texture and depth. More...
 
virtual bool getTextureUseHwTrigger () const =0
 Get status of the texture camera synchronization trigger. More...
 
virtual void setTextureTriggerDelay (float delay)=0
 Set external synchronization trigger delay for texture camera. More...
 
virtual float getTextureTriggerDelay () const =0
 Get external synchronization trigger delay for texture camera. More...
 
virtual void setTextureShutterSpeed (float vl)=0
 Set texture camera shutter speed (exposure time). More...
 
virtual float getTextureShutterSpeed () const =0
 Get texture camera shutter speed (exposure time). More...
 
virtual void enableAutoExposure (bool enable)=0
 Enable/Disable autoexposure. More...
 
virtual bool isAutoExposureEnabled () const =0
 Get autoexposure state. More...
 
virtual void enableAutoWhiteBalance (bool enable)=0
 Enable/Disable auto white balance. More...
 
virtual bool isAutoWhiteBalanceEnabled () const =0
 Get state of auto white balance. More...
 
virtual ErrorCode setScannerSynchronization (IScannerSynchronization *sync)=0
 Set scanner bundle synchronization interface. More...
 
virtual IScannerSynchronization * getScannerSynchronization () const =0
 Get current scanner bundle synchronization interface. More...
 
virtual ErrorCode fireTrigger (bool captureTexture)=0
 Scanner fire trigger. More...
 
virtual ErrorCode retrieveFrame (IFrame **frame, bool captureTexture)=0
 Retrieve captured frame. More...
 
virtual int getScannerIndex () const =0
 Get scanner index in the bundle. More...
 
virtual void setScannerIndex (int newIndex)=0
 Set scanner index in the bundle. More...
 
- Public Member Functions inherited from artec::sdk::base::IRef
virtual int addRef () const =0
 Increase object reference counter. More...
 
virtual int release () const =0
 Decrease object reference counter. More...
 

Detailed Description

Interface to initiate capture and control scanner parameters (fps, texture, exposure time, flash, etc.)

Definition at line 97 of file IScanner.h.

Member Function Documentation

virtual ErrorCode artec::sdk::capturing::IScanner::capture ( IFrame **  frame,
bool  captureTexture 
)
pure virtual

Perform capture.

Safe multi-thread function.

Parameters
frameCaptured frame.
captureTextureIf it is true, texture will be captured.
virtual ErrorCode artec::sdk::capturing::IScanner::captureTexture ( IImage **  texture,
int *  frameNumber 
)
pure virtual

Capture texture only.

Safe multi-thread function.

Parameters
textureCaptured texture image.
frameNumberCurrent frame number.
virtual ErrorCode artec::sdk::capturing::IScanner::convertTextureFull ( IImage **  fullTexture,
const IImage rawTexture 
) const
pure virtual

Convert RAW buffer to RGB (use standard capturer conversion).

Perform de-mosaicing, correct vignetting and distortion.

Parameters
fullTextureFull resolution output texture.
rawTextureInput raw texture directly from the scanner sensor.
virtual ErrorCode artec::sdk::capturing::IScanner::convertTextureHalf ( IImage **  halfTexture,
const IImage rawTexture 
) const
pure virtual

Convert RAW texture buffer from device to half-resolution RGB (fast option).

Perform de-mosaicing, correct vignetting and distortion.

Parameters
halfTextureHalf resolution output texture.
rawTextureInput raw texture, directly from the scanner sensor.
virtual ErrorCode artec::sdk::capturing::IScanner::createFrameProcessor ( IFrameProcessor **  processor,
FrameProcessorDesc desc = NULL 
)
pure virtual

Create IFrameProcessor processor.

Parameters
descFrame processor settings. Use NULL for the default settings.
virtual void artec::sdk::capturing::IScanner::enableAutoExposure ( bool  enable)
pure virtual

Enable/Disable autoexposure.

Parameters
enableThe true value stands for enabled auto exposure, false for disabled.
virtual void artec::sdk::capturing::IScanner::enableAutoWhiteBalance ( bool  enable)
pure virtual

Enable/Disable auto white balance.

Parameters
enableThe true value stands for enabled auto white balance, false for disabled.
virtual void artec::sdk::capturing::IScanner::enableFlash ( bool  enable)
pure virtual

Enable/Disable flash bulb for geometry camera.

Parameters
enableThe true stands for enabled flash, false for disabled.
virtual void artec::sdk::capturing::IScanner::enableTextureFlash ( bool  enable)
pure virtual

Enable/Disable flash bulb for the texture camera.

Parameters
enableThe true value stands for enabled flash, false for disabled.
virtual ErrorCode artec::sdk::capturing::IScanner::fireTrigger ( bool  captureTexture)
pure virtual

Scanner fire trigger.

It's not a thread-safe function.

Parameters
captureTexture- True if the scanner captures both texture and geometry, false if only geometry.
virtual float artec::sdk::capturing::IScanner::getFlashDelay ( ) const
pure virtual

Get flash delay.

Returns
vl Get flash delay (in milliseconds).
virtual float artec::sdk::capturing::IScanner::getFlashDuration ( ) const
pure virtual

Get flash delay duration in for the geometry camera.

Returns
Flash duration in milliseconds.
virtual float artec::sdk::capturing::IScanner::getFPS ( ) const
pure virtual

Get the current scanning speed (in FPS).

Returns
Currently requested scanning speed in FPS (frames per second).
virtual int artec::sdk::capturing::IScanner::getFrameNumber ( ) const
pure virtual

Get current frame number.

Returns
Current frame number.
virtual float artec::sdk::capturing::IScanner::getGain ( ) const
pure virtual

Get 3D camera gain value.

Returns
Gain value.
virtual const ScannerId* artec::sdk::capturing::IScanner::getId ( ) const
pure virtual

Get scanner ID.

Returns
Pointer to the scanner ID.
virtual const ScannerInfo* artec::sdk::capturing::IScanner::getInfo ( ) const
pure virtual

Get scanner information.

Returns
Pointer to the ScannerInfo structure.
virtual float artec::sdk::capturing::IScanner::getMaximumFPS ( ) const
pure virtual

Return maximum possible scanning speed (in FPS) for this scanner type.

Returns
FPS value.
virtual IScannerObserver* artec::sdk::capturing::IScanner::getObserver ( ) const
pure virtual

Get scanner event handler.

Returns
Pointer to the IScannerObserver structure.
virtual int artec::sdk::capturing::IScanner::getScannerIndex ( ) const
pure virtual

Get scanner index in the bundle.

Returns
Scanner index in the bundle. The "0" value means that no bundle is used.
virtual IScannerSynchronization* artec::sdk::capturing::IScanner::getScannerSynchronization ( ) const
pure virtual

Get current scanner bundle synchronization interface.

Returns
Current IScannerSynchronization interface. NULL if synchronization is disabled.
virtual float artec::sdk::capturing::IScanner::getTextureGain ( ) const
pure virtual

Get texture gain value.

Returns
Texture gain value.
virtual float artec::sdk::capturing::IScanner::getTextureGainMax ( ) const
pure virtual

Get upper bound of the texture gain range.

Returns
Maximum texture gain value.
virtual float artec::sdk::capturing::IScanner::getTextureGainMin ( ) const
pure virtual

Get lower bound of the texture gain range.

Returns
Minimum texture gain value.
virtual float artec::sdk::capturing::IScanner::getTextureIllumination ( ) const
pure virtual

Get parameters that are needed for texture brightness normalization.

Returns
Texture flash power coefficient at a distance of 1000mm (This corresponds approximately to the white plain intensity.)
virtual const artec::sdk::base::Matrix3x4D& artec::sdk::capturing::IScanner::getTextureMappingMatrix ( ) const
pure virtual

Get matrix for texture mapping.

Pass it in the data-processor mapTexture() function.

Returns
Reference to the texture mapping matrix.
virtual float artec::sdk::capturing::IScanner::getTextureShutterSpeed ( ) const
pure virtual

Get texture camera shutter speed (exposure time).

Returns
Shutter speed in milliseconds.
virtual float artec::sdk::capturing::IScanner::getTextureTriggerDelay ( ) const
pure virtual

Get external synchronization trigger delay for texture camera.

Returns
delay Delay in milliseconds.
virtual bool artec::sdk::capturing::IScanner::getTextureUseHwTrigger ( ) const
pure virtual

Get status of the texture camera synchronization trigger.

Returns
True when synchronization is enabled, false in other cases.
virtual float artec::sdk::capturing::IScanner::getTriggerDelay ( ) const
pure virtual

Get external synchronization trigger delay.

Returns
Trigger delay in milliseconds.
virtual bool artec::sdk::capturing::IScanner::getUseHwTrigger ( ) const
pure virtual

Get status of the external synchronization scanner trigger.

Returns
True when synchronization is enabled, false in other cases.
virtual ErrorCode artec::sdk::capturing::IScanner::initFrameProcessorDesc ( FrameProcessorDesc desc)
pure virtual

Initialize FrameProcessor settings with the default values.

Parameters
descFill desc with the default processing parameters.
virtual bool artec::sdk::capturing::IScanner::isAutoExposureEnabled ( ) const
pure virtual

Get autoexposure state.

Returns
True if autoexposure is enabled, false in other cases.
virtual bool artec::sdk::capturing::IScanner::isAutoWhiteBalanceEnabled ( ) const
pure virtual

Get state of auto white balance.

Returns
True if auto auto white balance is enabled, false in other cases.
virtual bool artec::sdk::capturing::IScanner::isFlashEnabled ( ) const
pure virtual

Get geometry camera flash bulb state.

Returns
The true value stands for enabled flash, false for disabled.
virtual bool artec::sdk::capturing::IScanner::isTextureFlashEnabled ( ) const
pure virtual

Get texture camera flash bulb state.

Returns
The true value stands for enabled flash, false for disabled.
virtual ErrorCode artec::sdk::capturing::IScanner::retrieveFrame ( IFrame **  frame,
bool  captureTexture 
)
pure virtual

Retrieve captured frame.

It's not a thread-safe function.

Parameters
frameCaptured frame.
captureTextureIf the value is true, texture will be retrieved as well.
virtual void artec::sdk::capturing::IScanner::setFlashDelay ( float  vl)
pure virtual

Set flash delay.

Parameters
vlFlash delay to set (in milliseconds).
virtual void artec::sdk::capturing::IScanner::setFPS ( float  fps)
pure virtual

Set the required scanning speed (in FPS).

Parameters
fpsFPS (frames per second) value.
virtual ErrorCode artec::sdk::capturing::IScanner::setObserver ( IScannerObserver handler)
pure virtual

Set scanner event handler.

Parameters
handlerPointer to the scanner event handler.
virtual void artec::sdk::capturing::IScanner::setScannerIndex ( int  newIndex)
pure virtual

Set scanner index in the bundle.

Parameters
newIndexScanner index in the bundle.
virtual ErrorCode artec::sdk::capturing::IScanner::setScannerSynchronization ( IScannerSynchronization *  sync)
pure virtual

Set scanner bundle synchronization interface.

Parameters
syncIScannerSynchronization interface created using the createScannerSynchronization function. Set NULL for disabled synchronization.
virtual void artec::sdk::capturing::IScanner::setTextureGain ( float  gain)
pure virtual

Set texture gain value.

Parameters
gainTexture gain value.
virtual void artec::sdk::capturing::IScanner::setTextureShutterSpeed ( float  vl)
pure virtual

Set texture camera shutter speed (exposure time).

Parameters
vlExposure time in milliseconds.
virtual void artec::sdk::capturing::IScanner::setTextureTriggerDelay ( float  delay)
pure virtual

Set external synchronization trigger delay for texture camera.

Parameters
delayDelay in milliseconds.
virtual void artec::sdk::capturing::IScanner::setTextureUseHwTrigger ( bool  vl)
pure virtual

Enable/Disable texture camera trigger to synchronize texture and depth.

Parameters
vlTrue for enabled synchronization, false for disabled.
virtual void artec::sdk::capturing::IScanner::setTriggerDelay ( float  delay)
pure virtual

Set external synchronization trigger delay.

Parameters
delayTrigger delay in milliseconds.
virtual void artec::sdk::capturing::IScanner::setUseHwTrigger ( bool  vl)
pure virtual

Enable/Disable scanner trigger for external synchronization.

Parameters
vlThe true value stands for enabled synchronization, false for disabled.

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