123456789101112131415161718192021222324252627282930313233 |
- #include "catch.hpp"
- #include "DetourCommon.h"
- TEST_CASE("dtRandomPointInConvexPoly")
- {
- SECTION("Properly works when the argument 's' is 1.0f")
- {
- const float pts[] = {
- 0, 0, 0,
- 0, 0, 1,
- 1, 0, 0,
- };
- const int npts = 3;
- float areas[6];
- float out[3];
- dtRandomPointInConvexPoly(pts, npts, areas, 0.0f, 1.0f, out);
- REQUIRE(out[0] == Approx(0));
- REQUIRE(out[1] == Approx(0));
- REQUIRE(out[2] == Approx(1));
- dtRandomPointInConvexPoly(pts, npts, areas, 0.5f, 1.0f, out);
- REQUIRE(out[0] == Approx(1.0f / 2));
- REQUIRE(out[1] == Approx(0));
- REQUIRE(out[2] == Approx(1.0f / 2));
- dtRandomPointInConvexPoly(pts, npts, areas, 1.0f, 1.0f, out);
- REQUIRE(out[0] == Approx(1));
- REQUIRE(out[1] == Approx(0));
- REQUIRE(out[2] == Approx(0));
- }
- }
|