From 3703fe702392f5ce4064a91cef5eead3d9f10afa Mon Sep 17 00:00:00 2001 From: hyzboy Date: Tue, 6 Aug 2024 00:50:59 +0800 Subject: [PATCH] Added Pick2DTest.cpp --- CMakeLists.txt | 5 ++ math/TransformBenchmark.cpp | 2 +- pick/Pick2DTest.cpp | 95 +++++++++++++++++++++++++++++++++++++ 3 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 pick/Pick2DTest.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 4545268..1c4b1c6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -91,6 +91,11 @@ cm_example_project("DataType/DataArray" DataChainTest) add_executable(DataChainTest2 datatype/DataChainTest2.cpp) cm_example_project("DataType/DataArray" DataChainTest2) +#################################################################################################### + +add_executable(Pick2DTest pick/Pick2DTest.cpp) +cm_example_project("Pick" Pick2DTest) +target_link_libraries(Pick2DTest PRIVATE CM2D) #################################################################################################### diff --git a/math/TransformBenchmark.cpp b/math/TransformBenchmark.cpp index b8304c7..08d6efb 100644 --- a/math/TransformBenchmark.cpp +++ b/math/TransformBenchmark.cpp @@ -5,7 +5,7 @@ using namespace hgl; -constexpr const size_t TEST_COUNT=10000; +constexpr const size_t TEST_COUNT=1000000; int main(int,char **) { diff --git a/pick/Pick2DTest.cpp b/pick/Pick2DTest.cpp new file mode 100644 index 0000000..0c1b429 --- /dev/null +++ b/pick/Pick2DTest.cpp @@ -0,0 +1,95 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +std::random_device rd; +std::mt19937 gen(rd()); +std::uniform_real_distribution<> dis_01(0, 1); +std::uniform_int_distribution<> dis_int(0, 1023); + +using namespace hgl; +using namespace std; + +void Pick2DRectangle() +{ + RectScope2f rs; + + rs.SetPosition(0,0); + rs.SetSize(1,1); + + rs.PointIn(hgl::Vector2f(0.5,0.5)); +} + +void Pick2DTriangle() +{ + graph::Triangle2i tri; + + Vector2i v[3]; + Vector3i edge_length; + Vector2i t; + + for(int i=0;i<3;i++) + { + v[i].x=dis_int(gen); + v[i].y=dis_int(gen); + + tri.SetVertex(i,v[i]); + + std::cout<<"triangle "<