Subject: CGAL users discussion list
List archive
- From: Mael Rouxel-Labbé <>
- To:
- Subject: Re: [cgal-discuss] Compute Optimal Bounding Box without Eigen library
- Date: Mon, 3 Oct 2022 10:10:05 +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:a+4foasT0hibtVapyhnOa67a7skDb9V00zEX/kB9WHVpm6uj+v xG/c5w6faaslossR0b9uxoW5PqfZqjz/BICOAqVN+ftW/d2VdAR7sD0WKN+UyCJxHD
- Ironport-phdr: A9a23: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 JV6G3c=
- Ironport-sdr: 633a98df_Tu5Q48ekPPzPdSRvJtxlEXFaaKL+uyszutN5yVSVAApcd3h dvtB0E8tMn6//Qtk89mDKeTr4nPu66ReJJnQ4+A==
Hello,
Your Vector class must meet the requirements described in
https://doc.cgal.org/latest/Solver_interface/classSvdTraits_1_1Vector.html.
The error you are getting seems more related to named parameters (that's the "CGAL::parameters::geom_traits(...)" part). Could you share your code (you can send me a direct email if you want it to remain private), and I will have a look?
Best,
Mael
My class looks like this:
Here I have two issues/questions: 1) In the library I'm using, the type Vector already exists. As far as I understand, CGAL will look for a type named Vector. It should enough to check that Vector meets the requirements described in CGAL (i.e. svdTraits), right?
2) When I compile, I keep getting /usr/include/CGAL/boost/graph/Named_function_parameters.h:130:3: error: forming reference to void
Best, Bob
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
--
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
- Re: [cgal-discuss] Compute Optimal Bounding Box without Eigen library, Bob Bill, 10/02/2022
- Re: [cgal-discuss] Compute Optimal Bounding Box without Eigen library, Mael Rouxel-Labbé, 10/03/2022
- Re: [cgal-discuss] Compute Optimal Bounding Box without Eigen library, Bob Bill, 10/03/2022
- Re: [cgal-discuss] Compute Optimal Bounding Box without Eigen library, Mael Rouxel-Labbé, 10/03/2022
Archive powered by MHonArc 2.6.19+.