Subject: CGAL users discussion list
List archive
- From: Mael Rouxel-Labbé <>
- To:
- Subject: Re: [cgal-discuss] Compute Optimal Bounding Box without Eigen library
- Date: Fri, 30 Sep 2022 18:08:49 +0200
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-data: A9a23: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
- Ironport-hdrordr: A9a23:85+pcq2W30Ek7ZILdPMO8QqjBFYkLtp133Aq2lEZdPU0SKGlfr OV7ZEmPH7P5wr5N0tApTntAtjnfZqYz+8N3WBzB9eftWvd1ldARbsKheCJ/9SjIVyYygc379 YDT0ERMqyVMbE3t7eY3CCIV/AewZ2s9aClgvr/1h5WIT1CWuVH8AY8Nx2SGEFsAClKbKBJbK a01455nH6bQFwyROyGPFVtZZm/m/T70K3cJSQ+Lzocwi+0oVqTmcTHOind4SxbaQpm5Y0e2V Xo+jaJnZmejw==
- Ironport-phdr: A9a23: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 MkqeFaTTVFpx7yURU1hCA==
- Ironport-sdr: 63371494_tEoJv6KUuQG01nD4SRfHXE38tUCwymEdTO7DIdahUojENc/ Pve4Hy1Fd3T2v/yQtct8QT5+2FeX8E0McEKA/sA==
You do not have to modify the CGAL model to create and use your own model in CGAL's function: you instead create a new class living outside of CGAL headers, and then pass it to the function. However, it is a good idea to start from the CGAL model and tune / replace whatever you wish to change (here, the Eigen parts).
Here is a gist demonstrating usage of a CGAL function with a custom traits. It is a simpler concept that only requires a Point object and how to compare them, but it would be the same idea for you. The custom geometric traits is passed in the call:
PMP::stitch_borders(mesh, CGAL::parameters::geom_traits(traits));
It will be similar for CGAL::oriented_bounding_box(...,
CGAL::parameters::geom_traits(your_traits)).
Let me know if you encounter any issue.
Best,
Mael
Hello,
The geometric traits class is a class that describes the requirements on the geometric objects used in an algorithm, here the oriented bounding box computation algorithm. These requirements are described by a concept (https://doc.cgal.org/latest/Optimal_bounding_box/classOrientedBoundingBoxTraits__3.html). If you do not implement yourself a class meeting these requirements - which is the typical situation -, CGAL uses a class which fits these requirements; here it is CGAL::Oriented_bounding_box_traits_3 (https://doc.cgal.org/latest/Optimal_bounding_box/classCGAL_1_1Oriented__bounding__box__traits__3.html). This class is called a model of the concept.
As the concept (OrientedBoundingBoxTraits_3) describes, matrix manipulations are required in the OBB computation algorithm. The model provided by CGAL (CGAL::Oriented_bounding_box_traits_3) uses Eigen to implement these matrix operations, which thus makes Eigen required except if you create and provide another model class that fits the requirements of the concept with another matrix implementation.
Best,
Mael
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
--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss
- [cgal-discuss] Compute Optimal Bounding Box without Eigen library, Bob Bill, 09/30/2022
- Re: [cgal-discuss] Compute Optimal Bounding Box without Eigen library, Mael Rouxel-Labbé, 09/30/2022
- Re: [cgal-discuss] Compute Optimal Bounding Box without Eigen library, Bob Bill, 09/30/2022
- Re: [cgal-discuss] Compute Optimal Bounding Box without Eigen library, Mael Rouxel-Labbé, 09/30/2022
- Re: [cgal-discuss] Compute Optimal Bounding Box without Eigen library, Bob Bill, 09/30/2022
- Re: [cgal-discuss] Compute Optimal Bounding Box without Eigen library, Mael Rouxel-Labbé, 09/30/2022
Archive powered by MHonArc 2.6.19+.