#ifndef __2GLOBAL_h
#define __2GLOBAL_h

#pragma warning(disable: 4786)	// C4786_xZkqqHx_iMhIiNjAiCpAiPgPiCmIiCkNiClHiCoJiBeC_xHqqkZx_
#pragma warning(disable: 4503)	// C4503_xZkqqHx_iMhIiNjAiCpAiPgPiCmIiCkNiClHiCoJiBeC_xHqqkZx_

#include <math.h>	// For sqrt.
#include <vector>
#include <memory>
#include "../ForSubCoreUtil.h"

// STL_xZkqqHx_iCmMjGlMjBePiLpDiKnEiCpAjAnNjCoIiBeC_xHqqkZx_
using namespace std;

// 06.05.10 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//#define MC2ARCHIVE FCUndoArchive
#define MC2ARCHIVE CArchive

#define MD2_FD_ENV_NAME_LEN	32		// _xZkqqHx_iKmCiLkL_xHqqkZx_(_xZkqqHx_jAeGiBeFiDhAiDfOiBfLiDjDjDjJ_xHqqkZx_)_xZkqqHx_iCmMjGlMjBePiCmMjClHiClD_xHqqkZx_(_xZkqqHx_iPeJjCfLiCpAiKnMiCnO_xHqqkZx_).

typedef double	mmetol;			// _xZkqqHx_iOmAiNmAjFfHiBeC_xHqqkZx_
typedef float	fmmetol;		// _xZkqqHx_iOmAiNmAjFfHiBeC_xHqqkZx_
class MC2ObjBase;
typedef vector<MC2ObjBase*>		MC2ObjBaseVector;

//----- 06.05.10 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
////----- TWIPS_xZkqqHx_iNmAjFfHiCkJiCoHiOmAiNmAjFfHiCnG_xHqqkZx_ -----
//#define MD2_tw2mm(a) (25.4 * static_cast<double>(a) / 1440.0)
//
////----- BYTEVector_xZkqqHx_iDfIiDgHiDiKiBfLiDiAiKnGjIeB_xHqqkZx_ -----
//template <class T> void operator << (BYTEVector& vStream, const T data)
//{
//	vStream.insert(vStream.end(), (const BYTE*)(&data),
//					(const BYTE*)(&data) + sizeof(data));
//} // template <class T> void operator <<.
//
//template <class T> void ReadData (T& data, const BYTE*& bypStream)
//{
//	memcpy(&data, bypStream, sizeof(data));
//	bypStream += sizeof(data);
//} // template <class T> void ReadData.
//
//// Dynamic Draw _xZkqqHx_jGhLjBmMiCmMiDeDiDjDiDfOiDhEiDeGiBfLiDfIiBeC_xHqqkZx_
//// _xZkqqHx_iClBiCmMiDeDiDjDiDfOiDhEiDeGiBfLiDfIiCpA_xHqqkZx_ PgDdConv234.dll _xZkqqHx_iCkJiCoHiOpDiCkPiOoGiCoJiBeC_xHqqkZx_
//// Dynamic Draw _xZkqqHx_jGhLjBmMiLeAjEfMiCmNiBeBjBfDiCmEiClBiCmMiDeDiDjDiDfOiDhEiDeGiBfLiDfIiCkJiCoHiMmEiCnBiPgPiClHiBeC_xHqqkZx_
//extern IMpgMolipMain*	g_pMolipMainI;
//
//#define FFMainI			g_pMolipMainI
//#define FFUtilErrI      g_pMolipMainI->GetUtilErrI()
//#define FFUtilMathI     g_pMolipMainI->GetUtilMathI()
//#define FFUtilFileI     g_pMolipMainI->GetUtilFileI()
//#define FFUtilFontI     g_pMolipMainI->GetUtilFontI()
//#define FFUtilStrI      g_pMolipMainI->GetUtilStrI()
//#define FFUtilPrintI    g_pMolipMainI->GetUtilPrintI()
//#define FFUtilCoordI    g_pMolipMainI->GetUtilCoordI()
//#define FFUtilZlibPngI  g_pMolipMainI->GetUtilZlibPngI()
//#define FFUtilMiscI     g_pMolipMainI->GetUtilMisc()
//
//template<class T> T* FFClassCreate (T*)
//{
//	return g_pMolipMainI->GetClassInstanceI()->CreateDelete((T*)NULL);
//}
//
//template<class T> void FFClassDelete (T* p)
//{
//	if (p == NULL)
//		FFUtilErrI->ThrowMiscException(L"Error:FMpgClassDelete(NULL)");
//	g_pMolipMainI->GetClassInstanceI()->CreateDelete(p);
//}
//
////----- 06.05.10 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
//extern void operator << (CArchive& ar, const DBLPoint& mmpt);
//extern void operator << (CArchive& ar, const DBLRect& mmrt);
//
//extern void operator >> (CArchive& ar, DBLPoint& mmpt);
//extern void operator >> (CArchive& ar, DBLRect& mmrt);
////----- 06.05.10 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
//----- 06.05.10 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

#endif//__2GLOBAL_h
