homog2d library
Functions
showcase7b.cpp File Reference

shows isInside() FRect vs CPolyline More...

#include "../../homog2d.hpp"
Include dependency graph for showcase7b.cpp:

Functions

int main (int, const char **)
 

Detailed Description

shows isInside() FRect vs CPolyline

Function Documentation

◆ main()

int main ( int  ,
const char **   
)
12 {
13  auto n = 25; // nb images
14  Circle cir( 100,100,15 );
15  FRect rect(70,60,150,130);
16 
17  img::Image<img::SvgImage> im( 320, 250 );
18 
19  auto col_outside = img::DrawParams().setColor(50,20,200);
20  auto col_inside = img::DrawParams().setColor(200,20,20).setThickness(2);
21 
22 
23  for( int i=0; i<n; i++ )
24  {
25  im.clear();
26 
27  auto col_c = col_outside;
28  if( cir.isInside( rect ) )
29  col_c = col_inside;
30 
31  auto col_p = col_outside;
32  if( rect.isInside( cir ) )
33  col_p = col_inside;
34 
35  rect.draw( im, col_p );
36  cir.draw( im, col_c );
37 
38  auto inter = cir.intersects(rect);
39  if( inter() )
40  for( const auto& pt: inter.get() )
41  pt.draw( im );
42 
43  if( i < n/2 )
44  cir.set( cir.radius() * 1.2 );
45  else
46  cir.set( cir.radius() * 1./1.2 );
47 
48  std::ostringstream oss;
49  oss << "showcase7b_" << std::setfill('0') << std::setw(2) <<i << ".svg";
50  im.write( oss.str() );
51  }
52 }
A circle.
Definition: homog2d.hpp:378
void draw(img::Image< cv::Mat > &, img::DrawParams dp=img::DrawParams()) const
Draw FRect (Opencv implementation)
Definition: homog2d.hpp:11845
FRect rect
Definition: homog2d_test.cpp:4038
DrawParams & setThickness(uint8_t t)
Definition: homog2d.hpp:600
void draw(img::Image< img::SvgImage > &im, img::DrawParams dp=img::DrawParams()) const
SVG draw function.
Definition: homog2d.hpp:4414
Draw parameters, independent of back-end library.
Definition: homog2d.hpp:514
void draw(img::Image< cv::Mat > &, img::DrawParams=img::DrawParams()) const
Draw Circle (Opencv implementation)
Definition: homog2d.hpp:11907
void set(const Point2d_< PT > &center)
Set circle center point, radius unchanged.
Definition: homog2d.hpp:3297
bool isInside(const T &shape) const
Returns true if rectangle is inside shape (Circle_ or FRect_ or base::Polyline)
Definition: homog2d.hpp:2972
img::Image< img::SvgImage > im(300, 400)
bool isInside(const Circle_< FPT2 > &other) const
Returns true if circle is inside other circle.
Definition: homog2d.hpp:3403
A Flat Rectangle, modeled by its two opposite points.
Definition: homog2d.hpp:379
Opaque data structure, will hold the image type, depending on back-end library. This type is the one ...
Definition: homog2d.hpp:712
DrawParams & setColor(uint8_t r, uint8_t g, uint8_t b)
Definition: homog2d.hpp:605
std::array< FPT, 3 > get() const
Definition: homog2d.hpp:4203
detail::Intersect< detail::Inters_2, FPT > intersects(const Line2d_< FPT2 > &li) const
Circle/Line intersection.
Definition: homog2d.hpp:3434
Point2d pt
Definition: homog2d_test.cpp:4034
FPT & radius()
Definition: homog2d.hpp:3256
Circle cir
Definition: homog2d_test.cpp:4036
Here is the call graph for this function: