⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 contour.h

📁 VC实现等值线编成的COM组件的源程序代码
💻 H
字号:
// contour.h : Declaration of the Ccontour

#ifndef __CONTOUR_H_
#define __CONTOUR_H_

#include "resource.h"       // main symbols
#include "allcontour.h"

/////////////////////////////////////////////////////////////////////////////
// Ccontour
class ATL_NO_VTABLE Ccontour : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<Ccontour, &CLSID_contour>,
	public IDispatchImpl<Icontour, &IID_Icontour, &LIBID_COM_EXLib>
{
public:
	Ccontour()
	{
		incZ = 0;
		startZ = 0;
		endZ = 0;
	}

DECLARE_REGISTRY_RESOURCEID(IDR_CONTOUR)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(Ccontour)
	COM_INTERFACE_ENTRY(Icontour)
	COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()

// Icontour
public:
	STDMETHOD(InitialContour)(/*[in]*/ LPCSTR filename);
	STDMETHOD(GetSegCountOf)(/*[in]*/ long nContourIndex, /*[out,retval]*/ long * nSegCount);
	STDMETHOD(GetPointsOf)(/*[in]*/ long nContourIndex, /*[in]*/ long nSegIndex, /*[out,ref]*/ double * pPointsX, /*[out,ref]*/ double * pPointsY);
	STDMETHOD(GetPointsCountOf)(/*[in]*/ long nContourIndex,/*[in]*/ long nSegIndex,/*[out,retval]*/ long * nPointsCount);
	STDMETHOD(GetContourValueOf)(/*[in]*/ long nContourIndex, /*[out,retval]*/ double *Z);
	STDMETHOD(GetContourCount)(/*[out, retval]*/ long * nCount);
	STDMETHOD(get_endZ)(/*[out, retval]*/ double *pVal);
	STDMETHOD(put_endZ)(/*[in]*/ double newVal);
	STDMETHOD(get_incZ)(/*[out, retval]*/ double *pVal);
	STDMETHOD(put_incZ)(/*[in]*/ double newVal);
	STDMETHOD(get_startZ)(/*[out, retval]*/ double *pVal);
	STDMETHOD(put_startZ)(/*[in]*/ double newVal);

	double incZ;	// 下一条等值线与前一条等值线之间的间距
	double startZ;
	double endZ;
	CTriangulate m_t;
	CAllContour m_allcon;
};

#endif //__CONTOUR_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -