AttachFormulation函数C++

bool _stdcall CalAttachAngle(double AngOffset, double TechTarAng, double PtMatAng,
	                         double PtTarAng, double &AttachMatAngle)
{

	try
	{
		AttachMatAngle = AngOffset + TechTarAng + (PtTarAng - PtMatAng);
		return true;
	}
	catch (...)
	{
		AttachMatAngle = 0;
		return false;
	}
}

bool _stdcall ObjRotPos(double RotAngle, double CenX, double CenY, double OldX, double OldY, double &NewX, double &NewY)
{

	try
	{
		double RotX = (OldX - CenX) * cos(RotAngle) - (OldY - CenY) * sin(RotAngle);
		double RotY = (OldY - CenY) * cos(RotAngle) + (OldX - CenX) * sin(RotAngle);
		NewX = RotX + CenX;
		NewY = RotY + CenY;
		return true;
	}
	catch (...)
	{
		return false;
	}
}

bool _stdcall PushBack(double TarX, double TarY, double NowX, double NowY, double &Dx, double &Dy)
{
	try
	{
		Dx = -(NowX - TarX);
		Dy = -(NowY - TarY);

		return true;
	}
	catch (...)
	{
		return false;
	}


}

bool _stdcall SystemScale(double X, double Y, double Scale, double &NewX, double &NewY)
{

	try
	{
		NewX = X*Scale;
		NewY = Y*Scale;
		return true;
	}
	catch (...)
	{
		return false;
	}


}


bool _stdcall DisFrmTar(double TarX, double TarY, double NowX, double NowY, double &Dx, double &Dy)
{
	try
	{
		Dx = (NowX - TarX);
		Dy = (NowY - TarY);

		return true;
	}
	catch (...)
	{
		return false;
	}


}

bool _stdcall DownCamPos(double TarX, double TarY, double TdX, double TdY, double &DownCamX, double &DownCamY)
{
	try
	{
		DownCamX = (TarX + TdX);
		DownCamY = (TarY + TdY);

		return true;
	}
	catch (...)
	{
		return false;
	}


}

bool _stdcall TranPos(double TarX, double TarY, double TdX, double TdY, double &TranX, double &TranY)
{
	try
	{
		TranX = (TarX + TdX);
		TranY = (TarY + TdY);

		return true;
	}
	catch (...)
	{
		return false;
	}


}

bool _stdcall StdAttPos(double TranX, double TranY, double stddX, double stddY, double &stdX, double &stdY)
{
	try
	{
		stdX = (TranX + stddX);
		stdY = (TranY + stddY);

		return true;
	}
	catch (...)
	{
		return false;
	}


}

bool _stdcall TalOffsetPos(double TipdX, double TipdY, double PntdX, double PntdY, double stddX, double stddY, double &TaldX, double &TaldY)
{
	try
	{
		TaldX = (TipdX + PntdX + stddX);
		TaldY = (TipdY + PntdY + stddY);

		return true;
	}
	catch (...)
	{
		return false;
	}


}

bool _stdcall CalAttPos(double TipCaliPosX, double TipCaliPosY, double AttStdPosX, double AttStdPosY, double ProStdPosX, double ProStdPosY, 
	                    double PtMatPosX, double PtMatPosY, double PtProPosX, double PtProPosY, double &AttX, double &AttY)
{
	try
	{
		AttX = (PtMatPosX - TipCaliPosX) + (PtProPosX - ProStdPosX) + AttStdPosX;
		AttY = (PtMatPosY - TipCaliPosY) + (PtProPosY - ProStdPosY) + AttStdPosY;
		return true;
	}
	catch (...)
	{
		return false;
	}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值