/********************************************************************/
/* Copyright (c) 2019 System fugen G.K. and Yuzi Mizuno          */
/* All rights reserved.                                             */
/********************************************************************/
/********************************************************************/
/**
 * @file CurveUV.h
 * @brief MGCurveUVTool クラスのインターフェイス
 */
#if !defined(AFX_CURVEUV_H__B7A6B353_E813_4C38_9587_47563162D77E__INCLUDED_)
#define AFX_CURVEUV_H__B7A6B353_E813_4C38_9587_47563162D77E__INCLUDED_

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

#include "Common/SelectState.h"
class MGFSurface;

/// @class MGCurveUVTool CurveUV.h CurveCmd/CurveUV.h
///
/// 曲面オブジェクトのループ等のパラメータカーブを3次元化してコピーする。
class MGCurveUVTool : public MGSelectState{
public:
	explicit MGCurveUVTool(fugenDoc* pDoc);

	virtual MGCommandBase* initial_clone(fugenDoc* pDoc)const;
	virtual bool initiate_tool();
	virtual bool OnSelected(
		fugenView* pView,
		MGPickObjects& curobj,
		MGPickObjects& remobj
		);

private:
	bool calculate(const MGFSurface* surf);
	void prompt_message() const;

	UINT m_nIDS; ///< エラーメッセージ
};

#endif // !defined(AFX_CURVEUV_H__B7A6B353_E813_4C38_9587_47563162D77E__INCLUDED_)
