HSystem.h 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. /***********************************************************
  2. * File generated by the HALCON-Compiler hcomp version 20.11
  3. * Usage: Interface to C++
  4. *
  5. * Software by: MVTec Software GmbH, www.mvtec.com
  6. ***********************************************************/
  7. #ifndef HCPP_HSYSTEM
  8. #define HCPP_HSYSTEM
  9. namespace HalconCpp
  10. {
  11. // Class grouping system information and manipulation related functionality.
  12. class LIntExport HSystem
  13. {
  14. public:
  15. /***************************************************************************
  16. * Operators *
  17. ***************************************************************************/
  18. // Delaying the execution of the program.
  19. static void WaitSeconds(double Seconds);
  20. // Execute a system command.
  21. static void SystemCall(const HString& Command);
  22. // Execute a system command.
  23. static void SystemCall(const char* Command);
  24. #ifdef _WIN32
  25. // Execute a system command.
  26. static void SystemCall(const wchar_t* Command);
  27. #endif
  28. // Set HALCON system parameters.
  29. static void SetSystem(const HTuple& SystemParameter, const HTuple& Value);
  30. // Set HALCON system parameters.
  31. static void SetSystem(const HString& SystemParameter, const HString& Value);
  32. // Set HALCON system parameters.
  33. static void SetSystem(const char* SystemParameter, const char* Value);
  34. #ifdef _WIN32
  35. // Set HALCON system parameters.
  36. static void SetSystem(const wchar_t* SystemParameter, const wchar_t* Value);
  37. #endif
  38. // Activating and deactivating of HALCON control modes.
  39. static void SetCheck(const HTuple& Check);
  40. // Activating and deactivating of HALCON control modes.
  41. static void SetCheck(const HString& Check);
  42. // Activating and deactivating of HALCON control modes.
  43. static void SetCheck(const char* Check);
  44. #ifdef _WIN32
  45. // Activating and deactivating of HALCON control modes.
  46. static void SetCheck(const wchar_t* Check);
  47. #endif
  48. // Reset the HALCON system for iconic objects.
  49. static void ResetObjDb(Hlong DefaultImageWidth, Hlong DefaultImageHeight, Hlong DefaultChannels);
  50. // Get current value of HALCON system parameters.
  51. static HTuple GetSystem(const HTuple& Query);
  52. // Get current value of HALCON system parameters.
  53. static HTuple GetSystem(const HString& Query);
  54. // Get current value of HALCON system parameters.
  55. static HTuple GetSystem(const char* Query);
  56. #ifdef _WIN32
  57. // Get current value of HALCON system parameters.
  58. static HTuple GetSystem(const wchar_t* Query);
  59. #endif
  60. // State of the HALCON control modes.
  61. static HTuple GetCheck();
  62. // Inquiry after the error text of a HALCON error number.
  63. static HString GetErrorText(Hlong ErrorCode);
  64. // Passed Time.
  65. static double CountSeconds();
  66. // Number of entries in the HALCON database.
  67. static Hlong CountRelation(const HString& RelationName);
  68. // Number of entries in the HALCON database.
  69. static Hlong CountRelation(const char* RelationName);
  70. #ifdef _WIN32
  71. // Number of entries in the HALCON database.
  72. static Hlong CountRelation(const wchar_t* RelationName);
  73. #endif
  74. // Returns the extended error information for the calling thread's last HALCON error.
  75. static HString GetExtendedErrorInfo(Hlong* ErrorCode, HString* ErrorMessage);
  76. // Query of used modules and the module key.
  77. static HTuple GetModules(Hlong* ModuleKey);
  78. // Inquiring for possible settings of the HALCON debugging tool.
  79. static HTuple QuerySpy(HTuple* Values);
  80. // Control of the HALCON Debugging Tools.
  81. static void SetSpy(const HString& Class, const HTuple& Value);
  82. // Control of the HALCON Debugging Tools.
  83. static void SetSpy(const HString& Class, const HString& Value);
  84. // Control of the HALCON Debugging Tools.
  85. static void SetSpy(const char* Class, const char* Value);
  86. #ifdef _WIN32
  87. // Control of the HALCON Debugging Tools.
  88. static void SetSpy(const wchar_t* Class, const wchar_t* Value);
  89. #endif
  90. // Current configuration of the HALCON debugging-tool.
  91. static HTuple GetSpy(const HString& Class);
  92. // Current configuration of the HALCON debugging-tool.
  93. static HTuple GetSpy(const char* Class);
  94. #ifdef _WIN32
  95. // Current configuration of the HALCON debugging-tool.
  96. static HTuple GetSpy(const wchar_t* Class);
  97. #endif
  98. // Set AOP information for operators.
  99. static void SetAopInfo(const HTuple& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const HString& InfoName, const HTuple& InfoValue);
  100. // Set AOP information for operators.
  101. static void SetAopInfo(const HString& OperatorName, const HString& IndexName, const HString& IndexValue, const HString& InfoName, Hlong InfoValue);
  102. // Set AOP information for operators.
  103. static void SetAopInfo(const char* OperatorName, const char* IndexName, const char* IndexValue, const char* InfoName, Hlong InfoValue);
  104. #ifdef _WIN32
  105. // Set AOP information for operators.
  106. static void SetAopInfo(const wchar_t* OperatorName, const wchar_t* IndexName, const wchar_t* IndexValue, const wchar_t* InfoName, Hlong InfoValue);
  107. #endif
  108. // Return AOP information for operators.
  109. static HTuple GetAopInfo(const HTuple& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const HString& InfoName);
  110. // Return AOP information for operators.
  111. static HString GetAopInfo(const HString& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const HString& InfoName);
  112. // Return AOP information for operators.
  113. static HString GetAopInfo(const char* OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const char* InfoName);
  114. #ifdef _WIN32
  115. // Return AOP information for operators.
  116. static HString GetAopInfo(const wchar_t* OperatorName, const HTuple& IndexName, const HTuple& IndexValue, const wchar_t* InfoName);
  117. #endif
  118. // Query indexing structure of AOP information for operators.
  119. static HTuple QueryAopInfo(const HTuple& OperatorName, const HTuple& IndexName, const HTuple& IndexValue, HTuple* Value);
  120. // Query indexing structure of AOP information for operators.
  121. static HTuple QueryAopInfo(const HString& OperatorName, const HString& IndexName, const HString& IndexValue, HTuple* Value);
  122. // Query indexing structure of AOP information for operators.
  123. static HTuple QueryAopInfo(const char* OperatorName, const char* IndexName, const char* IndexValue, HTuple* Value);
  124. #ifdef _WIN32
  125. // Query indexing structure of AOP information for operators.
  126. static HTuple QueryAopInfo(const wchar_t* OperatorName, const wchar_t* IndexName, const wchar_t* IndexValue, HTuple* Value);
  127. #endif
  128. // Check hardware regarding its potential for automatic operator parallelization.
  129. static void OptimizeAop(const HTuple& OperatorName, const HTuple& IconicType, const HTuple& FileName, const HTuple& GenParamName, const HTuple& GenParamValue);
  130. // Check hardware regarding its potential for automatic operator parallelization.
  131. static void OptimizeAop(const HString& OperatorName, const HString& IconicType, const HString& FileName, const HTuple& GenParamName, const HTuple& GenParamValue);
  132. // Check hardware regarding its potential for automatic operator parallelization.
  133. static void OptimizeAop(const char* OperatorName, const char* IconicType, const char* FileName, const HTuple& GenParamName, const HTuple& GenParamValue);
  134. #ifdef _WIN32
  135. // Check hardware regarding its potential for automatic operator parallelization.
  136. static void OptimizeAop(const wchar_t* OperatorName, const wchar_t* IconicType, const wchar_t* FileName, const HTuple& GenParamName, const HTuple& GenParamValue);
  137. #endif
  138. // Write knowledge about hardware dependent behavior of automatic operator parallelization to file.
  139. static void WriteAopKnowledge(const HString& FileName, const HTuple& GenParamName, const HTuple& GenParamValue);
  140. // Write knowledge about hardware dependent behavior of automatic operator parallelization to file.
  141. static void WriteAopKnowledge(const HString& FileName, const HString& GenParamName, const HString& GenParamValue);
  142. // Write knowledge about hardware dependent behavior of automatic operator parallelization to file.
  143. static void WriteAopKnowledge(const char* FileName, const char* GenParamName, const char* GenParamValue);
  144. #ifdef _WIN32
  145. // Write knowledge about hardware dependent behavior of automatic operator parallelization to file.
  146. static void WriteAopKnowledge(const wchar_t* FileName, const wchar_t* GenParamName, const wchar_t* GenParamValue);
  147. #endif
  148. // Load knowledge about hardware dependent behavior of automatic operator parallelization.
  149. static HTuple ReadAopKnowledge(const HString& FileName, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* OperatorNames);
  150. // Load knowledge about hardware dependent behavior of automatic operator parallelization.
  151. static HTuple ReadAopKnowledge(const HString& FileName, const HString& GenParamName, const HString& GenParamValue, HString* OperatorNames);
  152. // Load knowledge about hardware dependent behavior of automatic operator parallelization.
  153. static HTuple ReadAopKnowledge(const char* FileName, const char* GenParamName, const char* GenParamValue, HString* OperatorNames);
  154. #ifdef _WIN32
  155. // Load knowledge about hardware dependent behavior of automatic operator parallelization.
  156. static HTuple ReadAopKnowledge(const wchar_t* FileName, const wchar_t* GenParamName, const wchar_t* GenParamValue, HString* OperatorNames);
  157. #endif
  158. // Specify a window type.
  159. static void SetWindowType(const HString& WindowType);
  160. // Specify a window type.
  161. static void SetWindowType(const char* WindowType);
  162. #ifdef _WIN32
  163. // Specify a window type.
  164. static void SetWindowType(const wchar_t* WindowType);
  165. #endif
  166. // Get window characteristics.
  167. static HTuple GetWindowAttr(const HString& AttributeName);
  168. // Get window characteristics.
  169. static HTuple GetWindowAttr(const char* AttributeName);
  170. #ifdef _WIN32
  171. // Get window characteristics.
  172. static HTuple GetWindowAttr(const wchar_t* AttributeName);
  173. #endif
  174. // Set window characteristics.
  175. static void SetWindowAttr(const HString& AttributeName, const HTuple& AttributeValue);
  176. // Set window characteristics.
  177. static void SetWindowAttr(const HString& AttributeName, const HString& AttributeValue);
  178. // Set window characteristics.
  179. static void SetWindowAttr(const char* AttributeName, const char* AttributeValue);
  180. #ifdef _WIN32
  181. // Set window characteristics.
  182. static void SetWindowAttr(const wchar_t* AttributeName, const wchar_t* AttributeValue);
  183. #endif
  184. // Query all available window types.
  185. static HTuple QueryWindowType();
  186. // Return the HALCON thread ID of the current thread.
  187. static Hlong GetCurrentHthreadId();
  188. // Get current value of system information without requiring a license.
  189. static HTuple GetSystemInfo(const HTuple& Query);
  190. // Get current value of system information without requiring a license.
  191. static HTuple GetSystemInfo(const HString& Query);
  192. // Get current value of system information without requiring a license.
  193. static HTuple GetSystemInfo(const char* Query);
  194. #ifdef _WIN32
  195. // Get current value of system information without requiring a license.
  196. static HTuple GetSystemInfo(const wchar_t* Query);
  197. #endif
  198. // Attempt to interrupt an operator running in a different thread.
  199. static void InterruptOperator(Hlong HThreadID, const HString& Mode);
  200. // Attempt to interrupt an operator running in a different thread.
  201. static void InterruptOperator(Hlong HThreadID, const char* Mode);
  202. #ifdef _WIN32
  203. // Attempt to interrupt an operator running in a different thread.
  204. static void InterruptOperator(Hlong HThreadID, const wchar_t* Mode);
  205. #endif
  206. };
  207. }
  208. #endif