#if !defined(AFX_CWGRAPH3D_H__771FEA8D_EC4D_410D_9239_2845789CFF64__INCLUDED_)
#define AFX_CWGRAPH3D_H__771FEA8D_EC4D_410D_9239_2845789CFF64__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++

// NOTE: Do not modify the contents of this file.  If this class is regenerated by
//  Microsoft Visual C++, your modifications will be overwritten.


// Dispatch interfaces referenced by this interface
class CCWPlot3D;
class CCWPlots3D;
class CCWAxes3D;
class CCWLights;

/////////////////////////////////////////////////////////////////////////////
// CCWGraph3D wrapper class

class CCWGraph3D : public CWnd
{
protected:
	DECLARE_DYNCREATE(CCWGraph3D)
public:
	CLSID const& GetClsid()
	{
		static CLSID const clsid
			= { 0x2afa9f10, 0xb6a, 0x11d2, { 0xa2, 0x50, 0x0, 0xa0, 0x24, 0xd8, 0x32, 0x4d } };
		return clsid;
	}
	virtual BOOL Create(LPCTSTR lpszClassName,
		LPCTSTR lpszWindowName, DWORD dwStyle,
		const RECT& rect,
		CWnd* pParentWnd, UINT nID,
		CCreateContext* pContext = NULL)
	{ return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID); }

    BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle,
		const RECT& rect, CWnd* pParentWnd, UINT nID,
		CFile* pPersist = NULL, BOOL bStorage = FALSE,
		BSTR bstrLicKey = NULL)
	{ return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID,
		pPersist, bStorage, bstrLicKey); }

// Attributes
public:
	BOOL GetEnabled();
	void SetEnabled(BOOL);
	LPFONTDISP GetFont();
	void SetFont(LPFONTDISP);
	CString GetCaption();
	void SetCaption(LPCTSTR);
	OLE_COLOR GetBackColor();
	void SetBackColor(OLE_COLOR);
	long GetReadyState();
	void SetReadyState(long);
	unsigned long GetPlotAreaColor();
	void SetPlotAreaColor(unsigned long);
	unsigned long GetGraphFrameColor();
	void SetGraphFrameColor(unsigned long);
	long GetTrackMode();
	void SetTrackMode(long);
	CCWPlot3D GetPlotTemplate();
	void SetPlotTemplate(LPDISPATCH);
	BOOL GetImmediateUpdates();
	void SetImmediateUpdates(BOOL);
	BOOL GetWindowless();
	void SetWindowless(BOOL);
	unsigned long GetCaptionColor();
	void SetCaptionColor(unsigned long);
	long GetKeyboardMode();
	void SetKeyboardMode(long);
	BOOL GetGraphFrameVisible();
	void SetGraphFrameVisible(BOOL);
	BOOL GetDither();
	void SetDither(BOOL);
	BOOL GetFastDraw();
	void SetFastDraw(BOOL);
	unsigned long GetGridFrameColor();
	void SetGridFrameColor(unsigned long);
	BOOL GetGridSmoothing();
	void SetGridSmoothing(BOOL);
	BOOL GetGridXY();
	void SetGridXY(BOOL);
	BOOL GetGridXZ();
	void SetGridXZ(BOOL);
	BOOL GetGridYZ();
	void SetGridYZ(BOOL);
	BOOL GetLighting();
	void SetLighting(BOOL);
	unsigned long GetAmbientLightColor();
	void SetAmbientLightColor(unsigned long);
	long GetProjectionStyle();
	void SetProjectionStyle(long);
	BOOL GetViewAutoDistance();
	void SetViewAutoDistance(BOOL);
	double GetViewDistance();
	void SetViewDistance(double);
	double GetViewLatitude();
	void SetViewLatitude(double);
	double GetViewLongitude();
	void SetViewLongitude(double);
	long GetViewMode();
	void SetViewMode(long);
	double GetViewXCenter();
	void SetViewXCenter(double);
	double GetViewYCenter();
	void SetViewYCenter(double);
	double GetViewZCenter();
	void SetViewZCenter(double);
	BOOL GetClipData();
	void SetClipData(BOOL);
	BOOL GetUse3DHardwareAcceleration();
	void SetUse3DHardwareAcceleration(BOOL);

// Operations
public:
	void ImportStyle(LPCTSTR FileName);
	void ExportStyle(LPCTSTR FileName);
	CCWPlots3D GetPlots();
	CCWAxes3D GetAxes();
	void ClearData();
	LPDISPATCH ControlImage();
	CCWLights GetLights();
	void Plot3DSimpleSurface(const VARIANT& zMatrix, const VARIANT& wMatrix);
	void Plot3DSurface(const VARIANT& xVector, const VARIANT& yVector, const VARIANT& zMatrix, const VARIANT& wMatrix);
	void Plot3DParametricSurface(const VARIANT& xMatrix, const VARIANT& yMatrix, const VARIANT& zMatrix, const VARIANT& wMatrix);
	void Plot3DCurve(const VARIANT& xVector, const VARIANT& yVector, const VARIANT& zVector, const VARIANT& wVector);
	void AboutBox();
	void SetDefaultView();
	void Plot3DMesh(const VARIANT& xVector, const VARIANT& yVector, const VARIANT& zVector, const VARIANT& wVector);
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_CWGRAPH3D_H__771FEA8D_EC4D_410D_9239_2845789CFF64__INCLUDED_)
