ToolInterface.cpp 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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 = ("测量工具");
  11. m_Description.strName = ("CalipersMeasure");
  12. m_Description.strVersion = ("1.3");
  13. m_Description.strInfo = ("This Info");
  14. return m_Description;
  15. }
  16. /////////////////////////////////////////////////
  17. // 生成默认的接口描述
  18. void ToolImpl::InitDefaultInterfaces(bool withValue)
  19. {
  20. // 接口
  21. DLL_INF inf;
  22. inf.strName = ("Image");
  23. inf.Direction = INF_DIRECTION::INF_DIR_IN;
  24. inf.value.passMode = VALUE_PASS_MODE::PASS_BY_VALUE;
  25. inf.value.type = VALUE_TYPE::Type_HImage;
  26. if (withValue)
  27. {
  28. inf.value.Ptr = (void**)&((ToolDialogImpl*)m_pDlgTool)->m_Image;
  29. }
  30. m_Interfaces.push_back(inf);
  31. inf.reset();//////////////////////////////////////////////////////////////////////////
  32. inf.strName = ("ValueMin");
  33. inf.Direction = INF_DIRECTION::INF_DIR_OUT;
  34. inf.value.passMode = VALUE_PASS_MODE::PASS_BY_VALUE;
  35. inf.value.type = VALUE_TYPE::Type_Float;
  36. if (withValue)
  37. {
  38. inf.value.Ptr = (void**)&((ToolDialogImpl*)m_pDlgTool)->m_fMeasureMin;
  39. }
  40. m_Interfaces.push_back(inf);
  41. inf.reset();//////////////////////////////////////////////////////////////////////////
  42. inf.strName = ("ValueMax");
  43. inf.Direction = INF_DIRECTION::INF_DIR_OUT;
  44. inf.value.passMode = VALUE_PASS_MODE::PASS_BY_VALUE;
  45. inf.value.type = VALUE_TYPE::Type_Float;
  46. if (withValue)
  47. {
  48. inf.value.Ptr = (void**)&((ToolDialogImpl*)m_pDlgTool)->m_fMeasureMax;
  49. }
  50. m_Interfaces.push_back(inf);
  51. inf.reset();//////////////////////////////////////////////////////////////////////////
  52. inf.strName = ("Value");
  53. inf.Direction = INF_DIRECTION::INF_DIR_OUT;
  54. inf.value.passMode = VALUE_PASS_MODE::PASS_BY_VALUE;
  55. inf.value.type = VALUE_TYPE::Type_Float;
  56. if (withValue)
  57. {
  58. inf.value.Ptr = (void**)&((ToolDialogImpl*)m_pDlgTool)->m_fMeasureValue;
  59. }
  60. m_Interfaces.push_back(inf);
  61. inf.reset();//////////////////////////////////////////////////////////////////////////
  62. inf.strName = ("Status");
  63. inf.Direction = INF_DIRECTION::INF_DIR_OUT;
  64. inf.value.passMode = VALUE_PASS_MODE::PASS_BY_VALUE;
  65. inf.value.type = VALUE_TYPE::Type_Int;
  66. if (withValue)
  67. {
  68. inf.value.Ptr = (void**)&((ToolDialogImpl*)m_pDlgTool)->m_nStatus;
  69. }
  70. m_Interfaces.push_back(inf);
  71. inf.reset();//////////////////////////////////////////////////////////////////////////
  72. }