Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Check if region contains point

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Check if region contains point


Chronological Thread 
  • From: Claus Volko <>
  • To:
  • Subject: Re: [cgal-discuss] Check if region contains point
  • Date: Wed, 13 Sep 2023 12:41:16 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-data: A9a23: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
  • Ironport-hdrordr: A9a23:YHWyn6ic54KpbXcIjtWXS0kGVXBQXuMji2hC6mlwRA09TyX4rb HWoB1/73XJYVkqKRQdcLy7Scu9qDbnhP1ICOoqXItKPjOW3FdARbsKheDfKn/bexEWndQtsp uIHZIObuEYzmIXsS852mSF+hobr+VvOZrHudvj
  • Ironport-phdr: A9a23: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 vsehQ53YOBr/zDpsQ9fGw==
  • Ironport-sdr: 650191d9_3xi/fDoWcJXaMI5sCEoJ6IN8Kn56aLIN5TJaDEwJrs69eMx DiAaUE+qpGG7VcBsc63QSjvvN6Lmnq+jL0YWMPA==

I'm now trying this:

  for (std::size_t i = 0; i < regions.size(); i++)
  {
      Region_growing::Primitive_and_region region = regions[i];
      Line_3* l = new Line_3(Point_3(0, -1, 0), Point_3(0, +1, 0));
      auto intersection = boost::get<Point_3>(&*CGAL::intersection(region.first, *l));

      if (intersection && region.first.has_on(*intersection)) std::cout << "Region has point on it: " << region.first << " at" << *intersection << std::endl;
  }

It returns fewer incidences of intersection, but I'm still not sure if it does what it should.

Am Mi., 13. Sept. 2023 um 11:39 Uhr schrieb Claus Volko <>:
I've realized the way I did it was not correct because it searched for the intersection of the plane with the line, which always returns a point. But I actually want to check for intersection with the finite region.

However, I've not understood how region_map() would help me in my endeavour. Could you perhaps point me to an example?

Thank you!

Am Mi., 13. Sept. 2023 um 11:03 Uhr schrieb Sebastien Loriot <>:
region_map()

https://doc.cgal.org/latest/Shape_detection/classCGAL_1_1Shape__detection_1_1Region__growing.html#a60adecff409f4025585c64cd3bd70110

Provides a property map associating indicating the region index for each
input element. The key of the map depends on your instantiation. But
everything should be documented in the documentation of your model.

Best,

Sebastien.

On 9/13/23 09:56, Claus Volko ( via cgal-discuss
Mailing List) wrote:
> OK, it seems I've found it out myself by now:
>
>    for (Region_growing::Primitive_and_region region : regions)
>    {
>        Line_3* l = new Line_3(Point_3(0, -10, 0), Point_3(0, +10, 0));
>
>        if (CGAL::intersection(region.first, *l))
>        {
>            std::cout << "Region has point on it" << std::endl;
>            break;
>        }
>    }
>
> Am Mi., 13. Sept. 2023 um 09:39 Uhr schrieb Claus Volko
> < <mailto:>>:
>
>     OK, I've realized by now that the code I posted was not wrong but
>     that what I really need is to check if a line intersects with a
>     region, as I don't know the y coordinate of the point I'm looking
>     for. How can that be done?
>
>     Am Mi., 13. Sept. 2023 um 07:04 Uhr schrieb Claus Volko
>     < <mailto:>>:
>
>         I would like to find the region that contains a given point
>         after using the region growing algorithm for shape detection. I
>         tried this code but it does not seem to work:
>
>            for (Region_growing::Primitive_and_region region : regions)
>            {
>                Point_3 *point = new Point_3(0, 0, 0);
>                if (region.first.has_on(*point))
>                    std::cout << "Region has zero point on it" << std::endl;
>            }
>
>         Also, if I found a region, how can I access the information
>         about the boundaries of the region?
>
>         --
>         Dipl.-Ing. Dr. Claus D. Volko, BSc
>         http://www.cdvolko.net/ <http://www.cdvolko.net/>
>
>
>
>
>
>     --
>     Dipl.-Ing. Dr. Claus D. Volko, BSc
>     http://www.cdvolko.net/ <http://www.cdvolko.net/>
>
>
>
>
>
> --
> Dipl.-Ing. Dr. Claus D. Volko, BSc
> http://www.cdvolko.net/ <http://www.cdvolko.net/>
>
>
>
>
> --
> 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




--
Dipl.-Ing. Dr. Claus D. Volko, BSc
http://www.cdvolko.net/





--
Dipl.-Ing. Dr. Claus D. Volko, BSc
http://www.cdvolko.net/






Archive powered by MHonArc 2.6.19+.

Top of Page