예제 #1
0
/******************************************************************************
	Test function.  Used to locate the specific "Entry" item in the main object
	linked list which is the best entry to use for converting the supplied
	point.
*/
double CStestNad27ToCsrsEntry (struct csNad27ToCsrsEntry_* __This,Const double* ll_csrs)
{
	extern double cs_Zero;
	
	struct csNad27ToAts77Entry_ *nad27ToAts77Ptr; 
	struct csAts77ToCsrsEntry_ *ats77ToCsrsPtr; 
	double rtnValue = cs_Zero;

	rtnValue = cs_Zero;
	switch (__This->type){
	case dtNad27ToCsrsC2:
		rtnValue = CStestDatumShiftCa2 (__This->pointers.c2DatumPtr,ll_csrs);
		break;
	case dtNad27ToCsrsXfrm:
		nad27ToAts77Ptr = CSselectNad27ToAts77 (__This->pointers.nad27ToCsrsViaXfrm->nad27ToAts77,ats77DirToAts77,ll_csrs);
		if (nad27ToAts77Ptr != NULL)
		{
			ats77ToCsrsPtr = CSselectAts77ToCsrs (__This->pointers.nad27ToCsrsViaXfrm->ats77ToCsrs,ll_csrs);
			if (ats77ToCsrsPtr != NULL)
			{
				rtnValue = __This->density; 
			}
		}
		break;
	case dtNad27ToCsrsNoneYet:
	default:
		rtnValue = cs_Zero;
		break;
	}
	return rtnValue;
}
예제 #2
0
/******************************************************************************
	Test function.  Used to locate the specific "Entry" item in the main object
	linked list which is the best entry to use for converting the supplied
	point.
*/
double CStestAts77ToCsrsEntry (struct csAts77ToCsrsEntry_* __This,Const double* ll_ats77)
{
	double rtnValue;

	switch (__This->type){
	case dtAts77ToCsrsC2:
		rtnValue = CStestDatumShiftCa2 (__This->pointers.c2DatumPtr,ll_ats77);
		break;
	case dtAts77ToCsrsNoneYet:
	default:
		rtnValue = 0.0;
		break;
	}
	return rtnValue;
}
예제 #3
0
/******************************************************************************
	Test function.  Used to locate the specific "Entry" item in the main object
	linked list which is the best entry to use for converting the supplied
	point.
*/
double CStestEd50ToEtrf89Entry (struct csEd50ToEtrf89Entry_* __This,Const double* ll50)
{
	double rtnValue;

	switch (__This->type){
	case dtEd50ToEtrf89C2:
		rtnValue = CStestDatumShiftCa2 (__This->pointers.c2DatumPtr,ll50);
		break;
	case dtEd50ToEtrf89NoneYet:
	default:
		rtnValue = 0.0;
		break;
	}
	return rtnValue;
}
예제 #4
0
/******************************************************************************
	Test function.  Used to locate the specific "Entry" item in the main object
	linked list which is the best entry to use for converting the supplied
	point.
*/
double CStestRgf93ToNtfEntry (struct csRgf93ToNtfEntry_* __This,Const double* llRgf93)
{
	double rtnValue;

	switch (__This->type){
	case dtRgf93ToNtfTxt:
		rtnValue = CStestRgf93ToNtfTxt (__This->pointers.txtDatumPtr,llRgf93);
		break;
	case dtRgf93ToNtfC2:
		rtnValue = CStestDatumShiftCa2 (__This->pointers.c2DatumPtr,llRgf93);
		break;
	case dtRgf93ToNtfNone:
	default:
		rtnValue = 0.0;
		break;
	}
	return rtnValue;
}