Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] How to use CGAL::IO::write_STL using a polyhedron class

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] How to use CGAL::IO::write_STL using a polyhedron class


Chronological Thread 
  • From: Sebastien Loriot <>
  • To:
  • Subject: Re: [cgal-discuss] How to use CGAL::IO::write_STL using a polyhedron class
  • Date: Tue, 5 Jul 2022 13:45:14 +0200
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-data: A9a23:DdLt4K4knQEkMcnJ/ShIHgxRtPzBchMFZxGqfqrLsTDasY5as4F+v mFOUW+AaauPZDfxfNpzaI6+oUkCv8XdmoVjTgBlpX81Zn8b8sCt6faxfh6hZXvKRiHgZBs6t JtGMoGowOQcFCK0SsKFa+C5xZVE/fjUAOK6UoYoAwgpLeNeYH5JZSlLxqho2OaEvfDjW1nX4 Yyq/pWGULOY82cc3lw8u/rrRCxH56yaVAMw5jTSstgW1LN2vyB94KM3fcldHVOgKmVnNrLSq 9L48V2M1jixEyHBpT+Suu2TnkUiGtY+NOUV45Zcc/DKbhNq/kTe3kunXRYRQR8/ttmHozx+4 MpPjqSRRQUZBP3dpLVNWUBFDA9QbKITrdcrIVDn2SCS50jPcn+p3PA3SU9qZMsX/eF4BWwI/ vsdQNwPRkrb1qTmnfTiELkq2p1LwMrDZOvzvll7yTbDDPE6B5XHa6rP7N5cmjw3g6iiGN6CO 5FBOWc3NXwsZTVVYGdONbczp9y2j3r0eTt2qn2s+6cotj27IAtZieCxarI5YOeiTspcmgOUp 3nN4n/iKgoLMcSWjzuD6HOlwOHV9R4XQ6oXHby8s+Fv2RidmjVVBxoRWl+25/K+jyZSRu6zN WQL+BEWjKQwxHb7X+WsDxfhvWGqkE8TDo84//IB1CmBza/d4gC8D2cCTyJcZNFOiCPQbWx6v rNut4O5bQGDoIF5WlrGqejJ9WLa1Tw9aD5dNXVdHGPp9vG6+Nlr5i8jWOqPB0JcszEYMTT5w jTPsy1nwrtP1IgE0KK0+V2BiDWpznQocuLXzlWHNo5GxlkhDGJAW2BOwQaChRqnBNjAJmRtR FBex6CjABoyJZ+MjjeRZ+4GAauk4f2IWBWF3wMxTsRwq2/2oCHyFWy13N2YDBc5WirjUW+5C HI/RSsMjHOuFCD3MvMvON7Z5zoClPG5SY6Nug/ogipmO8AtLmdrDQlhYkmf222FraTfufBXB HtvSu71VSxyIf0/klKeHr5BuZd2mH1W7T6MHfjTkkX/uZLDNSX9YepUYDOmMLplhIva+1692 4gEZ6O3J+B3CrKWSjPJ6rQaMV1iBSB9Vc2eRzp/Lb7dfGKL2QgJV5fs/F/WU9U5wPoMy7+So SnVt40x4AOXuEAr4D6iMhhLAI4Dl74mxZ7iFSBzb1uuxVY5ZoOjsPUWe5ctLOso8eViybh/S PxcI5eMBfFGSzLm/TUBbMml/NYyKkjz3Q/ebTC4ZDUffoJ7Q1Ob99LheDzp/nZcAyeys/w4v LD9hBjQRoAORlg5AcuPMKCvwlq9sGIzguV3W0eUcNBfdF+9oodvIi31yPQwJphUexnEwzKb0 SeQAAsZ9bGd+d9rrIGRiPnd/YmzEuZ4Ek5LJEXh7O67ZXvA426u4Y5cS+LXLz3QUWXD/q/9N +hYyvfLNuJewARHvo96JLZczawk4uzpqbIHnB9vG2/GbgjyB75tfiuG0M1IuvEfz7NVo1HtC EeG+90fJrDQfc25SRgeIw0qaunF3vYRw2GA4fMwKUT8xSl24LvXDhkIbkfU0HRQfOlvLYco4 eY9o8pKuQaxvRwnb4SdhSdO+mXQc3END/c9upcBDNO5gwYn0AsZM5nVCyuz/5TWLtsQaw8lJ TibgKeEjLNZnxKQf302HHnL/OxcmZVe50wQnQFafwyEyojfm/s6/BxN6jBrHA5b+RNKjrBoM W9xOkwpeKiD8l+EXiSYs7xAxu2AOPGYxqA1414AlWmcUEzxE2KRdSsyPuGC+E1f+GVZFtSeE Hd01069OQsGvumotsfxZaKhg/PmRN11sAbFnahL2uybSoIib2ONbrCGPAI1RtiOPS/1rELCr Ohuuu13bMUX8MLWT7ITU+Gn6FjbdPxIyKGujx2sEGPl0FwwoA2P5AU=
  • Ironport-hdrordr: A9a23:Ywf1aanHTJFe1ow6434NoU9+Q0bpDfIP3DAbv31ZSRFFG/Fw5P re+sjzsiWE9Ar5OUtQ5OxoXZPrfZqyz+8W3WB8B8bYYOCighrTEGgA1/qG/9SDIVycygc178 4JGMhD4Z/LfCBHZK7BgTVQeOxQp+VvnprY/Ns2g00dKT2CqJsN0+66MGum+4FNKzWuzKBWKK ah
  • Ironport-phdr: A9a23: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
  • Ironport-sdr: gG44si1zYduxjX6YTLIJN7ZxUePLAnl2ERPzVzTJhwe1+VV1V1S0ZsbwpI4sbza67NN6/YXl+s C8rjJ/I8mgn7SsRrs5mCkPa/PxGWLEsNqfiS8QtyT/TuhqG+YSkboNacmXBr5pb4HSb8RFSXyD 8+yzkQ4HxSdLfcATdbGz3Jjrp8SKSIZ/UlhK48XNICJP/DmiHcKj9m0xQZbTQgiRWKcNAz7Wt1 t+3+3j24pZSk3jHmTfdAk1GyF6+XE3by+yCZ/ZUR9GQlmQpNoHbGPJN7Xx4nc+6nAVgfdL+42O NY04MrTcMBv0yVrQKYGiM0b2

If you inherit, then the final class is not automatically a FaceListGraph model.

See this example for how to get all defined correctly:

https://doc.cgal.org/latest/BGL/Polyhedron_2poly_derivation_8cpp-example.html

Sebastien.

On 7/5/22 13:31, Calvin Lim ( via cgal-discuss Mailing List) wrote:
Hi Sebastien,

         I tried to zoom into where I am facing problems at, this is my simple code.

typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel;

typedef CGAL::Polyhedron_3<Kernel, CGAL::Polyhedron_items_3> Poly_3;

template<class k, class e>

class Poly_Extend : public CGAL::Polyhedron_3<k, e>

{};

int main(int argc, char* argv[])

{

           Poly_3 p3;

           Poly_Extend<Kernel, CGAL::Polyhedron_items_3> p3e;

           std::ofstream outputfile("1.stl");

           CGAL::IO::write_STL(outputfile, p3);  // this works

           CGAL::IO::write_STL(outputfile, p3e); // this came up with a lot of compilation errors.

}

         In this example, p3 works while p3e just cannot be compiled. Do you have any ideas where are the errors?

         Thanks a lot for your help.

Regards

Calvin

Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for Windows

*From: *Sebastien Loriot <>
*Sent: *Tuesday, 5 July 2022 4:47 PM
*To: * <>
*Subject: *Re: [cgal-discuss] How to use CGAL::IO::write_STL using a polyhedron class

In your example you use operator<< not write_OFF.

Something like that should work:

std::ofstream outputfile(“poly.stl”);
CGAL::IO::write_STL(outputfile, polyhedron_class);

Sebastien.


On 7/5/22 10:40, Calvin Lim ( via cgal-discuss
Mailing List) wrote:
>                      ofstream outputfile(“poly.off”);
>
>                        outputfile << polyhedron_class ;
>
>                        outputfile.close();
>

--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsympa.inria.fr%2Fsympa%2Finfo%2Fcgal-discuss&amp;data=05%7C01%7C%7Cd9ebe0dc21054681f7f808da5e630380%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637926076614595709%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=gLHjz3ZX4DqoC7C518dNQpKQbCQbmV0Bc7Jpxx8zKdQ%3D&amp;reserved=0 <https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsympa.inria.fr%2Fsympa%2Finfo%2Fcgal-discuss&amp;data=05%7C01%7C%7Cd9ebe0dc21054681f7f808da5e630380%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637926076614595709%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=gLHjz3ZX4DqoC7C518dNQpKQbCQbmV0Bc7Jpxx8zKdQ%3D&amp;reserved=0>


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