#include "stdafx.h"
#include "NewFDObjAny.h"	// For NewFDObjAny.
#include "UndoArchive.h"	// For FCUndoArchive.
#include "ObjPictArrow.h"	// This header.

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


/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::FCObjPictArrow
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfCiDjDiDfIiDgHiDiJiDeOiDfOiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.04.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
FCObjPictArrow::FCObjPictArrow ()
{
//----- 01.07.11 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	// memcmp_xZkqqHx_iCmFiDeJiDhFiDfHiDeGiDeOiDgHjEoEiKhCiCpAiClHiCoJiClNiCnPiBeBiNfMjBkCjBmMiDeNiDiDiDgCiDhGiCoAjBfDiCmEiCePiCmFjGiEiCnPiCoJiBeC_xHqqkZx_
	ASSERT(ALIGNMENT8(sizeof(BASE_CLASS)) == offsetof(FCObjPictArrow, m_mmrtArrowFrame));
	memset(&m_mmrtArrowFrame, 0, sizeof(FCObjPictArrow) - offsetof(FCObjPictArrow, m_mmrtArrowFrame));
//----- 01.07.11 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
	m_mmrtArrowFrame.SetRect(0,0,0,0);	// _xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpDiDhEiDiMiBfLiDiAiBeC_xHqqkZx_
	m_mmMinArrowPenWeight = 0.0;		// _xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpDiCmMiDhJiDjDjBlOiClDiNmFjCoBjCgMiBeC_xHqqkZx_
//----- 05.05.01 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//// 01.08.18 Fukushiro M. 1_xZkqqHx_iNhDjCmHiJmB_xHqqkZx_ ()
//	m_dwObjUserUlong = DWORD(-1);		// _xZkqqHx_jFjEjFgJiDiGiBfLiDfF_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_
//----- 05.05.01 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
	m_nArrowDutyIndex = -1;				// // _xZkqqHx_jGoOiIpDjGpAiKiEiDeDiDjDiDgGiDgCiDeOiDfIiBeC_xHqqkZx_
	m_nArrowDutySz = 0;					// _xZkqqHx_jFgAiJoGiPoOjFpBiCmMjGhLjBmMiCkJiCoHiCmMiMhAiPlDiPoOjFpBiBeC_xHqqkZx_
	m_bypArrowDuty = NULL;				// _xZkqqHx_jFgAiJoGiPoOjFpBiCmMjGhLjBmMiCkJiCoHiCmMiMhAiPlDiPoOjFpBiBeC_xHqqkZx_
} // FCObjPictArrow::FCObjPictArrow.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::~FCObjPictArrow
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDgGiDfIiDgHiDiJiDeOiDfOiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.07.11 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
FCObjPictArrow::~FCObjPictArrow ()
{
	// _xZkqqHx_iKpJjBlGiCmMiDiKiDfIiDgHiCpAiPmBiLiOiBeC_xHqqkZx_
	if (m_bypArrowDuty != NULL)
	{
		delete[] m_bypArrowDuty;
		m_bypArrowDuty = NULL;
	}
	m_nArrowDutySz = 0;
} // FCObjPictArrow::~FCObjPictArrow.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::IsKindOf
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFjEjFgJiCkKiClBiCmMiMfOiBeBiIlNiCkCiCmNiClBiCmMiMfOiCmMiDfEiDhFiDeOiDiJiDfIiCmMiMfOiCkJiCmHiCkEiCkJiCpAjClCiCnHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	nType	:_xZkqqHx_jClCiCnHiCoJiMfOiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	TRUE	:nType_xZkqqHx_iMfOiBeBiIlNiCkCiCmNiClLiCmMiDfEiDhFiDeOiDiJiDfIiCmMiPoKiNiH_xHqqkZx_
 *			FALSE	:_xZkqqHx_iClLiCkEiCmFiCmIiCkCiPoKiNiH_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.04.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
BOOL FCObjPictArrow::IsKindOf (FTObjectType nType) const
{
	if (nType == FDOJ_PICT_ARROW) return TRUE;
	return BASE_CLASS::IsKindOf(nType);
} // FCObjPictArrow::IsKindOf.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::Type
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iClBiCmMiDeOiDiJiDfIiCmMiMfOiCpAjFnEiClH_xHqqkZx_.
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDeOiDiJiDfIiCmMiMfO_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.04.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
FTObjectType FCObjPictArrow::Type () const
{
	return FDOJ_PICT_ARROW;
} // FCObjPictArrow::Type.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::IsEqual
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDeJiDhFiDfHiDeGiDeOiDgHjDkPiOgNiCkKjDjJiClFiCkCiCkJiCmHiCkEiCkJiCpAjClCiCnHiCoJiBeCiKkOjBfDiCmJjDjJiClFiCkCiCmMiCmFiCmN_xHqqkZx_
 *			_xZkqqHx_iCmIiCkNiBeBiLeAjEfMjDeJiCmJjDjJiClFiCkCiClBiCmGiCpAjClCiCnHiCoJiBeCjHoBiCkGiCmOiBeBjFjEjFgJ_xHqqkZx_ID_xZkqqHx_iCmNjEoEiKhCiClFiCmIiCkCiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	objp	:_xZkqqHx_jEoEiKhCjAoGiDeJiDhFiDfHiDeGiDeOiDgH_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	TRUE	:_xZkqqHx_jDjJiClFiCkCiPoKiNiHiBeB_xHqqkZx_ FALSE  :_xZkqqHx_iIoBiCkEiPoKiNiH_xHqqkZx_.
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iCnMiClI_xHqqkZx_BASE_CLASS_xZkqqHx_iCmMjEoEiKhCiCpAiClHiCoJiBeCiClLiCmMiOjPiCmJiOkJjFkKiCmMiDeOiDiJiDfIiCmMjBkOjAkLiCpA_xHqqkZx_
 *			_xZkqqHx_jEoEiKhCiClHiCoJiBeC_xHqqkZx_ObjDynabase::IsEqual_xZkqqHx_iCmFiDeOiDiJiDfIiCmMiMfOiCpAjEoEiKhCiClHiCoJiCmMiCmFiBeB_xHqqkZx_
 *			BASE_CLASS::IsEqual_xZkqqHx_iCkK_xHqqkZx_TRUE_xZkqqHx_iCmMiPoKiNiHiCmNiMfOiCmNjDjJiClFiCkCiCmGiClFiCmEiCoGiCkC_xHqqkZx_.
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.04.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
BOOL FCObjPictArrow::IsEqual (const FCObjDynabase* objp) const
{
	if (!BASE_CLASS::IsEqual(objp)) return FALSE;
	const FCObjPictArrow* trgp = static_cast<const FCObjPictArrow*>(objp);
	if (m_mmrtArrowFrame != trgp->m_mmrtArrowFrame) return FALSE;
	if (m_mmMinArrowPenWeight != trgp->m_mmMinArrowPenWeight) return FALSE;
//----- 05.05.01 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//// 01.08.18 Fukushiro M. 1_xZkqqHx_iNhDjCmHiJmB_xHqqkZx_ ()
//	if (m_dwObjUserUlong != trgp->m_dwObjUserUlong) return FALSE;
//----- 05.05.01 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

	if (m_nArrowDutyIndex != trgp->m_nArrowDutyIndex) return FALSE;
//----- 01.07.11 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	if (m_byvArrowDuty != trgp->m_byvArrowDuty) return FALSE;
//----- 01.07.11 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	if (m_nArrowDutySz != trgp->m_nArrowDutySz) return FALSE;
	long lC;
	for (lC = 0; lC < m_nArrowDutySz; lC++)
		if (m_bypArrowDuty[lC] != trgp->m_bypArrowDuty[lC]) return FALSE;
//----- 01.07.11 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
	return TRUE;
} // FCObjPictArrow::IsEqual.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::OutStream
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFjEjFgJiCmMiPpDjBnEiCpAiDfIiDgHiDiKiBfLiDiAiCmJiPjBiCkLiPgPiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	ar	:_xZkqqHx_iPjBiCkLiPgPiClFjHhAiCmM_xHqqkZx_FCUndoArchive
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.04.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
// 06.06.23 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//void FCObjPictArrow::OutStream (FCUndoArchive& ar)
void FCObjPictArrow::OutStream (FCUndoArchive& ar, BOOL bIsOutBezier)
{
	// Superclass_xZkqqHx_iKnGjAjEiBeC_xHqqkZx_
// 06.06.23 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//	BASE_CLASS::OutStream(ar);
	BASE_CLASS::OutStream(ar, bIsOutBezier);
	ar << m_mmrtArrowFrame;			// _xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpDiDhEiDiMiBfLiDiAiBeC_xHqqkZx_
	ar << m_mmMinArrowPenWeight;	// _xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpDiDhJiDjDjBlOiClDiNmFjCoBjCgMiBeC_xHqqkZx_
// 05.05.01 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	ar << m_dwObjUserUlong;			// _xZkqqHx_jFjEjFgJiDiGiBfLiDfF_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_
	ar << m_nArrowDutyIndex;		// _xZkqqHx_jGoOiIpDjGpAiKiEiDeDiDjDiDgGiDgCiDeOiDfIiBeC_xHqqkZx_
	//----- _xZkqqHx_jGoOiIpDjFgAiJoGiMhAiPlDiPoOjFpBiDiKiDfIiDgHiCpAiPgPjHmN_xHqqkZx_ -----
//----- 01.07.11 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	ar << (short)m_byvArrowDuty.size();
//	BYTEVector::iterator iB;
//	for (iB = m_byvArrowDuty.begin(); iB != m_byvArrowDuty.end(); iB++)
//		ar << *iB;
//----- 01.07.11 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	long lC;
	//----- _xZkqqHx_iDiKiDjDiDeOjGpAiKiEjFjEjFgJiDiKiDfIiDgHiCpAiPgPjHmN_xHqqkZx_ -----
	ar << (short)m_nArrowDutySz;
	for (lC = 0; lC < m_nArrowDutySz; lC++)
		ar << m_bypArrowDuty[lC];
//----- 01.07.11 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
} // FCObjPictArrow::OutStream.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::InStream
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFjEjFgJiCmMiPpDjBnEiCpAiDfIiDgHiDiKiBfLiDiAiCkJiCoHjDmHiCnNiNjOiCnOiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	ar	:_xZkqqHx_jDmHiCnNiNjOiCnNjHhAiCmM_xHqqkZx_FCUndoArchive
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.04.08 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCObjPictArrow::InStream (FCUndoArchive& ar)
{
	// Superclass_xZkqqHx_iKnGjAjEiBeC_xHqqkZx_
	BASE_CLASS::InStream(ar);
	ar >> m_mmrtArrowFrame;			// _xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpDiDhEiDiMiBfLiDiAiBeC_xHqqkZx_

	ar >> m_mmMinArrowPenWeight;	// _xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpDiDhJiDjDjBlOiClDiNmFjCoBjCgMiBeC_xHqqkZx_
// 05.05.01 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	ar >> m_dwObjUserUlong;			// _xZkqqHx_jFjEjFgJiDiGiBfLiDfF_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_

	ar >> m_nArrowDutyIndex;		// _xZkqqHx_jGoOiIpDjGpAiKiEiDeDiDjDiDgGiDgCiDeOiDfIiBeC_xHqqkZx_
	//----- _xZkqqHx_jGoOiIpDjFgAiJoGiMhAiPlDiPoOjFpBiDiKiDfIiDgHiCpAjDpMjHmN_xHqqkZx_ -----
	short nSize;
	//----- _xZkqqHx_iDiKiDjDiDeOjGpAiKiEjFjEjFgJiDiKiDfIiDgHiCpAjDpMjHmN_xHqqkZx_ -----
	// _xZkqqHx_iKpJjBlGiCmMiDiKiDfIiDgHiCpAiPmBiLiOiBeC_xHqqkZx_
	if (m_bypArrowDuty != NULL)
	{
		delete[] m_bypArrowDuty;
		m_bypArrowDuty = NULL;
	}
	ar >> nSize;
	m_nArrowDutySz = nSize;
	if (0 < nSize)
	{
		m_bypArrowDuty = new BYTE[nSize];
//----- 01.08.15 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//		while (0 < nSize--)
//			ar >> m_bypArrowDuty[nSize];
//----- 01.08.15 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
		for (long lC = 0; lC < nSize; lC++)
			ar >> m_bypArrowDuty[lC];
//----- 01.08.15 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
	}
} // FCObjPictArrow::InStream.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::GetArrowFrame
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpDiDhEiDiMiBfLiDiAiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.04.09 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
const DBLRect& FCObjPictArrow::GetArrowFrame () const
{
	return m_mmrtArrowFrame;
} // FCObjPictArrow::GetArrowFrame.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::GetDuty
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iOhHjCoIiCmMiDeDiDjDiDgGiDgCiDeOiDfIiCmMjGoOiIpDiCmMjGpAiKiEiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iDeDiDjDiDgGiDgCiDeOiDfIiCmNiBeB_xHqqkZx_GetGroup_xZkqqHx_iCmFjFnEiClDiCoKiCoJiPfHiNiHiCmGjDkPiClGiPiHiPjIiBeFjDkPiClGjAjEiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.04.09 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
BYTE FCObjPictArrow::GetDuty (short nIndex) const
{
	return m_bypArrowDuty[nIndex];
} // FCObjPictArrow::GetDuty.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::GetMinArrowPenWeight
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpDiCmMiDhJiDjDjBlOiClDiNmFjCoBjCgMiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpDiCmMiDhJiDjDjBlOiClDiNmFjCoBjCgMiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iPnKiNnH_xHqqkZx_>	_xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpDiCmNiBeBjAnKjBlBiClHiCoJjApMiCmMiDhJiDjDiCkKiClBiCmMjBlOiClDiImIiJlKiCmMiPoKiNiHiBeB_xHqqkZx_
 *			_xZkqqHx_iDfEiDeDiDfJiMhGiOfKiCpAiClBiCmMjBlOiClDiCmFiMhGiOfKiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.08.15 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
mmetol FCObjPictArrow::GetMinArrowPenWeight () const
{
	return m_mmMinArrowPenWeight;
} // FCObjPictArrow::GetMinArrowPenWeight.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::SetArrowFrame
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpDiDhEiDiMiBfLiDiAiCpAjAnNjCoIiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.04.09 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCObjPictArrow::SetArrowFrame (const DBLRect& mmrt)
{
	m_mmrtArrowFrame = mmrt;
} // FCObjPictArrow::SetArrowFrame.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::SetDuty
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jGoOiIpDiCmMjGpAiKiEiPfHiNiHiCpAjAnNjCoIiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iPfHiNiHiCmNiBeB_xHqqkZx_GetGroup_xZkqqHx_iCmFjFnEiClDiCoKiCoJiPfHiNiHiCmGjDkPiClGiPiHiPjIiBeFjDkPiClGjAjEiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.04.09 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCObjPictArrow::SetDuty (const BYTEVector& vDuty)
{
	// _xZkqqHx_iKpJjBlGiCmMiDiKiDfIiDgHiCpAiPmBiLiOiBeC_xHqqkZx_
	if (m_bypArrowDuty != NULL)
	{
		delete[] m_bypArrowDuty;
		m_bypArrowDuty = NULL;
	}
	// _xZkqqHx_jEhKjHpBjAjEiCpAiDfCiDhDiBfLiBeC_xHqqkZx_
	m_nArrowDutySz = vDuty.size();
	if (0 < m_nArrowDutySz)
	{
		m_bypArrowDuty = new BYTE[m_nArrowDutySz];
		// _xZkqqHx_jAfGiClFiCkCjEhKjHpBiCmJiBeBiMmDiCkCjEhKjHpBiDgGiBfLiDfOiCpAiDfCiDhDiBfLiBeC_xHqqkZx_
		memcpy(m_bypArrowDuty, vDuty.begin(), sizeof(m_bypArrowDuty[0]) * m_nArrowDutySz);
	}
	// _xZkqqHx_iCnMiClIiPiJiKpKiJlLiClFiCmEiCkIiCkNiBeC_xHqqkZx_
	m_nArrowDutyIndex = -1;
	for (short nIndex = 0; nIndex != vDuty.size(); nIndex++)
	{
		// _xZkqqHx_jGhLjBmMjAnKjBlBiCmMiPoKiNiHiCmNiBeBiClLiCoKiCpAjAnNjCoIiBeC_xHqqkZx_
		if (vDuty[nIndex] & FDAR_SYNC_ARROW_POLYGON)
		{
			m_nArrowDutyIndex = nIndex;
			break;
		}
	}
} // FCObjPictArrow::SetDuty.


/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::SetMinArrowPenWeight
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpDiCmMiDhJiDjDjBlOiClDiNmFjCoBjCgMiCpAjAnNjCoIiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	mmPenWeight	:_xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpDiCmMiDhJiDjDjBlOiClDiNmFjCoBjCgMiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iPnKiNnH_xHqqkZx_>	_xZkqqHx_iDhDiDeOiDgAiDiDjGoOiIpDiCmNiBeBjAnKjBlBiClHiCoJjApMiCmMiDhJiDjDiCkKiClBiCmMjBlOiClDiImIiJlKiCmMiPoKiNiHiBeB_xHqqkZx_
 *			_xZkqqHx_iDfEiDeDiDfJiMhGiOfKiCpAiClBiCmMjBlOiClDiCmFiMhGiOfKiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.08.15 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCObjPictArrow::SetMinArrowPenWeight (mmetol mmPenWeight)
{
	m_mmMinArrowPenWeight = mmPenWeight;
} // FCObjPictArrow::SetMinArrowPenWeight.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::GetArrowDutyObject
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jGhLjBmMiCmJjIeBiMiLiClDiCoKiCoJjFjEjFgJiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_jFjEjFgJiBeCjBlGiNnNiClFiCmIiCkCiPoKiNiHiCmN_xHqqkZx_ NULL_xZkqqHx_iBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.04.09 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
FCObjDynabase* FCObjPictArrow::GetArrowDutyObject () const
{
	if (m_nArrowDutyIndex == -1) return NULL;
	return GetMember(m_nArrowDutyIndex);
} // FCObjPictArrow::GetArrowDutyObject.

//----- 01.04.14 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::GetPreDrawObjects
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jGoOiIpDiJlKiCmJjFgAiJoGiClDiCoKiCoJjFjEjFgJiCmMiPfHiNiHiCpAjFnEiClHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iPfHiNiHiCmNiBeBjFgAiJoGiPiHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.04.09 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//void FCObjPictArrow::GetPreDrawObjects (ObjDynabaseVector& vObj, BYTEVector& vDuty) const
//{
//	if (m_nArrowDutyIndex == -1) return;
//	vObj.insert(vObj.end(), GetMembers()->begin(),
//								GetMembers()->begin() + m_nArrowDutyIndex);
//	vDuty.insert(vDuty.end(), GetDuty().begin(),
//								GetDuty().begin() + m_nArrowDutyIndex);
//} // FCObjPictArrow::GetPreDrawObjects.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::GetPostDrawObjects
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jGoOiIpDiPoDiCmJjFgAiJoGiClDiCoKiCoJjFjEjFgJiCmMiPfHiNiHiCpAjFnEiClHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iPfHiNiHiCmNiBeBjFgAiJoGiPiHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.04.09 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//void FCObjPictArrow::GetPostDrawObjects (ObjDynabaseVector& vObj, BYTEVector& vDuty) const
//{
//	if (m_nArrowDutyIndex == -1)
//	{
//		vObj.insert(vObj.end(), GetMembers()->begin(), GetMembers()->end());
//		vDuty.insert(vDuty.end(), GetDuty().begin(), GetDuty().end());
//	} else
//	{
//		vObj.insert(vObj.end(), GetMembers()->begin() + m_nArrowDutyIndex + 1,
//						GetMembers()->end());
//		vDuty.insert(vDuty.end(), GetDuty().begin() + m_nArrowDutyIndex + 1,
//						GetDuty().end());
//	}
//} // FCObjPictArrow::GetPostDrawObjects.
//----- 01.04.14 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::GetPreDrawObjects
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jGoOiIpDiJlKiCmJjFgAiJoGiClDiCoKiCoJjFjEjFgJiCmMiPfHiNiHiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iPfHiNiHiCmNiBeBjFgAiJoGiPiHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.04.09 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCObjPictArrow::GetPreDrawObjects (ObjDynabaseVector& vObj) const
{
	if (m_nArrowDutyIndex == -1) return;
	vObj.insert(vObj.end(), GetMemberArray(),
								GetMemberArray() + m_nArrowDutyIndex);
} // FCObjPictArrow::GetPreDrawObjects.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::GetPostDrawObjects
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jGoOiIpDiPoDiCmJjFgAiJoGiClDiCoKiCoJjFjEjFgJiCmMiPfHiNiHiCpAjFnEiClHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_iPfHiNiHiCmNiBeBjFgAiJoGiPiHiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.04.09 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCObjPictArrow::GetPostDrawObjects (ObjDynabaseVector& vObj) const
{
	if (m_nArrowDutyIndex == -1)
	{
		vObj.insert(vObj.end(), GetMemberArray(), GetMemberArray() + GetMemberSize());
	} else
	{
		vObj.insert(vObj.end(), GetMemberArray() + m_nArrowDutyIndex + 1,
						GetMemberArray() + GetMemberSize());
	}
} // FCObjPictArrow::GetPostDrawObjects.

//----- 05.05.01 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::GetObjUserUlong
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFjEjFgJiDiGiBfLiDfF_xHqqkZx_ID_xZkqqHx_iCpAjFnEiClHiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jFnEjCgM_xHqqkZx_>	_xZkqqHx_jFjEjFgJiDiGiBfLiDfF_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_
// *
// * <_xZkqqHx_iPnKiNnH_xHqqkZx_>	_xZkqqHx_jFjEjFgJiDiGiBfLiDfF_xHqqkZx_ID_xZkqqHx_iCmNiBeBiDhDiDeOiDgAiDiDjGoOiIpDiClCiCmGiCmJiDiGiBfLiDfFiCkKiOkJjHfCiCmJjAnNjCoIiCmFiCkLiCoJ_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_
// *			_xZkqqHx_iDhGiDiJiDePiDeDiDjDiCmFiDhDiDeOiDgAiDiDjGoOiIpDiCpAjBiAiNoMiClFiClNiCoIiClHiCoJjGnKjDeJiCmFiOgHjHhAiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.08.14 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//DWORD FCObjPictArrow::GetObjUserUlong () const
//{
//	return m_dwObjUserUlong;
//} // FCObjPictArrow::GetObjUserUlong.
//
///*************************************************************************
// * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::SetObjUserUlong
// *
// * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jFjEjFgJiDiGiBfLiDfF_xHqqkZx_ID_xZkqqHx_iCpAjAnNjCoIiClHiCoJiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	dwObjUserUlong	:_xZkqqHx_jFjEjFgJiDiGiBfLiDfF_xHqqkZx_ID_xZkqqHx_iCpAiOhHjCoIiBeC_xHqqkZx_
// *
// * <_xZkqqHx_iPnKiNnH_xHqqkZx_>	_xZkqqHx_jFjEjFgJiDiGiBfLiDfF_xHqqkZx_ID_xZkqqHx_iCmNiBeBiDhDiDeOiDgAiDiDjGoOiIpDiClCiCmGiCmJiDiGiBfLiDfFiCkKiOkJjHfCiCmJjAnNjCoIiCmFiCkLiCoJ_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_
// *			_xZkqqHx_iDhGiDiJiDePiDeDiDjDiCmFiDhDiDeOiDgAiDiDjGoOiIpDiCpAjBiAiNoMiClFiClNiCoIiClHiCoJjGnKjDeJiCmFiOgHjHhAiBeC_xHqqkZx_
// *
// * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.08.14 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
// *************************************************************************/
//void FCObjPictArrow::SetObjUserUlong (DWORD dwObjUserUlong)
//{
//	m_dwObjUserUlong = dwObjUserUlong;
//} // FCObjPictArrow::SetObjUserUlong.
//----- 05.05.01 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::Copy
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iIpIjAjEiCmMjFjEjFgJiCmJjBkOjAkLiCpAiDfCiDhDiBfLiClHiCoJ_xHqqkZx_.
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pObj	:_xZkqqHx_jBkOjAkLiCpAiDfCiDhDiBfLiClDiCoKiCoJjFjEjFgJ_xHqqkZx_.
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	01.04.09 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCObjPictArrow::Copy (FCObjDynabase* pObj) const
{
	// Superclass_xZkqqHx_iKnGjAjEiOmAiNhDiBeC_xHqqkZx_
	BASE_CLASS::Copy(pObj);
	// _xZkqqHx_iClBiCmMiDeOiDiJiDfIiCmMjBkOjAkLiCmMiCnNiCpAiDfCiDhDiBfLiBeC_xHqqkZx_
	FCObjPictArrow::CopySelf(pObj);
} // FCObjPictArrow::Copy.

/*************************************************************************
 * <_xZkqqHx_iKnGjAjE_xHqqkZx_>	FCObjPictArrow::CopySelf
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iClBiCmMiDeOiDiJiDfIiCmJjBkOiClHiCoJjBkOjAkLiCmMiCnNiCpAiDfCiDhDiBfLiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iIpIjAjE_xHqqkZx_>	pObj	:_xZkqqHx_iDfCiDhDiBfLjAoGiCmMjFjEjFgJiCpAiOhHjCoIiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.06.28 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
void FCObjPictArrow::CopySelf (FCObjDynabase* pObj) const
{
//----- 06.07.04 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	// _xZkqqHx_iClBiCmMiDeOiDiJiDfIiCmMiDfEiDhFiDeOiDiJiDfIiCmFjGlDiCkPiCoKiCmOjFkBiOmKiClJiClIjFjMiLeBiBeC_xHqqkZx_
	if (!pObj->IsKindOf(FCObjPictArrow::Type())) return;
//----- 06.07.04 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
//----- 01.07.11 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	// 6_xZkqqHx_iCmNiBeB_xHqqkZx_sizeof(short) + x = 8 _xZkqqHx_iCmMjClCjAkOjHhAiBeC_xHqqkZx_
//	ASSERT(sizeof(*this) - sizeof(BASE_CLASS) ==
//			sizeof(m_mmrtArrowFrame) + sizeof(m_nArrowDutyIndex) + 6 +
//			sizeof(m_byvArrowDuty));
//----- 01.07.11 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
	TRACE(	_T("%d %d\n"),
			sizeof(*this) - sizeof(BASE_CLASS),
			sizeof(m_mmrtArrowFrame) +
			sizeof(m_mmMinArrowPenWeight) +
			sizeof(m_nArrowDutyIndex) +
			sizeof(m_nArrowDutySz) +
			sizeof(m_bypArrowDuty));

	ASSERT(ALIGNMENT8(sizeof(BASE_CLASS)) == offsetof(FCObjPictArrow, m_mmrtArrowFrame));
	ASSERT(sizeof(*this) - sizeof(BASE_CLASS) ==
			sizeof(m_mmrtArrowFrame) +
			sizeof(m_mmMinArrowPenWeight) +
// 05.05.01 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//			sizeof(m_dwObjUserUlong) +
			sizeof(m_nArrowDutyIndex) +
			sizeof(m_nArrowDutySz) +
			sizeof(m_bypArrowDuty));
//----- 01.07.11 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----
	FCObjPictArrow* pArrow = reinterpret_cast<FCObjPictArrow*>(pObj);
	pArrow->m_mmrtArrowFrame = m_mmrtArrowFrame;
	pArrow->m_mmMinArrowPenWeight = m_mmMinArrowPenWeight;
// 05.05.01 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	pArrow->m_dwObjUserUlong = m_dwObjUserUlong;
	pArrow->m_nArrowDutyIndex = m_nArrowDutyIndex;
	//----- _xZkqqHx_iDiKiDjDiDeOjGpAiKiEjFjEjFgJiDiKiDfIiDgHiCpAiDfCiDhDiBfL_xHqqkZx_ -----
	// _xZkqqHx_iKpJjBlGiCmMiDiKiDfIiDgHiCpAiPmBiLiOiBeC_xHqqkZx_
	if (pArrow->m_bypArrowDuty != NULL)
	{
		delete[] pArrow->m_bypArrowDuty;
		pArrow->m_bypArrowDuty = NULL;
	}
	// _xZkqqHx_jEhKjHpBjAjEiCpAiDfCiDhDiBfLiBeC_xHqqkZx_
	pArrow->m_nArrowDutySz = m_nArrowDutySz;
	if (0 < m_nArrowDutySz)
	{
		pArrow->m_bypArrowDuty = new BYTE[m_nArrowDutySz];
		// _xZkqqHx_jAfGiClFiCkCjEhKjHpBiCmJiBeBiMmDiCkCjEhKjHpBiDgGiBfLiDfOiCpAiDfCiDhDiBfLiBeC_xHqqkZx_
		memcpy(pArrow->m_bypArrowDuty, m_bypArrowDuty, sizeof(m_bypArrowDuty[0]) * m_nArrowDutySz);
	}
} // FCObjPictArrow::CopySelf.
