void Vessel::SetFrameGroup(StartAndEndFrameInfo* pFameInfo, float FrameSpeed)
{
	SetFrameStart( pFameInfo->StartFrame );
	SetEndFrame( pFameInfo->EndFrame );
	SetFrame( GetFrameStart() );
	SetFrameSpeed( FrameSpeed );  
}
bool CSelection::IsSameStartPoint(const CSelection &selection) const
{
	return GetChanStart() == selection.GetChanStart() &&
		GetRowStart() == selection.GetRowStart() &&
		GetColStart() == selection.GetColStart() &&
		GetFrameStart() == selection.GetFrameStart();		// // //
}
void Vessel::SetFrameGroupWithRandomFrame(StartAndEndFrameInfo* pFameInfo, float FrameSpeed)
{
	SetFrameGroup(pFameInfo,FrameSpeed);
	SetFrame( GetFrameStart() + ( rand()% (int)(GetEndFrame() - GetFrameStart()) ) );
}
void CFrameSelection::Normalize(CFrameCursorPos &Begin, CFrameCursorPos &End) const
{
	CFrameCursorPos Temp {GetFrameStart(), GetChanStart()};
	std::swap(End, CFrameCursorPos {GetFrameEnd(), GetChanEnd()});
	std::swap(Begin, Temp);
}
void CSelection::Normalize(CCursorPos &Begin, CCursorPos &End) const		// // //
{
	CCursorPos Temp {GetRowStart(), GetChanStart(), GetColStart(), GetFrameStart()};
	std::swap(End, CCursorPos {GetRowEnd(), GetChanEnd(), GetColEnd(), GetFrameEnd()});
	std::swap(Begin, Temp);
}