208 lines
8 KiB
C
208 lines
8 KiB
C
/* COPYRIGHT AND CONFIDENTIALITY NOTICE
|
|
* SONY DEPTHSENSING SOLUTIONS CONFIDENTIAL INFORMATION
|
|
*
|
|
* All rights reserved to Sony Depthsensing Solutions SA/NV, a
|
|
* company incorporated and existing under the laws of Belgium, with
|
|
* its principal place of business at Boulevard de la Plainelaan 11,
|
|
* 1050 Brussels (Belgium), registered with the Crossroads bank for
|
|
* enterprises under company number 0811 784 189
|
|
*
|
|
* This file is part of the HumanTracking SDK, which is proprietary
|
|
* and confidential information of Sony Depthsensing Solutions SA/NV.
|
|
*
|
|
* Copyright (c) 2002-2019 Sony Depthsensing Solutions SA/NV
|
|
*/
|
|
|
|
/**
|
|
* \file HumanTrackingCAPI.h
|
|
* \brief Declaration of the Human Tracking Library auxiliary options API
|
|
*/
|
|
|
|
#ifndef HUMANTRACKING_CAPI_OPTIONS_H
|
|
#define HUMANTRACKING_CAPI_OPTIONS_H
|
|
|
|
#include "HumanTrackingPlatform.h"
|
|
#include "HumanTrackingCTypes.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif // __cplusplus
|
|
|
|
/**
|
|
* \defgroup HTOpApi Human Tracking Library options API functions
|
|
* @{
|
|
*/
|
|
|
|
/*************************************************************************
|
|
* Calibration *
|
|
*************************************************************************/
|
|
|
|
/**
|
|
* \brief Set the calibration mode.
|
|
* <p>
|
|
* This function allows to override the calibration of the library. The default value
|
|
* is <code>AUTOMATIC</code>. If the calibration is set to <code>MANUAL</code> then the
|
|
* call to this functions must be followed by a call to <code>humanTracking_option_forceCalibrationMatrix()</code>.
|
|
* </p>
|
|
*
|
|
* \param[in] handle HTLib handle returned by <code>humanTracking_init()</code>.
|
|
* \param[in] calibrationMode calibration mode.
|
|
*
|
|
* \return always returns <code>HT_NO_ERROR</code>.
|
|
*
|
|
*/
|
|
HT_DLL_API HT_ErrorType HT_SDK_CDECL humanTracking_option_setCalibrationMode (HT_Handle handle, HT_CalibrationMode calibrationMode);
|
|
|
|
/**
|
|
* \brief Indicate whether calibration is available or not.
|
|
*
|
|
* \param[in] handle HTLib handle returned by <code>humanTracking_init()</code>.
|
|
* \param[out] isCalibrationAvailable true if the calibration is available or false otherwise.
|
|
*
|
|
* \return always returns <code>HT_NO_ERROR</code>.
|
|
*
|
|
*/
|
|
HT_DLL_API HT_ErrorType HT_SDK_CDECL humanTracking_option_isCalibrationAvailable (HT_Handle handle, bool* isCalibrationAvailable);
|
|
|
|
/**
|
|
* \brief Get the current calibration matrix.
|
|
*
|
|
* The matrix represents the transformation from Camera space to the World space (default).
|
|
*
|
|
* \param[in] handle HTLib handle returned by <code>humanTracking_init()</code>.
|
|
* \param[out] matrix calibration matrix corresponding to the current calibration.
|
|
* \param[in] calibrationSpace coordinates space (default is Camera space to World space transformation).
|
|
*
|
|
* \return always returns <code>HT_NO_ERROR</code>.
|
|
*
|
|
* \remark the matrix object is user allocated and its memory should be managed accordingly
|
|
*/
|
|
HT_DLL_API HT_ErrorType HT_SDK_CDECL humanTracking_option_getCalibrationMatrix (HT_Handle handle, HT_Matrix4* matrix, HT_CalibrationSpace calibrationSpace = CAMERA_TO_WORLD);
|
|
|
|
/**
|
|
* \brief Force the calibration matrix to a specific value.
|
|
*
|
|
* The matrix represents the transformation matrix, The default is from Camera space to the World space.
|
|
*
|
|
* \warning This method applies only when the calibration mode has the value 'MANUAL'.
|
|
* see <code>humanTracking_option_setCalibrationMode()</code> function.
|
|
*
|
|
* \param[in] handle HTLib handle returned by <code>humanTracking_init()</code>.
|
|
* \param[out] matrix calibration matrix to force the calibration to.
|
|
*
|
|
* \return an error status:
|
|
* <ul><li> \c HT_NO_ERROR - no errors occurred </li>
|
|
* <li> \c HT_CALIBRATION_EDITING_ERROR - if the calibration mode was not set previously to *MANUAL* </li></ul>
|
|
*
|
|
* \remark the matrix object is user allocated and its memory should be managed accordingly
|
|
*/
|
|
HT_DLL_API HT_ErrorType HT_SDK_CDECL humanTracking_option_forceCalibrationMatrix (HT_Handle handle, HT_Matrix4* matrix);
|
|
|
|
|
|
/*************************************************************************
|
|
* UTILITIES *
|
|
*************************************************************************/
|
|
|
|
|
|
/**
|
|
* \brief Enable/disable the logger.
|
|
*
|
|
* \param[in] enable Boolean that enables/disables the logger.
|
|
*
|
|
* \return always returns <code>HT_NO_ERROR</code>.
|
|
*/
|
|
HT_DLL_API HT_ErrorType HT_SDK_CDECL humanTracking_option_enableLogging (bool enable);
|
|
|
|
|
|
/**
|
|
* \brief Set the listener to listen to logging events.
|
|
*
|
|
* The user-defined callback is provided with the log messages as a char*.
|
|
*
|
|
* \param[in] loggingListener callback function which will receive the log info.
|
|
*
|
|
* \return always returns <code>HT_NO_ERROR</code>.
|
|
*/
|
|
HT_DLL_API HT_ErrorType HT_SDK_CDECL humanTracking_option_setLoggingListener (HT_LoggingListener loggingListener);
|
|
|
|
/**
|
|
* \brief Lock scene calibration.
|
|
*
|
|
* The function locks the current scene calibration - no recalibration due to
|
|
* changes in the scene and no reset operations will be performed (including the reset
|
|
* of all HTLib internal layers upon detection of bad conditions in the scene
|
|
* @see <code>humanTracking_option_disableAutomaticSceneReset()</code>).
|
|
* <strong>Note:</strong> The only recalibration allowed is when the camera has been
|
|
* moved.
|
|
*
|
|
* \param[in] handle HTLib handle returned by <code>humanTracking_init()</code>.
|
|
*
|
|
* \return always returns <code>HT_NO_ERROR</code>.
|
|
*/
|
|
HT_DLL_API HT_ErrorType HT_SDK_CDECL humanTracking_option_lockSceneCalibration (HT_Handle handle);
|
|
|
|
/**
|
|
* \brief Unlock scene calibration.
|
|
*
|
|
* The function unlocks the calibration and the reset operations for the scene
|
|
* (including the reset of all HTLib internal layers upon detection
|
|
* of bad conditions in the scene @see <code>humanTracking_option_enableAutomaticSceneReset()</code>).
|
|
*
|
|
* \param[in] handle HTLib handle returned by <code>humanTracking_init()</code>.
|
|
*
|
|
* \return always returns <code>HT_NO_ERROR</code>.
|
|
*/
|
|
HT_DLL_API HT_ErrorType HT_SDK_CDECL humanTracking_option_unlockSceneCalibration (HT_Handle handle);
|
|
|
|
|
|
/*************************************************************************
|
|
* PARAMETERS *
|
|
*************************************************************************/
|
|
|
|
|
|
/**
|
|
* \brief Set the timeout for the reset of the signature of an *inactive* user.
|
|
*
|
|
* \param[in] handle HTLib handle returned by <code>humanTracking_init()</code>.
|
|
* \param[in] userSignatureResetTimeOut the reset timeout in *micorseconds*.
|
|
*
|
|
* \return always returns <code>HT_NO_ERROR</code>.
|
|
*/
|
|
HT_DLL_API HT_ErrorType HT_SDK_CDECL humanTracking_option_setUserSignatureResetTimeout (HT_Handle handle, uint64_t userSignatureResetTimeOut);
|
|
|
|
/**
|
|
* \brief Enable automatic scene reset.
|
|
*
|
|
* The function enables the reset of all HTLib internal layers upon detection
|
|
* of bad conditions in the scene - e.g. sudden change in illumination conditions,
|
|
* frames too far apart in time from each other.
|
|
*
|
|
* \param[in] handle HTLib handle returned by <code>humanTracking_init()</code>.
|
|
*
|
|
* \return always returns <code>HT_NO_ERROR</code>.
|
|
*/
|
|
HT_DLL_API HT_ErrorType HT_SDK_CDECL humanTracking_option_enableAutomaticSceneReset (HT_Handle handle);
|
|
|
|
/**
|
|
* \brief Disable automatic scene reset.
|
|
*
|
|
* The function disables the reset of all HTLib internal layers upon detection
|
|
* of bad conditions in the scene - e.g. sudden change in illumination conditions,
|
|
* frames too far apart in time from each other. Note that the user has to account
|
|
* himself for the after mentioned type of conditions and appropriately call
|
|
* <code>humanTracking_reset()</code>, otherwise the tracking quality might degrade.
|
|
*
|
|
* \param[in] handle HTLib handle returned by <code>humanTracking_init()</code>.
|
|
*
|
|
* \return always returns <code>HT_NO_ERROR</code>.
|
|
*/
|
|
HT_DLL_API HT_ErrorType HT_SDK_CDECL humanTracking_option_disableAutomaticSceneReset (HT_Handle handle);
|
|
|
|
/** @} */ // end group HTOpApi
|
|
|
|
#ifdef __cplusplus
|
|
} // extern C
|
|
#endif // __cplusplus
|
|
|
|
|
|
#endif // HUMANTRACKING_CAPI_OPTIONS_H
|