/********************************************************************/
/* Copyright (c) 2019 System fugen G.K. and Yuzi Mizuno          */
/* All rights reserved.                                             */
/********************************************************************/

// TransMove.cpp: MGTransMoveTool クラスのインプリメンテーション

#include "stdafx.h"
#include "Calc/mgcalc.h"
#include "Calc/mgfunctor.h"
#include "fugenView.h"
#include "TransCmd/TransCopy.h"
#include "TransCmd/TransMove.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

// MGTransMoveTool

MGTransMoveTool::MGTransMoveTool(fugenDoc* pDoc)
: MGCommandStateOwner(pDoc, ID_TRANSFORM_MOVE){
}

MGCommandBase* MGTransMoveTool::initial_clone(fugenDoc* pDoc)const{
	return new MGTransMoveTool(pDoc);
}

bool MGTransMoveTool::initiate_tool(){
	MGCommandStateOwner::initiate_tool();
	if(resetCurrentObjects(mgAll_Object)){
		// 移動方向指定 state へスキップ
		set_child_current_command(new MGTransCopyIPoint(this,current_objects()));
	}
	else{
		// オブジェクトの選択からスタート
		set_child_current_command(new MGTransCopySObj(this));
	}
	return false;
}
