contour.h
上传用户:ynjin1970
上传日期:2014-10-13
资源大小:6438k
文件大小:2k
源码类别:

中间件编程

开发平台:

Visual C++

  1. // contour.h : Declaration of the Ccontour
  2. #ifndef __CONTOUR_H_
  3. #define __CONTOUR_H_
  4. #include "resource.h"       // main symbols
  5. #include "allcontour.h"
  6. /////////////////////////////////////////////////////////////////////////////
  7. // Ccontour
  8. class ATL_NO_VTABLE Ccontour : 
  9. public CComObjectRootEx<CComSingleThreadModel>,
  10. public CComCoClass<Ccontour, &CLSID_contour>,
  11. public IDispatchImpl<Icontour, &IID_Icontour, &LIBID_COM_EXLib>
  12. {
  13. public:
  14. Ccontour()
  15. {
  16. incZ = 0;
  17. startZ = 0;
  18. endZ = 0;
  19. }
  20. DECLARE_REGISTRY_RESOURCEID(IDR_CONTOUR)
  21. DECLARE_PROTECT_FINAL_CONSTRUCT()
  22. BEGIN_COM_MAP(Ccontour)
  23. COM_INTERFACE_ENTRY(Icontour)
  24. COM_INTERFACE_ENTRY(IDispatch)
  25. END_COM_MAP()
  26. // Icontour
  27. public:
  28. STDMETHOD(InitialContour)(/*[in]*/ LPCSTR filename);
  29. STDMETHOD(GetSegCountOf)(/*[in]*/ long nContourIndex, /*[out,retval]*/ long * nSegCount);
  30. STDMETHOD(GetPointsOf)(/*[in]*/ long nContourIndex, /*[in]*/ long nSegIndex, /*[out,ref]*/ double * pPointsX, /*[out,ref]*/ double * pPointsY);
  31. STDMETHOD(GetPointsCountOf)(/*[in]*/ long nContourIndex,/*[in]*/ long nSegIndex,/*[out,retval]*/ long * nPointsCount);
  32. STDMETHOD(GetContourValueOf)(/*[in]*/ long nContourIndex, /*[out,retval]*/ double *Z);
  33. STDMETHOD(GetContourCount)(/*[out, retval]*/ long * nCount);
  34. STDMETHOD(get_endZ)(/*[out, retval]*/ double *pVal);
  35. STDMETHOD(put_endZ)(/*[in]*/ double newVal);
  36. STDMETHOD(get_incZ)(/*[out, retval]*/ double *pVal);
  37. STDMETHOD(put_incZ)(/*[in]*/ double newVal);
  38. STDMETHOD(get_startZ)(/*[out, retval]*/ double *pVal);
  39. STDMETHOD(put_startZ)(/*[in]*/ double newVal);
  40. double incZ; // 下一条等值线与前一条等值线之间的间距
  41. double startZ;
  42. double endZ;
  43. CTriangulate m_t;
  44. CAllContour m_allcon;
  45. };
  46. #endif //__CONTOUR_H_