117 lines
5.1 KiB
C
117 lines
5.1 KiB
C
/*****************************************************************************
|
|
* HInstance.h
|
|
*****************************************************************************
|
|
*
|
|
* Project: HALCON/HLib
|
|
* Description: handling of HALCON operator instances and HALCON threads;
|
|
* provides procedural access to global context variables;
|
|
*
|
|
* (c) 1996-2018 by MVTec Software GmbH
|
|
* www.mvtec.com
|
|
*
|
|
*****************************************************************************/
|
|
|
|
|
|
#ifndef HINSTANCE_H
|
|
#define HINSTANCE_H
|
|
|
|
|
|
#if defined(__cplusplus)
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
#include "hlib/HInstanceDefines.h"
|
|
|
|
|
|
/* HALCON library already initialized? */
|
|
extern HLibExport HBOOL IsInitHlib(void);
|
|
/* HAccessGlVar - access to global HALCON context variables */
|
|
extern HLibExport Herror HAccessGlVar(Hproc_handle proc_handle, HINT element,
|
|
HBYTE to_do, VOIDP r_value,
|
|
double w_value, char *w_string,
|
|
Hkey w_key, INT4_8 index);
|
|
/* HCheckInpObjNum - check whether specified object number is in range */
|
|
extern HLibExport HBOOL HCheckInpObjNum(Hproc_handle proc_handle,HINT par_num,
|
|
INT4_8 obj_num);
|
|
extern HLibExport HBOOL HCheckObjNum(Hproc_handle proc_handle,HINT par_num,
|
|
INT4_8 obj_num);
|
|
extern HLibExport HBOOL HCheckOutpObjNum(Hproc_handle proc_handle,
|
|
HINT par_num, INT4_8 obj_num);
|
|
extern HLibExport Hproc_handle HTSProcHandle(void);
|
|
extern HLibExport Hproc_handle HTSHProcIndepend(HINT op_id);
|
|
|
|
extern HLibExport void *HCreateTSPSysInfoHandle( void);
|
|
extern HLibExport Herror HPushTSPSysInfoHandle( void* handle);
|
|
extern HLibExport void *HPopTSPSysInfoHandle( void);
|
|
extern HLibExport Herror HClearTSPSysInfoHandle( void* handle);
|
|
|
|
/* HGetHProc - get a thread specific HALCON operator call instance (no full use) */
|
|
extern HLibExport Herror HGetHProc(INT4 proc_index, Hproc_handle *ph);
|
|
/* HPutHProc - return a thread specific HALCON operator call instance to Core*/
|
|
extern HLibExport Herror HPutHProc(Hproc_handle proc_handle);
|
|
/* HGetRecHProc - get a thread specific HALCON operator call instance, able
|
|
* to handle recursive calls (no full use) */
|
|
extern HLibExport Herror HGetRecHProc(INT4 proc_index, Hproc_handle *ph);
|
|
/* HPutRecHProc - return a thread specific (recursiveable) HALCON operator
|
|
* call instance */
|
|
extern HLibExport Herror HPutRecHProc(Hproc_handle proc_handle);
|
|
/* HPutRecHProcErr - return a thread specific (recursiveable) HALCON operator
|
|
* call instance, where the operator returned with the given error */
|
|
extern HLibExport Herror HPutRecHProcErr(Hproc_handle ph, Herror err);
|
|
/* HCreateHProc - create a new HALCON operator call instance */
|
|
extern HLibExport Herror HCreateHProc(INT4 current_idx,
|
|
Hproc_handle *proc_handle);
|
|
/* HDeleteHProc - delete a HALCON operator call instance */
|
|
extern HLibExport Herror HDeleteHProc(Hproc_handle proc_handle,HBOOL last,
|
|
Herror proc_result);
|
|
|
|
extern HLibExport HBOOL HOpIdIsValid(HINT opid);
|
|
|
|
extern HLibExport HINT HGVGet_NumSysOp( void);/* number of system operators*/
|
|
extern HLibExport HINT HGVGet_NumOp(void); /* total number of operators */
|
|
extern HLibExport char const *HGVGet_Language(void);
|
|
extern HLibExport HINT HGVGet_locale_filename_encoding(void);
|
|
extern HLibExport HBOOL HGVGet_CPUFeature(HINT feature);
|
|
extern HLibExport INT4_8 HGVGet_CPUCache(HINT level);
|
|
|
|
extern HLibExport char const *HOIGet_InpCtrlParType(HINT opid);
|
|
extern HLibExport char const *HOIGet_OutpCtrlParType(HINT opid);
|
|
|
|
extern HLibExport HINT HOIGet_NumInpCtrlPar(HINT opid);
|
|
extern HLibExport HINT HOIGet_NumOutpCtrlPar(HINT opid);
|
|
extern HLibExport HINT HOIGet_NumInpObjPar(HINT opid);
|
|
extern HLibExport HINT HOIGet_NumOutpObjPar(HINT opid);
|
|
extern HLibExport char const *HOIGet_LogicalName(HINT opid);
|
|
|
|
extern HLibExport HINT HPHGet_NumInpCtrlPar(Hproc_handle ph);
|
|
extern HLibExport HINT HPHGet_NumOutpCtrlPar(Hproc_handle ph);
|
|
extern HLibExport HINT HPHGet_NumInpObjPar(Hproc_handle ph);
|
|
extern HLibExport HINT HPHGet_NumOutpObjPar(Hproc_handle ph);
|
|
extern HLibExport INT4 HPHGet_proc_index(Hproc_handle ph);
|
|
extern HLibExport const char *HPHGet_LogicalName(Hproc_handle ph);
|
|
extern HLibExport INT4 HPHGet_check(Hproc_handle ph);
|
|
extern HLibExport INT4_8 HPHGet_PreviousMaxAlloc(Hproc_handle ph);
|
|
|
|
/* HSetAllFreeOCP - set freeing flag of all outp. ctrl.parameters */
|
|
extern HLibExport void HSetAllFreeOCP(Hproc_handle ph);
|
|
|
|
extern HBOOL HGetInstanceMemCacheMode (void);
|
|
extern Herror HSetInstanceMemCacheMode (Hproc_handle ph, HBOOL mode );
|
|
|
|
/* HProcSetStop sets a stop-flag for all running operator instances
|
|
* (asynchonously). Opertors supporting this flag will break execution and
|
|
* return (without an error) */
|
|
extern HLibExport Herror HProcSetStop(HINT mode);
|
|
|
|
/* HProcBreak sets a beak flag for all running operator instances
|
|
* (asynchonously) */
|
|
extern HLibExport Herror HProcBreak(void);
|
|
|
|
#if defined(__cplusplus)
|
|
}
|
|
#endif
|
|
|
|
|
|
#endif
|