namespace TGS {
namespace COL {
TgVOID Unit_Test_Collision_Sphere()
{
TgF4VECTOR tvS0 = TgF4VECTOR::ZERO;
TgF4DELTA tgDT;
TgF4LINE tgLN0;
TgF4RAY tgRY0;
TgF4SEGMENT tgSG0;
TgF4PLANE tgPN0;
TgF4SPHERE tgSP0;
TgF4ETRI tgET0;
TgF4CTRI tgCT0;
TgF4STRI tgST0;
TgF4VECTOR tvRT0;
TgFLOAT32 tyRT0;
TgF4CONTACT_PACKET tgPK;
TgF4CLIP_LIST tgCL;
F_DistSq( tgSP0, tvS0 );
F_DistSq( tgSP0, tgLN0 );
F_DistSq( tgSP0, tgRY0 );
F_DistSq( tgSP0, tgSG0 );
F_DistSq( tgSP0, tgSP0 );
F_DistSq( tgSP0, tgET0 );
F_DistSq( tgSP0, tgPN0 );
F_Dist( tgSP0, tvS0 );
F_Dist( tgSP0, tgLN0 );
F_Dist( tgSP0, tgRY0 );
F_Dist( tgSP0, tgSG0 );
F_Dist( tgSP0, tgSP0 );
F_Dist( tgSP0, tgET0 );
F_Dist( tgSP0, tgPN0 );
F_ClosestSq( &tvRT0, tgSP0, tvS0 );
F_ClosestSq( &tvRT0, &tvRT0, tgSP0, tgLN0 );
F_ClosestSq( &tvRT0, &tvRT0, tgSP0, tgRY0 );
F_ClosestSq( &tvRT0, &tvRT0, tgSP0, tgSG0 );
F_ClosestSq( &tvRT0, &tvRT0, tgSP0, tgSP0 );
F_ClosestSq( &tvRT0, &tvRT0, tgSP0, tgET0 );
F_ClosestSq( &tvRT0, &tvRT0, tgSP0, tgPN0 );
F_Closest( &tvRT0, tgSP0, tvS0 );
F_Closest( &tvRT0, &tvRT0, tgSP0, tgLN0 );
F_Closest( &tvRT0, &tvRT0, tgSP0, tgRY0 );
F_Closest( &tvRT0, &tvRT0, tgSP0, tgSG0 );
F_Closest( &tvRT0, &tvRT0, tgSP0, tgSP0 );
F_Closest( &tvRT0, &tvRT0, tgSP0, tgET0 );
F_Closest( &tvRT0, &tvRT0, tgSP0, tgPN0 );
F_ClosestSq( &tvRT0, &tyRT0, tgSP0, tgLN0 );
F_ClosestSq( &tvRT0, &tyRT0, tgSP0, tgRY0 );
F_ClosestSq( &tvRT0, &tyRT0, tgSP0, tgSG0 );
F_ClosestSq( &tvRT0, &tyRT0, &tyRT0, tgSP0, tgET0 );
F_Closest( &tvRT0, &tyRT0, tgSP0, tgLN0 );
F_Closest( &tvRT0, &tyRT0, tgSP0, tgRY0 );
F_Closest( &tvRT0, &tyRT0, tgSP0, tgSG0 );
F_Closest( &tvRT0, &tyRT0, &tyRT0, tgSP0, tgET0 );
F_Contact_Test( tgSP0, tgLN0 );
F_Contact_Test( tgSP0, tgRY0 );
F_Contact_Test( tgSP0, tgSG0 );
F_Contact_Test( tgSP0, tgSP0, tvS0, 1.0F );
F_Contact_Test( tgSP0, tgSP0 );
F_Contact_Test( tgSP0, tgET0 );
F_Contact_Test( tgSP0, tgPN0 );
F_Contact_Intersect( &tgPK, tgSP0, tgLN0 );
F_Contact_Intersect( &tgPK, tgSP0, tgRY0 );
F_Contact_Intersect( &tgPK, tgSP0, tgSG0 );
F_Contact_Penetrate( &tgPK, tvS0, tgSP0 );
F_Contact_Penetrate( &tgPK, tgLN0, tgSP0 );
F_Contact_Penetrate( &tgPK, tgRY0, tgSP0 );
F_Contact_Penetrate( &tgPK, tgSG0, tgSP0 );
F_Contact_Penetrate( &tgPK, tgSP0, tgSP0 );
F_Contact_Penetrate( &tgPK, tgCT0, tgSP0 );
F_Contact_Penetrate( &tgPK, tgPN0, tgSP0 );
F_Contact_Penetrate( &tgPK, tgSP0, tgPN0 );
F_Contact_Sweep( &tgPK, &tyRT0, tvS0, tgSP0, tgDT );
F_Contact_Sweep( &tgPK, &tyRT0, tgSP0, tvS0, tgDT );
F_Contact_Sweep( &tgPK, &tyRT0, tgLN0, tgSP0, tgDT );
F_Contact_Sweep( &tgPK, &tyRT0, tgRY0, tgSP0, tgDT );
F_Contact_Sweep( &tgPK, &tyRT0, tgSG0, tgSP0, tgDT );
F_Contact_Sweep( &tgPK, &tyRT0, tgSP0, tgSP0, tgDT );
F_Contact_Sweep( &tgPK, &tyRT0, tgST0, tgSP0, tgDT );
F_Contact_Sweep( &tgPK, &tyRT0, tgPN0, tgSP0, tgDT );
F_Internal_Penetrate( &tgPK, tvS0, tgSP0, tvS0, 1.0F );
F_Internal_Penetrate( &tgPK, tgCT0, tgSP0 );
F_Clip( &tyRT0,&tyRT0, tgSP0, tgLN0 );
F_Clip( &tyRT0,&tyRT0, tgSP0, tgRY0 );
F_Clip( &tyRT0,&tyRT0, tgSP0, tgSG0 );
F_Clip( &tgCL, tgSP0, tgLN0 );
F_Clip( &tgCL, tgSP0, tgRY0 );
F_Clip( &tgCL, tgSP0, tgSG0 );
};
};
};