octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GSoC '16 - Boolean Operations on Polygons : Merge Code to geometry P


From: AMR_KELEG
Subject: Re: GSoC '16 - Boolean Operations on Polygons : Merge Code to geometry Package
Date: Fri, 19 Aug 2016 20:46:21 -0700 (PDT)

PhilipNienhuis wrote
> 
> AMR_KELEG wrote
>> 
>> PhilipNienhuis wrote
>>> 
>>> amr mohamed wrote
>>>> Dear all,
>>>> 
>>>> I would like to start contacting the Geometry package's maintainer so
>>>> that we can decide how the code will be merged during the next days.
>>>> I implemented some functions as cc files and the package currently has
>>>> only .m functions.
>>>> So, I will try to structure the src directory as in the image package
>>>> (https://sourceforge.net/p/octave/image/ci/default/tree/src/).
>>>> 
>>>> The functions make use of the Boost library (>=1.60) so my Mentor told
>>>> me that we will need to make a dependency for this version of Boost
>>>> instead of adding the boost-geometry library as a part of the package.
>>>> However, If i were the user, i won't know how should i download the
>>>> required version of Boost library and make octave's function use it.
>>> (mapping package maintainer here, just a quick note as I'm on vacation
>>> with patchy Internet access until somewhere next week.)
>>> Thanks for this work, a welcome contribution IMO. 
>>> Once it is included in the geometry package the mapping package will
>>> make use of it as well, several functions for that are almost finished.
>>> See a.o., savannah.gnu.org/patch/index.php?9000 for some developments
>>> along that line.
>>> 
>>> I have a few questions, mainly because I missed all progress on this
>>> GSOC project as I somehow missed blogs and progress reports -might be my
>>> own fault :-).
>>> 
>>> 1. Is the entire boost library required or just a subset? Last time I
>>> looked boost comprised some 105 MB of a maze of include files, of which
>>> only a fairly small subset is required for boolean ops on polygons.
>>> 
>>> 2. Did you implement interpolation of Z-values on clipped polygon sides?
>>> That is something I discussed with John Swensen; it would be a useful
>>> asset for the mapping package as -unlike its Matlab counterpart- many of
>>> its polygon functions accept polygons with Z-values and 3D polygons.
>>> 
>>> 3. Similarly did you implement drawing polygons with holes using e.g.,
>>> the polytri library? also something that came up in discussions with
>>> John S.
>>> 
>>> 4. Where is your code currently hosted?
>>> 
>>> Philip
>> 1-No, i have manually removed unnecessary parts of the library so it
>> reduced to approximately 14MB.
>> I think we can minimize the headers size to less than 10MB.
>> 
>> 2-No, We discussed adding a z coordinate to the polygons during our first
>> chat (last May) and he told me to postpone it for now.
>> 
>> 3-Yes, we are drawing polygons with holes removed.
>> But, functions currently aren't working well with complex
>> self-intersecting polygons as the Boost Geometry dissolve function that
>> is used to solve self-intersections is still unstable (under the
>> library's extension and not part of the core library).
>> 
>> 4-The clone of the package is hosted on bitbucket here:
>> https://bitbucket.org/amr_keleg/octave-geometry
>> 
>> And kindly find my blog where i posted the project's progress. 
>> https://amrkeleg.wordpress.com/
>> 
>> Amr
> Hi Amr,
> 
> Tonight I cloned your bitbucket repo and found that you already have done
> a nice job of integrating your work into the geometry package. Wow.
> 
> I presume polytri is included in the src/ subdir.
> 
> Yet I need some guidance as to what parts of the boost library need to be
> installed where to be able to install & build the geometry package.
> Just pretend I am a n00b; now how to get what required boost library parts
> and where to put them? (I suppose in 
> <OCTAVE_HOME>
> /include/boost ?)
> 
> Can you enlighten me a little, please?
> 
> Philip

Dear Philip,

Yes, poly2tri is part of the package for now.

I am using Ubuntu 16.04 so i will mention simple instructions from my
perspective.
The Boost Library should be located in any directory that is part of the
$PATH environment variable.
So you need to add the Boost Library Header files in any of these
directories.
On Ubuntu 16.04, you can also install the libraries using sudo apt install
libboost-all-dev .
The recommended version is 1.60.

Amr




--
View this message in context: 
http://octave.1599824.n4.nabble.com/GSoC-16-Boolean-Operations-on-Polygons-Merge-Code-to-geometry-Package-tp4679083p4679336.html
Sent from the Octave - Maintainers mailing list archive at Nabble.com.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]