FlowEngine 7.517
Photogrammetry Software Development Kit
Loading...
Searching...
No Matches
FlowEngine::CamerasLoaderInterface Class Referenceabstract

Utility class to load and setup cameras from a specific folder. More...

#include <CamerasLoaderInterface.h>

Public Member Functions

virtual FLE_DLL ~CamerasLoaderInterface ()=default
 Default virtual destructor.
 
virtual FLE_DLL Size getImageCount (ConstStringBuffer directoryPath, bool recursive=true) const =0
 
virtual FLE_DLL Size getMaskCount (ConstStringBuffer directoryPath, bool recursive=true) const =0
 
virtual FLE_DLL Size getXMPCount (ConstStringBuffer directoryPath, bool recursive=true) const =0
 
virtual FLE_DLL Result loadImages (ConstStringBuffer directoryPath, bool groupCalibrations, Buffer< CameraInterface * > outCameras, bool recursive=true, ProgressBarInterface *progressBar=nullptr) const =0
 
virtual FLE_DLL Result loadImages (Buffer< ConstStringBuffer > imagesPath, bool groupCalibrations, Buffer< CameraInterface * > outCameras, ProgressBarInterface *progressBar=nullptr) const =0
 
virtual FLE_DLL Result loadImagesPaths (ConstStringBuffer directoryPath, Buffer< CameraInterface * > outCameras, bool recursive=true) const =0
 
virtual FLE_DLL Result loadImagesPaths (Buffer< ConstStringBuffer > imagesPath, Buffer< CameraInterface * > outCameras) const =0
 
virtual FLE_DLL Result loadMasks (ConstStringBuffer directoryPath, const SettingsInterface &settings, Buffer< CameraInterface * > outCameras, bool recursive=true) const =0
 
virtual FLE_DLL Result loadMasks (Buffer< ConstStringBuffer > masksPaths, const SettingsInterface &settings, Buffer< CameraInterface * > outCameras) const =0
 
virtual FLE_DLL Result loadXMP (ConstStringBuffer directoryPath, Buffer< CameraInterface * > outCameras, bool recursive=true) const =0
 
virtual FLE_DLL Result loadXMP (Buffer< ConstStringBuffer > filePaths, Buffer< CameraInterface * > outCameras) const =0
 
virtual FLE_DLL Result loadGPSfromExif (ConstStringBuffer directoryPath, Buffer< Point3 > outGPS, bool recursive=true, ProgressBarInterface *progressBar=nullptr) const =0
 
virtual FLE_DLL Result loadGPSfromExif (Buffer< ConstStringBuffer > imagesPath, Buffer< Point3 > outGPS, ProgressBarInterface *progressBar=nullptr) const =0
 
virtual FLE_DLL Result fetchCalibrationsFrom3DFServer (Buffer< CameraInterface * > outCameras, LogListenerInterface &logListener) const =0
 

Detailed Description

Utility class to load and setup cameras from a specific folder.

This class will optionally setup also cameras parameters from XMP and BIM masks files when available.

Constructor & Destructor Documentation

◆ ~CamerasLoaderInterface()

virtual FLE_DLL FlowEngine::CamerasLoaderInterface::~CamerasLoaderInterface ( )
virtualdefault

Default virtual destructor.

Member Function Documentation

◆ fetchCalibrationsFrom3DFServer()

virtual FLE_DLL Result FlowEngine::CamerasLoaderInterface::fetchCalibrationsFrom3DFServer ( Buffer< CameraInterface * >  outCameras,
LogListenerInterface logListener 
) const
pure virtual

Load the camera calibrations from the 3Dflow server. This feature is not available in the Free version of FlowEngine.

Parameters
[in,out]outCamerasa buffer of initialized CameraInterface objects that will be filled with the calibrations parameters.
[in]logListenerthe log listener interface to write the log information.
Returns
One of the following result codes:

◆ getImageCount()

virtual FLE_DLL Size FlowEngine::CamerasLoaderInterface::getImageCount ( ConstStringBuffer  directoryPath,
bool  recursive = true 
) const
pure virtual
Returns
the number of images available in the specific folder
Parameters
[in]directoryPathpointer to a string that receives UTF-8 directory path
[in]recursiveset to true to make a recursive sub folder search

◆ getMaskCount()

virtual FLE_DLL Size FlowEngine::CamerasLoaderInterface::getMaskCount ( ConstStringBuffer  directoryPath,
bool  recursive = true 
) const
pure virtual
Returns
the number of masks file available in the specific folder
Parameters
[in]directoryPathpointer to a string that receives UTF-8 directory path
[in]recursiveset to true to make a recursive sub folder search

◆ getXMPCount()

virtual FLE_DLL Size FlowEngine::CamerasLoaderInterface::getXMPCount ( ConstStringBuffer  directoryPath,
bool  recursive = true 
) const
pure virtual
Returns
the number of XMP files in the current folder
Parameters
[in]directoryPathpointer to a string that receives UTF-8 directory path
[in]recursiveset to true to make a recursive sub folder search

◆ loadGPSfromExif() [1/2]

virtual FLE_DLL Result FlowEngine::CamerasLoaderInterface::loadGPSfromExif ( Buffer< ConstStringBuffer imagesPath,
Buffer< Point3 outGPS,
ProgressBarInterface progressBar = nullptr 
) const
pure virtual

Load xmp parameters from a list of absolute or relative paths.

Parameters
[in]imagesPathbuffer of string buffers each with a UTF-8 encoded path to an xmp file.
[in,out]outGPSa buffer of initialized Point3. If the image doesn't contain any gps information, the value is set to NaN.
[in]progressBar(optional) a pointer to a ProgressBar that receives progress updates
Returns
One of the following result codes:
  • Result::Success – if all the xmp files were loaded successfully.
  • Result::InvalidArgument
    • if filePaths is not a valid buffer of string buffers.
    • if any buffer in filePaths is not a valid string buffer.
  • Result::BufferTooSmall – if outGPS size is smaller than the number of xmp files.
  • Result::GenericIOError – if at least one image file cannot be found. Please note that if the file is found and doesn't contain exif data, the relative outGPS value will be set to NaN
See also
CamerasLoaderInterface::loadXMP.

◆ loadGPSfromExif() [2/2]

virtual FLE_DLL Result FlowEngine::CamerasLoaderInterface::loadGPSfromExif ( ConstStringBuffer  directoryPath,
Buffer< Point3 outGPS,
bool  recursive = true,
ProgressBarInterface progressBar = nullptr 
) const
pure virtual

Load gps (latitude, longitude, altitude) parameters from a folder and fill the passed in outGPS.

Parameters
[in]directoryPathbuffer containing the path of the folder containing the images
[in,out]outGPSa buffer of initialized Point3. If the image doesn't contain any gps information, the value is set to NaN.
[in]recursiveset to true to make a recursive sub folder search
[in]progressBar(optional) a pointer to a ProgressBar that receives progress updates
Returns
One of the following result codes:

◆ loadImages() [1/2]

virtual FLE_DLL Result FlowEngine::CamerasLoaderInterface::loadImages ( Buffer< ConstStringBuffer imagesPath,
bool  groupCalibrations,
Buffer< CameraInterface * >  outCameras,
ProgressBarInterface progressBar = nullptr 
) const
pure virtual

Load images from a list of absolute or relative paths. This method will also create and initialize camera calibrations. This method won't keep the previous frame when setting a new path.

Parameters
[in]imagesPathbuffer of string buffers each containing an UTF-8 encoded path to an image.
[in]groupCalibrationswhen true, cameras with the same calibration will be grouped together (i.e. will point to the same calibration objhect), otherwise each camera will have its own (possibly duplicated) calibration.
[in,out]outCamerasa buffer of initialized CameraInterface objects that will be filled with image information. Buffer length must be equal to imagesPath length.
[in]progressBar(optional) a pointer to a ProgressBar that receives progress updates
See also
loadImages, CameraInterface::loadImage

◆ loadImages() [2/2]

virtual FLE_DLL Result FlowEngine::CamerasLoaderInterface::loadImages ( ConstStringBuffer  directoryPath,
bool  groupCalibrations,
Buffer< CameraInterface * >  outCameras,
bool  recursive = true,
ProgressBarInterface progressBar = nullptr 
) const
pure virtual

Load images from a folder and fill the passed-in cameras. This method will also create and initialize camera calibrations. This method won't keep the previous frame when setting a new path.

Parameters
[in]directoryPathstring buffer containing the UTF-8 encoded path to the folder containing the images.
[in]groupCalibrationswhen true, cameras with the same calibration will be grouped together (i.e. will point to the same calibration object), otherwise each camera will have its own (possibly duplicated) calibration.
[in,out]outCamerasa buffer of initialized CameraInterface objects that will be filled with image information.
[in]recursiveset to true to make a recursive sub folder search
[in]progressBar(optional) a pointer to a ProgressBar that receives progress updates
Returns
One of the following result codes:
See also
CameraInterface::loadImage

◆ loadImagesPaths() [1/2]

virtual FLE_DLL Result FlowEngine::CamerasLoaderInterface::loadImagesPaths ( Buffer< ConstStringBuffer imagesPath,
Buffer< CameraInterface * >  outCameras 
) const
pure virtual

Load images from a list of absolute or relative paths. This method won't create any camera calibration. It should be called when reusing an already set calibration. This method will keep the previous frame when setting a new path, please look at CameraInterface::loadImage for further details.

Parameters
[in]imagesPathbuffer of string buffers containing the image paths.
[in,out]outCamerasa buffer of initialized CameraInterface objects that will be filled with image information. Buffer length must be equal to imagesPath length.
Returns
One of the following result codes:
See also
CamerasLoaderInterface::loadImagesPaths.

◆ loadImagesPaths() [2/2]

virtual FLE_DLL Result FlowEngine::CamerasLoaderInterface::loadImagesPaths ( ConstStringBuffer  directoryPath,
Buffer< CameraInterface * >  outCameras,
bool  recursive = true 
) const
pure virtual

Load images from a list of absolute or relative paths. This method won't create any camera calibration. It should be called when reusing an already set calibration. This method will keep the previous frame when setting a new path. Please look at CameraInterface::loadImage for further details.

Parameters
[in]directoryPathstring buffer containing the UTF-8 encoded path to the folder containing the images.
[in,out]outCamerasa buffer of initialized CameraInterface objects that will be filled with image information. Buffer length must be equal to imagesPath length.
[in]recursiveset to true to make a recursive sub folder search
Returns
One of the following result codes:

◆ loadMasks() [1/2]

virtual FLE_DLL Result FlowEngine::CamerasLoaderInterface::loadMasks ( Buffer< ConstStringBuffer masksPaths,
const SettingsInterface settings,
Buffer< CameraInterface * >  outCameras 
) const
pure virtual

Load masks from a list of absolute or relative paths and fill the passed in cameras with that information.

Parameters
[in]masksPathsbuffer of string buffers each containing a UTF-8 encoded path to a mask file.
[in]settingsthe settings that will be queried for configuration parameters.
[in,out]outCamerasa buffer of initialized CameraInterface objects that will be filled with the mask information
Returns
One of the following result codes:
See also
CamerasLoaderInterface::loadMasks.

◆ loadMasks() [2/2]

virtual FLE_DLL Result FlowEngine::CamerasLoaderInterface::loadMasks ( ConstStringBuffer  directoryPath,
const SettingsInterface settings,
Buffer< CameraInterface * >  outCameras,
bool  recursive = true 
) const
pure virtual

Load masks from a folder and fill the passed in cameras with that information.

Parameters
[in]directoryPathstring buffer containing the UTF-8 path to the folder containing the masks.
[in]settingsthe settings that will be queried for configuration parameters.
[in,out]outCamerasa buffer of initialized CameraInterface objects that will be filled with the mask information.
[in]recursiveset to true to make a recursive sub folder search
Returns
One of the following result codes:

◆ loadXMP() [1/2]

virtual FLE_DLL Result FlowEngine::CamerasLoaderInterface::loadXMP ( Buffer< ConstStringBuffer filePaths,
Buffer< CameraInterface * >  outCameras 
) const
pure virtual

Load xmp parameters from a list of absolute or relative paths.

Parameters
[in]filePathsbuffer of string buffers each with a UTF-8 encoded path to an xmp file.
[in,out]outCamerasa buffer of initialized CameraInterface objects that will be filled with the parameters from the xmp file.
Returns
One of the following result codes:
See also
CamerasLoaderInterface::loadXMP.

◆ loadXMP() [2/2]

virtual FLE_DLL Result FlowEngine::CamerasLoaderInterface::loadXMP ( ConstStringBuffer  directoryPath,
Buffer< CameraInterface * >  outCameras,
bool  recursive = true 
) const
pure virtual

Load xmp parameters from a folder and fill the passed in cameras.

Parameters
[in]directoryPathbuffer containing the path of the folder containing the images
[in,out]outCamerasa buffer of initialized CameraInterface objects that will be filled with the parameters from the xmp file.
[in]recursiveset to true to make a recursive sub folder search
Returns
One of the following result codes: