mopolygon.cpp
上传用户:qinfarui
上传日期:2022-08-10
资源大小:362k
文件大小:4k
源码类别:

GIS编程

开发平台:

Visual C++

  1. // Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
  2. // NOTE: Do not modify the contents of this file.  If this class is regenerated by
  3. //  Microsoft Visual C++, your modifications will be overwritten.
  4. #include "stdafx.h"
  5. #include "mopolygon.h"
  6. // Dispatch interfaces referenced by this interface
  7. #include "MoRectangle.h"
  8. #include "MoParts.h"
  9. #include "MoPoint.h"
  10. #include "MoPoints.h"
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CMoPolygon properties
  13. CMoRectangle CMoPolygon::GetExtent()
  14. {
  15. LPDISPATCH pDispatch;
  16. GetProperty(0x1, VT_DISPATCH, (void*)&pDispatch);
  17. return CMoRectangle(pDispatch);
  18. }
  19. void CMoPolygon::SetExtent(LPDISPATCH propVal)
  20. {
  21. SetProperty(0x1, VT_DISPATCH, propVal);
  22. }
  23. CMoParts CMoPolygon::GetParts()
  24. {
  25. LPDISPATCH pDispatch;
  26. GetProperty(0x2, VT_DISPATCH, (void*)&pDispatch);
  27. return CMoParts(pDispatch);
  28. }
  29. void CMoPolygon::SetParts(LPDISPATCH propVal)
  30. {
  31. SetProperty(0x2, VT_DISPATCH, propVal);
  32. }
  33. CMoPoint CMoPolygon::GetCentroid()
  34. {
  35. LPDISPATCH pDispatch;
  36. GetProperty(0x3, VT_DISPATCH, (void*)&pDispatch);
  37. return CMoPoint(pDispatch);
  38. }
  39. void CMoPolygon::SetCentroid(LPDISPATCH propVal)
  40. {
  41. SetProperty(0x3, VT_DISPATCH, propVal);
  42. }
  43. double CMoPolygon::GetArea()
  44. {
  45. double result;
  46. GetProperty(0x4, VT_R8, (void*)&result);
  47. return result;
  48. }
  49. void CMoPolygon::SetArea(double propVal)
  50. {
  51. SetProperty(0x4, VT_R8, propVal);
  52. }
  53. double CMoPolygon::GetPerimeter()
  54. {
  55. double result;
  56. GetProperty(0x5, VT_R8, (void*)&result);
  57. return result;
  58. }
  59. void CMoPolygon::SetPerimeter(double propVal)
  60. {
  61. SetProperty(0x5, VT_R8, propVal);
  62. }
  63. long CMoPolygon::GetShapeType()
  64. {
  65. long result;
  66. GetProperty(0x6, VT_I4, (void*)&result);
  67. return result;
  68. }
  69. void CMoPolygon::SetShapeType(long propVal)
  70. {
  71. SetProperty(0x6, VT_I4, propVal);
  72. }
  73. /////////////////////////////////////////////////////////////////////////////
  74. // CMoPolygon operations
  75. BOOL CMoPolygon::IsPointIn(LPDISPATCH Point)
  76. {
  77. BOOL result;
  78. static BYTE parms[] =
  79. VTS_DISPATCH;
  80. InvokeHelper(0x7, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
  81. Point);
  82. return result;
  83. }
  84. void CMoPolygon::Offset(double deltaX, double deltaY)
  85. {
  86. static BYTE parms[] =
  87. VTS_R8 VTS_R8;
  88. InvokeHelper(0x8, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  89.  deltaX, deltaY);
  90. }
  91. double CMoPolygon::DistanceTo(LPDISPATCH shape)
  92. {
  93. double result;
  94. static BYTE parms[] =
  95. VTS_DISPATCH;
  96. InvokeHelper(0x9, DISPATCH_METHOD, VT_R8, (void*)&result, parms,
  97. shape);
  98. return result;
  99. }
  100. CMoPoints CMoPolygon::GetCrossings(LPDISPATCH shape)
  101. {
  102. LPDISPATCH pDispatch;
  103. static BYTE parms[] =
  104. VTS_DISPATCH;
  105. InvokeHelper(0xa, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms,
  106. shape);
  107. return CMoPoints(pDispatch);
  108. }
  109. LPDISPATCH CMoPolygon::Union(LPDISPATCH anotherShape, const VARIANT& Extent)
  110. {
  111. LPDISPATCH result;
  112. static BYTE parms[] =
  113. VTS_DISPATCH VTS_VARIANT;
  114. InvokeHelper(0xb, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  115. anotherShape, &Extent);
  116. return result;
  117. }
  118. LPDISPATCH CMoPolygon::Xor(LPDISPATCH anotherShape, const VARIANT& Extent)
  119. {
  120. LPDISPATCH result;
  121. static BYTE parms[] =
  122. VTS_DISPATCH VTS_VARIANT;
  123. InvokeHelper(0xc, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  124. anotherShape, &Extent);
  125. return result;
  126. }
  127. LPDISPATCH CMoPolygon::Difference(LPDISPATCH anotherShape, const VARIANT& Extent)
  128. {
  129. LPDISPATCH result;
  130. static BYTE parms[] =
  131. VTS_DISPATCH VTS_VARIANT;
  132. InvokeHelper(0xd, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  133. anotherShape, &Extent);
  134. return result;
  135. }
  136. LPDISPATCH CMoPolygon::Intersect(LPDISPATCH anotherShape, const VARIANT& Extent)
  137. {
  138. LPDISPATCH result;
  139. static BYTE parms[] =
  140. VTS_DISPATCH VTS_VARIANT;
  141. InvokeHelper(0xe, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  142. anotherShape, &Extent);
  143. return result;
  144. }
  145. LPDISPATCH CMoPolygon::Buffer(double distance, const VARIANT& Extent)
  146. {
  147. LPDISPATCH result;
  148. static BYTE parms[] =
  149. VTS_R8 VTS_VARIANT;
  150. InvokeHelper(0xf, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  151. distance, &Extent);
  152. return result;
  153. }