Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Bounding box for Polygon_set_2

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Bounding box for Polygon_set_2


Chronological Thread 
  • From: Johnny Bigert <>
  • To:
  • Subject: Re: [cgal-discuss] Bounding box for Polygon_set_2
  • Date: Thu, 11 Aug 2022 09:15:23 +0200
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-data: A9a23:+0BdhaBOC0NfNRVW/+jlw5YqxClBgxIJ4kV8jS/XYbTApGwq1j1Sm GpJWz+FPvfZNGH3L9EkYdy380hX7cDQytYyOVdlrnsFo1Bi+ZOUX4zBRqvTF3rPdZObFBoPA +E2MISowBUcFyeEzvuVGuG96yE6j8lkf5KkYAL+EnkZqTRMFWFw0nqPp8Zj2tQy2YjgWlvU0 T/Pi5S31GGNi2Yc3l08sPrrRCNH5JwebxtF1rCWTakjUG72zxH5PrpHTU2CByeQrr1vIwKPb 72rIIdVUY/u10xF5tuNyt4Xe6CRK1LYFVDmZnF+A8BOjvXez8A/+v5TCRYSVatYozawk/Qtm NpAjsSbahoSN5XVmd5GECANRkmSPYUekFPGCX22sMjW10mfNnW1k6woA0YxMokVvO1wBAmi9 9RCcGFLPk3F3bvqhuvrE4GAhex7RCXvFIEYundm3BnUC/07S52FU7TYjTNd9Gtg25oURqqPD yYfQR9sXkzjRABFBnkOGsI6jffr20v+QzIN/Tp5ooJuuzSJpOBr65DmP9PRP9CLXs5IhV2wv XPD522/AxcANdXZxyDtz563rurGnCe+QIZLUbPhpqcsj1qUyWgeThYRUDNXvMVVlGa9Yt57d xwb9xF2hosvz0WTV9jHBF6B9SvsUgEnZ/JcFOgz6Qeow6XS4hqECmVsctKnQIx23CPRbWx6v mJlj+8FFhQ07+LIESP1GqO86GLtaXJMfAfucAddFVNdi+QPtr3fmf4mczqOOKu8j9mwATWph j7T/HF4iLIUgsoGka68+DgrYg5ARLCZEGbZBS2NBgpJCz+Vgqb7PuREDnCFtJ59wH6xFAXpg ZT9s5H2ABoyJZ+MjjeRZ+4GAauk4f2IWBWF3wA3R8dwp279pSX+FWy13N2YDBc5WirjUW+5C HI/RSsMjHOuFCD3M/EvMtLZ5zoClPm4SomNug/ogipmO8AtLmdrDQlhYkmf222FraTfufBXB HtvSu71VSxyIf0/klKeHr5BuZd2mH1W7T6MHfjTkkX/uZLDNSX9YepUYDOmMLplhIva+1692 4gEZ6O3J+B3CrKWjt//qt5Nczjn7BETWfjLliCgXrfSe1E+Rz15VqO5LHFIU9UNopm5X9zgp hmVMnK0AnKm7ZEeAQnVOH1ldp31WpNz8SAyMSA2ZA761n4ofIyiqrcOZcJvL7Ug8eViy99yT uUEIpjRWaoUEWWYpDlNP4PgqIFCdQiwgV7cNSSSfzViLYVrQBbE+4G4c1K3pjUOFCe+qeA3v 6akilHAWZMGSgk7VJTWZfujwkmfp38YnO4uDULELsMKIBfh9oN3ISG3nu4lepleJRLGzzqc9 gCXHRZB+LiW/dRuoYaWiPnd/YmzEuZ4Ek5LJEXh7O67ZXvA426u4Y5cS+LULzrTY3z5pfe5b uJPwvCibPBexARWs5BxGqpAxL4l44e9vKdTywlpESmZb1mvDb88cHCK0dMV6v9Iz75d/BOyA weBo4kDf7qOP8zhHRgaIw98NraP0vQdmz/z6/UpIRWluHUmouLfCUgCbQORjCF9LaduNN93y +kWvsNLuRe0jQAnM4rbgy0IpX6AKGcMD/cuup0AWtO5jwMqzhRaZcWZBHamudeAbNJDNkRsK TiR3fKQi7NZz0vEUnwyCXmdgrYH1MpW4EhHnA0YOlCEutvZnftrjhdfxjI6E1ZOxRJd3uMvZ 2VmOiWZ/0lVE+uEUCSCY4ytJ+2FLBiQ+0i0019Q0WOAHxDuWWvKI2kwf+2K+Sj1No6akidzp NmlJKTNCF4Gv/0dGgM/X0V4ofGlXc1jnuEHsN7yBNyLRvHWfhK86pJDpgM0R9/PDMU6mUfK4 /l77o6crEE92TE4+8UGNmVR6VjcpN1o6oCPrTGNMZ7lxV3hRQw=
  • Ironport-hdrordr: A9a23:v9jJ9aupedV6zfsSkyfEiXi37skDT9V00zEX/kB9WHVpm62j5r mTdZEgvyMc5wxhPU3I9erwWpVoBEmslqKdgrNxAV7BZniDhILAFugLhrcKgQeBJ8SUzJ876U 4PSdkZNDQyNzRHZATBjTVQ3+xO/DBPys6Vuds=
  • Ironport-phdr: A9a23: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 Exv4jY=
  • Ironport-sdr: 8y6H41GesQFTfP9eOtL6WTfa+mZjezV1FRINCpDoiLu60zE5zNemkxB93qUkbwzUKb5Oq8jUCY bRpg2qKZEAAtKIBBCTuFjKi8YRe2Ck6ANFM5PlbX0cTKzNhwQFkIJmwIA0WPM6qD9Dcz+grUgt xGUCzoH8e2rLhqg8LpifafxnpjKnWxvCzne3VAlvQNN/7t9EylKqvDqxoGD7xnQ5nH82o9dZWV hddieP45C7Nz9bJq59NMnkQOryWen3SaIuZb7us1Bpsr+gHwrWkOJc6261fqTfFeazg2yUVtHV PfYCxhR55vfHsFyxBwFGPClF

Thanks! Yes, I ended up solving it exactly like you. I just assumed there was a bbox() function that I missed somewhere. Perhaps a Polygon_set_2::bbox() function would be good for conformity()?

On Wed, Aug 10, 2022 at 5:50 PM Efi Fogel <> wrote:
Hi Johnny,

Assuming S is of type Polygon_set_2:

std::list<Polygon_with_holes_2> res;
CGAL::Bbox_2 bbox;
S.polygons_with_holes(std::back_inserter (res));
for (auto it = res.begin(); it != res.end(); ++it) bbox += it->outer_boundary().bbox();

This is not that efficient, because an intermediate container of polygons with holes is constructed.
As an alternative, you can obtain the underlying arrangement, and then iterate over the vertices of the arrangement.

Regards,
Efi
   ____  _        ____             _
  /_____/_) o    /__________  __  //
 (____ (   (    (    (_/ (_/-(-'_(/
                         _/




On Tue, 9 Aug 2022 at 16:42, Johnny Bigert <> wrote:
Hi,

What is the easiest way to find the (axis-aligned) bounding box for a Polygon_set_2? I have looked everywhere (polygon set itself, underlying arrangement, free functions etc) but have not been able to find anything. Thanks.

     BR, Johnny

--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss


--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss




Archive powered by MHonArc 2.6.19+.

Top of Page