namespace TGS {
namespace COL {
TgVOID Unit_Test_Collision_Triangle()
{
TgFLOAT32 tyT0;
TgF4VECTOR tvS0 = TgF4VECTOR::ZERO;
TgF4DELTA tgDT0;
TgF4PARTICLE tgPC0;
TgF4LINE tgLN0;
TgF4RAY tgRY0;
TgF4SEGMENT tgSG0;
TgF4PTRI tgPT0;
TgF4ETRI tgET0;
TgF4STRI tgST0;
TgF4RECTANGLE tgRT0;
TgF4VECTOR tvRT0;
TgF4CONTACT_PACKET tgPK;
TgF4CLIP_LIST tgCL;
TgF4AXIS_PROJECT tgAX;
TgINT iCode;
F_DistSq( tgET0, tvS0 );
F_DistSq( tgST0, tgLN0 );
F_DistSq( tgST0, tgRY0 );
F_DistSq( tgST0, tgSG0 );
F_DistSq( tgST0, tgST0 );
F_Dist( tgET0, tvS0 );
F_Dist( tgST0, tgLN0 );
F_Dist( tgST0, tgRY0 );
F_Dist( tgST0, tgSG0 );
F_Dist( tgST0, tgST0 );
F_ClosestSq( &tvRT0, tgET0, tvS0 );
F_ClosestSq( &tvRT0, &tvRT0, tgST0, tgLN0 );
F_ClosestSq( &tvRT0, &tvRT0, tgST0, tgRY0 );
F_ClosestSq( &tvRT0, &tvRT0, tgST0, tgSG0 );
F_ClosestSq( &tvRT0, &tvRT0, tgST0, tgST0 );
F_Closest( &tvRT0, tgET0, tvS0 );
F_Closest( &tvRT0, &tvRT0, tgST0, tgLN0 );
F_Closest( &tvRT0, &tvRT0, tgST0, tgRY0 );
F_Closest( &tvRT0, &tvRT0, tgST0, tgSG0 );
F_Closest( &tvRT0, &tvRT0, tgST0, tgST0 );
F_ClosestSq( &tyT0,&tyT0, tgET0, tvS0 );
F_ClosestSq( &tyT0,&tyT0, &tyT0, tgST0, tgLN0 );
F_ClosestSq( &tyT0,&tyT0, &tyT0, tgST0, tgRY0 );
F_ClosestSq( &tyT0,&tyT0, &tyT0, tgST0, tgSG0 );
F_ClosestSq( &tyT0,&tyT0, &tyT0,&tyT0, tgST0, tgST0 );
F_Closest( &tyT0,&tyT0, tgET0, tvS0 );
F_Closest( &tyT0,&tyT0, &tyT0, tgST0, tgLN0 );
F_Closest( &tyT0,&tyT0, &tyT0, tgST0, tgRY0 );
F_Closest( &tyT0,&tyT0, &tyT0, tgST0, tgSG0 );
F_Closest( &tyT0,&tyT0, &tyT0,&tyT0, tgST0, tgST0 );
F_Contact_Test( tgET0, tgLN0 );
F_Contact_Test( tgET0, tgRY0 );
F_Contact_Test( tgET0, tgSG0 );
F_Contact_Test( tgST0, tgST0 );
F_Contact_Test( tgST0, tgST0, tgDT0 );
F_Contact_Intersect( &tyT0,&tyT0, &tyT0, tgET0, tgLN0 );
F_Contact_Intersect( &tyT0,&tyT0, &tyT0, tgET0, tgRY0 );
F_Contact_Intersect( &tyT0,&tyT0, &tyT0, tgET0, tgSG0 );
F_Contact_Intersect( &tgPK, tgET0, tgLN0 );
F_Contact_Intersect( &tgPK, tgET0, tgRY0 );
F_Contact_Intersect( &tgPK, tgET0, tgSG0 );
F_Contact_Intersect( &tgPK, tgST0, tgST0 );
F_Contact_Sweep( &tgPK, &tyT0, tgPC0, tgET0, tgDT0 );
F_Contact_Sweep( &tgPK, &tyT0, tgPC0, tgST0, tgDT0 );
F_Contact_Sweep( &tgPK, &tyT0, tgET0, tgPC0 );
F_Contact_Sweep( &tgPK, &tyT0, tgST0, tgPC0 );
F_Contact_Sweep( &tgPK, &tyT0, tgST0, tgST0, tgDT0 );
F_ClipF( &tyT0,&tyT0, &iCode, tgST0, tgLN0 );
F_ClipF( &tyT0,&tyT0, &iCode, tgST0, tgRY0 );
F_ClipF( &tyT0,&tyT0, &iCode, tgST0, tgSG0 );
F_ClipF( &tgCL, tgST0, tgLN0 );
F_ClipF( &tgCL, tgST0, tgRY0 );
F_ClipF( &tgCL, tgST0, tgSG0 );
F_Clip( &tyT0,&tyT0, tgST0, tgLN0 );
F_Clip( &tyT0,&tyT0, tgST0, tgRY0 );
F_Clip( &tyT0,&tyT0, tgST0, tgSG0 );
F_Clip( &tgCL, tgET0 );
F_Clip( &tgCL, tgST0 );
F_Clip( &tgCL, tgET0, tgPT0 );
F_Clip( &tgCL, tgST0, tgLN0 );
F_Clip( &tgCL, tgST0, tgRY0 );
F_Clip( &tgCL, tgST0, tgSG0 );
F_Clip( &tgCL, tgST0, tgPT0 );
F_Clip( &tgCL, tgST0, tgRT0 );
F_Axis_ProjInfo( &tgAX, tvS0, tgET0.Query_PT() );
};
};
};