Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Create a CGAL_Point out of a Point object coming from a different library

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Create a CGAL_Point out of a Point object coming from a different library


Chronological Thread 
  • From: Marco Feder <>
  • To: "" <>
  • Subject: Re: [cgal-discuss] Create a CGAL_Point out of a Point object coming from a different library
  • Date: Fri, 4 Mar 2022 11:46:15 +0000
  • Accept-language: it-IT, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sissa.it; dmarc=pass action=none header.from=sissa.it; dkim=pass header.d=sissa.it; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=yqE/IdY+AQZ1e76dUVQRFsaRBrN8GZrAfErarJOspsI=; b=Y8RBYntOqiPaEMCKzoee/w4FgUev0122OOm+Y0YL190OnxtVlenJwuft//vBEiWXSZvZq5Shkt7iRIK3rpDSNo8wbk9qgQ62lkkevtepIIrn96gSHj7gcclYb4NoMHJp/5QHHdtpy4tEWD43iDXKvV2xNfQsvhuZBQrMHFSLejhPD2MIbGdNpB+eI5PGsVcoP4R9iipeEpB2awpLEDUxtG9VRExZ3EsfMpJ6Jhv4UX9W7ZPkGmWRkCQDA8YofGgYV+hRqJF/F7w3XR8M5aMNCn9f5NmXdE6HyTtNBjPl2bRZEtkQq5Rx3wLvjnvpLDlifDymicSlt0F5V5CdMiFnUg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PXU0V5wZb/5UbcKlu6Qlri+SU7KK76ZMOQBNoCqtVzMJq2MHwT6BoLhCt8vuIEYF3N3G+Rtcu6th8KxNQjnLcLcrs6p74micKCN96B2B3YoD7csL5v1CuTXG6EI6fO8N6Yk3OKZ76BX+yPQMIfeZ5wCbxmBVcmMDFs7gl9EPuLdIsCE9NbjoAgNZ7kr4+Ws8TqvYpgQngBd5P+BJNzHmRXBEp30FQa+G/tK4NKQG3Pb9qtrJldTLviUPytEaq+G4x9FvpfmC77IeQdx5BORD4DO/ugQGrt83Ux0NtornZgKvpSML9ykcd418iEkR+zOPjVwuJuWFGPOFoD55hnhF/A==
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=Pass
  • Ironport-data: A9a23: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
  • Ironport-hdrordr: A9a23:X9jsqaHTLt+KysSxpLqFYZHXdLJyesId70hD6qkvc3Fom52j/f xGws5x6fatskdoZJhSo6H6BEDgewKVyXcR2+Us1NiZLW3bUQeTTb2KqLGSugEIeBeOvdK1t5 0QFJSWYeeYZTcVsS+52njfLz9K+qjlzEncv5a6854bd3AJV0gP1WdEIzfeNnczaBhNBJI/Gp bZzNFAvSCcdXMeadn+LmUZXsDYzue72a7OUFojPVoK+QOOhTSn5PrRCB6DxCoTVDtJ3PML7X XFqQrk/a+u2svLhiM0llWjoKi+quGRi+erN/b8yvT97Q+cyTpAUb4RFYFqegpF4t1Hpmxa1e Uk6C1QRfibo0mhA11d5yGdkTUImQxel0PK2BuWh2Durtf+Qy9/A81dhZhBeh+c8EY4uspguZ g7qF5xmqAneC8oph6Nk+Qglisa5nacsD4ni6oennZfWYwRZPtYqpEe5lpcFNMFEDjh4I4qHe FyBIWEjcwmOG+yfjTcpC1i0dasVnM8ElOPRVUDoNWc13xTkGpix0UVycQDljML9Y47SZND++ PYW54Y4o1mX4sTd+ZwFe0BScy4BijERg/NKnubJRD9GKQOKxv22uzKCXUOlZKXkbAzveUPcc 76ISxlXEYJCjPTNfE=
  • Ironport-phdr: A9a23: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
  • Ironport-sdr: 2LcRlY1Z2OmaX6xVZ5SuDJOxI4Bgt+WW0G3YbpfyUCzd6FWEJNm1GREg7nFsnwn4+85Uggj12d kYJrVmkhFi84lfEZyas8RrufPhMZtDcN2Z+dON+IeoVJenh+f6J/VRHIzYZwrTSOe3E/98Rjum Jm4ugf7QbLiCFM17B6vUcYdQerTxUkoL42sVtQ7NDVRL7Rk+FTcR53UFYDhAGVeNX+KQmAs3r0 5R7l3VtlOgnVl5VipJ++A/tp4UB4OyRWPJ6V5/mdr+lM18Q/QUL0piajbANlM0Mea8i1Os1S0x 4544zQhM4a3OUEv1GID//dSD

Thanks for your prompt replies. As Andreas said, that solution would imply a change in the source code of the library, which is something I’d like to avoid. The simplest solution I have with inheritance is the following:

struct myPoint : public CGAL_Point{
myPoint(const dealii::Point<2>& p) : CGAL_Point{p[0],p[1]}{}
};

Where typedef Polygon::Point_2 CGAL_Point; is the CGAL type, dealii::Point<2>& p is the one coming from the FEM library. This is working, even if is not nice.

What CGAL packages do you want to use it with?

I am using the packages “2D polygons” and “2D Conforming Triangulation and meshes”. 

What kernel do you use?

I am using CGAL::Exact_predicates_exact_constructions_kernel  for the Polygon

And CGAL::Exact_predicates_inexact_constructions_kernel in the CDT


Best,

Marco


On 4 Mar 2022, at 10:55, Andreas Fabri <> wrote:

Hello,

Marco HAS already a given point class so derivation is not a possible solution.

What is your point type like Marco?
What CGAL packages do you want to use it with?
What kernel do you use?

Best,

Andreas


On 3/4/2022 10:50 AM, Carlos Rabelo ( via cgal-discuss Mailing List) wrote:
">
Why dont you use inheritance:

Class MyPoint : public CGAL_Point
{
   your members...
}

Carlos

Em sexta-feira, 4 de março de 2022 06:40:45 GMT-3, Marco Feder escreveu:


Dear all,

I'm using CGAL inside a finite element library, which of course has its
own 'Point' class. Every time I need to use the CGAL interface, I need
to convert a 'Point' object to a 'CGAL_Point' object, and so far I'm
doing this manually by working with the coordinates. I find this really
annoying as this is also really error-prone, so I'd like to know if
there's a clever way to "teach" how to construct a 'CGAL_Point' out of a
general 'Point' once and for all.


Best regards,
Marco


--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to



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

-- 
Andreas Fabri, PhD
Chief Officer, GeometryFactory
Editor, The CGAL Project

--
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