/********************************************************************/
/* Copyright (c) 2019 System fugen G.K. and Yuzi Mizuno          */
/* All rights reserved.                                             */
/********************************************************************/
/********************************************************************/
#if !defined(AFX_GLTESSPVIEW_H__8613C83B_63AC_4E4E_9C52_8AA56D97554F__INCLUDED_)
#define AFX_GLPARAMVIEW_H__8613C83B_63AC_4E4E_9C52_8AA56D97554F__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "mg/Box.h"
#include "fugenView2D.h"

/////////////////////////////////////////////////////////////////////////////
// CGLTessPView ビュー

class CGLTessPView : public fugenView2D{

protected:
	CGLTessPView();
	DECLARE_DYNCREATE(CGLTessPView)

// オーバーライド
	// ClassWizard は仮想関数のオーバーライドを生成します。

	//{{AFX_VIRTUAL(CGLTessPView)
protected:
	virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint);
	//}}AFX_VIRTUAL

public:
	
	void redrawOnlythis();

	//Make openGL display list in the input glview.
	void makeDisplayList();

	void OnInitialUpdate();

// インプリメンテーション
protected:
	~CGLTessPView();

	///Initialize model.
	void initializeModel();

	// 生成されたメッセージ マップ関数
protected:
	//{{AFX_MSG(CGLTessPView)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

private:
	mgVBO m_vbo;

	//Obj pointer to tessellate.
	const MGFSurface* m_f;

	//Parameter box of the above object.
	MGBox m_param_box;
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ は前行の直前に追加の宣言を挿入します。

#endif // !defined(AFX_GLPARAMVIEW_H__8613C83B_63AC_4E4E_9C52_8AA56D97554F__INCLUDED_)
