26TEST(math_geom, IsectPointTri2D)
28 float2 tri_cw[3] = {{-2, 1}, {4, 4}, {2, -3}};
29 float2 tri_ccw[3] = {{-2, 1}, {2, -3}, {4, 4}};
72TEST(math_geom, IsectPointQuad2D)
74 float2 quad_cw[4] = {{-2, 1}, {4, 4}, {5, 1}, {2, -3}};
75 float2 quad_ccw[4] = {{-2, 1}, {2, -3}, {5, 1}, {4, 4}};
120 const float tri_cw_2d[3][2] = {{-1, 0}, {0, 1}, {1, 0}};
121 const float tri_cw_3d[3][3] = {{-1, 0}, {0, 1}, {1, 0}};
123 const float tri_ccw_2d[3][2] = {{1, 0}, {0, 1}, {-1, 0}};
124 const float tri_ccw_3d[3][3] = {{1, 0}, {0, 1}, {-1, 0}};
126 auto cross_tri_v3_as_float3 = [](
const float(*poly)[3]) ->
float3 {
129 return float3(n[0], n[1], n[2]);
132 auto cross_poly_v3_as_float3 = [](
const float(*poly)[3]) ->
float3 {
135 return float3(n[0], n[1], n[2]);
139 EXPECT_EQ(cross_tri_v3_as_float3(tri_cw_3d)[2], -2);
142 EXPECT_EQ(cross_poly_v3_as_float3(tri_cw_3d)[2], -2);
146 EXPECT_EQ(cross_tri_v3_as_float3(tri_ccw_3d)[2], 2);
149 EXPECT_EQ(cross_poly_v3_as_float3(tri_ccw_3d)[2], 2);