ToolInterface.cpp 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #include "Tool.h"
  2. #include "../../Common/DllToolCommon.h"
  3. DLL_TOOL_DESC m_Description;
  4. ///////////////////////////////////////////////////////////////////
  5. // 获取工具描述
  6. const DLL_TOOL_DESC& ToolImpl::Description()
  7. {
  8. // 生成dll描述
  9. m_Description.Type = TOOL_TYPE::TOOL_TYPE_STANDARD;
  10. m_Description.strCategory = (CATEGORY_TOOL_HARDWARE);
  11. m_Description.strName = ("CameraControl");
  12. m_Description.strAliasName = ("CameraConter");
  13. m_Description.strVersion = ("1.0");
  14. m_Description.strInfo = ("相机控制工具");
  15. return m_Description;
  16. }
  17. /////////////////////////////////////////////////
  18. // 生成默认的接口描述
  19. void ToolImpl::InitDefaultInterfaces(bool withValue)
  20. {
  21. // 接口
  22. DLL_INF inf;
  23. inf.strName = ("pICamera");
  24. inf.Direction = INF_DIRECTION::INF_DIR_IN;
  25. inf.value.passMode = VALUE_PASS_MODE::PASS_BY_VALUE;
  26. inf.value.type = VALUE_TYPE::Type_pIBaseCamera;
  27. if (withValue)
  28. {
  29. inf.value.Ptr = (void**)&((ToolDialogImpl*)m_pDlgTool)->m_pCamera;
  30. }
  31. m_Interfaces.push_back(inf);
  32. inf.reset();//////////////////////////////////////////////////////////////////////////
  33. inf.strName = ("Image");
  34. inf.Direction = INF_DIRECTION::INF_DIR_OUT;
  35. inf.value.passMode = VALUE_PASS_MODE::PASS_BY_VALUE;
  36. inf.value.type = VALUE_TYPE::Type_HImage;
  37. if (withValue)
  38. {
  39. inf.value.Ptr = (void**)&((ToolDialogImpl*)m_pDlgTool)->m_Image;
  40. }
  41. m_Interfaces.push_back(inf);
  42. inf.reset();//////////////////////////////////////////////////////////////////////////
  43. inf.strName = ("FrameNum");
  44. inf.Direction = INF_DIRECTION::INF_DIR_OUT;
  45. inf.value.passMode = VALUE_PASS_MODE::PASS_BY_VALUE;
  46. inf.value.type = VALUE_TYPE::Type_Int;
  47. if (withValue)
  48. {
  49. inf.value.Ptr = (void**)&((ToolDialogImpl*)m_pDlgTool)->m_nFrameNum;
  50. }
  51. m_Interfaces.push_back(inf);
  52. inf.reset();//////////////////////////////////////////////////////////////////////////
  53. // 增加Event类型的接口
  54. inf.strName = ("Pick.Event");
  55. inf.Direction = INF_DIRECTION::INF_DIR_OUT;
  56. inf.value.passMode = VALUE_PASS_MODE::PASS_BY_VALUE;
  57. //inf.value.type = INF_TYPE::INF_TYPE_EVENT;
  58. if (withValue)
  59. {
  60. // 初始化event名字
  61. ((ToolDialogImpl*)m_pDlgTool)->m_PickEvent.setName(m_strPouName, this->m_strInstanceName + "." + inf.strName);
  62. inf.value.Ptr = (void**)&((ToolDialogImpl*)m_pDlgTool)->m_PickEvent;
  63. }
  64. m_Interfaces.push_back(inf);
  65. inf.reset();//////////////////////////////////////////////////////////////////////////
  66. }