From 856c7cf21b83ef14da0dc9891fbc46482c529567 Mon Sep 17 00:00:00 2001 From: "S. Kramm" Date: Sat, 16 Mar 2024 22:14:38 +0100 Subject: [PATCH] added demo_pip figure --- docs/img/demo_pip.gif | Bin 0 -> 40989 bytes misc/figures_src/src/demo_pip.cpp | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 docs/img/demo_pip.gif diff --git a/docs/img/demo_pip.gif b/docs/img/demo_pip.gif new file mode 100644 index 0000000000000000000000000000000000000000..a7c813fe8068e950f52f7179d328ba53c30d8822 GIT binary patch literal 40989 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 literal 0 HcmV?d00001 diff --git a/misc/figures_src/src/demo_pip.cpp b/misc/figures_src/src/demo_pip.cpp index 9f0a75b..0a293e8 100644 --- a/misc/figures_src/src/demo_pip.cpp +++ b/misc/figures_src/src/demo_pip.cpp @@ -19,10 +19,10 @@ void drawFig( const P& poly, const BB& bb, const Point2d& pt, const Point2d* pt2 if( pt2 ) { auto seg = Segment( pt, *pt2 ); - std::cout << seg << "\n"; +// std::cout << seg << "\n"; seg.draw( im, DrawParams().setColor(0,0,250) ); auto inter = seg.intersects( poly ); - auto color = DrawParams().setColor(0,250,0).setPointStyle(PtStyle::Dot).setThickness(3).setPointSize(15); + auto color = DrawParams().setColor(0,250,0).setPointStyle(PtStyle::Dot).setThickness(2).setPointSize(10); pt2->draw( im, color ); if( inter() ) {