octave-maintainers
[Top][All Lists]
Advanced

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

Re: GSoc 2016: Final Reviews required


From: PhilipNienhuis
Subject: Re: GSoc 2016: Final Reviews required
Date: Sun, 21 Aug 2016 00:25:32 -0700 (PDT)

John Swensen-3 wrote
>> On Aug 20, 2016, at 4:00 AM, PhilipNienhuis <

> pr.nienhuis@

> > wrote:
>> 
>> AMR_KELEG wrote
>>> 
>>> PhilipNienhuis wrote
>>>> 
>>>> AMR_KELEG wrote
>>>>> Dear all,
>>>>> 
>>>>> 
>>>>> First of all, I would like to thank all of you for giving me this
>>>>> great
>>>>> opportunity to contribute to the GNU Octave project.
>>>>> I enjoyed my summer this year working on this project with all the ups
>>>>> and downs - motives and frustrations.
>>>>> 
>>>>> Special thanks goes to my Mentor Professor John Swenson.
>>>>> Working with you was such a privilege.
>>>>> 
>>>>> 
>>>>> I have to send my work to Google this week as part of my final
>>>>> evaluation so i would like to share my clone of the Geometry package
>>>>> with you.
>>>>> 
>>>>> https://bitbucket.org/amr_keleg/octave-geometry/src/76898074c0f2bbf77cc38c6ff27609800c1baf2d?at=default
>>>>> Kindly contact me if you have reviews/required edits.
>>>> Amr,
>>>> 
>>>> Some test results.
>>>> 
>>>> I installed the header files belonging to boost-1_61-0.7z in
>>>> /usr/include. 134 MB on disk, quite a bit IMO. (entire boost download
>>>> would expand to 555 MB,still more excessive).
>>>> 
>>>> Next I've cloned your repo and made a geometry-3.0.0 package from it
>>>> (incl. bootstrap)and built geometry-3.0.0 on both Linux and Windows.
>>>> In both OS-es, pkg install mentions that "dissolve" isn't found and
>>>> that
>>>> boost needs an upgrade to >= 1.6 (while I have 1.61.0).  Do I need to
>>>> install additional boost stuff alongside just the header files?
>>>> 
>>>> Then I tried the examples on the Mathworks site.
>>>> (http://nl.mathworks.com/help/map/ref/polybool.html).
>>>> A little worrying is that when trying the second example set, Octave
>>>> crashes hard on the poly2fv call in the sixth block (subplot 2, 3, 6),
>>>> both on Linux and Windows.
>>>> Can you manage to fix that, please?
>>> Dear Philip,
>>> 
>>> I don't think you need to install additional boost stuff alongside the
>>> header files.
>>> This means that the dissolve header file that is extracted from the
>>> Boost
>>> Geometry 1.60 extensions isn't working with Boost Geometry 1.61 .
>>> IMO,I can add the new version of dissolve header file that is part of
>>> the
>>> Boost Geometry 1.61 extensions to the package and add some checks to
>>> choose between the two header files.
>>> So,what do you think?
>> 
>> That might be a good idea. But see below as regards boost versions.
>> 
>> 
>>> I tried the Matworks second test and it's working smoothly.
>>> So,I attached a screenshot of the test/output figures.
>>> Screenshot_from_2016-08-20_05-32-50.png
>>> <http://octave.1599824.n4.nabble.com/file/n4679337/Screenshot_from_2016-08-20_05-32-50.png>
>>>   
>> 
>> To be sure I uninstalled boost-1.61.0 and downgraded to / installed
>> boost-1.60.0
>> Sure enough, the Matlab example went without a hitch then.
>> 
>> It not very reassuring that the polygon operations do not work with
>> current
>> boost but only with the previous version..... :-)
>> I'd prefer that the polygon operations work with newest boost versions.
>> 
>> BTW 
>> I find that installing geometry-3.0.0 (beta) from your github account
>> takes
>> a very long time to finish (some minutes) *after* the last compile and
>> copy
>> step. Would you by any chance know what is happening then? Just copying
>> the
>> binary modules into place shouldn't need that much time IMO. 
>> But maybe it is just the polybool compile step that takes so long;
>> installing packages is multi-threaded these days so it could be that the
>> copy step is just hanging until polybool compilation is finalized.
>> 
>> Anyway, as I announced earlier this week I've made a start with comparing
>> the various function versions (ispolycw etc.) to see which ones would be
>> the
>> best and how those could be incorporated in the geometry/mapping
>> packages.
>> 
>> Philip
>> 
>> 
>> 
>> 
>> --
>> View this message in context:
>> http://octave.1599824.n4.nabble.com/GSoc-2016-Final-Reviews-required-tp4679299p4679342.html
>> Sent from the Octave - Maintainers mailing list archive at Nabble.com.
>> 
> 
> I think we still need to make another tweak to the makefile.in. The only
> feature of the polygons that is version dependent is the self-intersection
> correction (they call it the “dissolve” algorithm). Everything else should
> work as-is. The dissolve function is currently in the development
> repositories, but not in the releases. I was under the impression that the
> 1.60 dissolve worked for both 1.60 and 1.61, but I guess that isn’t the
> case. 
> 
> There should be two scenarios, though both should work with different
> levels of functionality:
> 
> 1) all functions should work without self-intersection correction for
> Boost.Geometry > 1.57
> 2) all functions should work with self-intersection correction for
> Boost.Geometry > 1.60
> 
> I will take a quick look and help Amr figure out why it isn’t doing the
> conditional compile of the self-intersection correction.

The crash with poly2fv in case of boost 1.61 (see my earlier reply) also
needs some attention.
If that is due to erroneous input in turn due to polybool yielding erroneous
output due to whatever, it indicates that poly2fv needs more robust error
checking and/or more robust error catching. Crashes just should not happen.
Admittedly I could have compared polybool's output for both boost versions I
tried (1.61 and 1.60) but that didn't occur to me at the time :-(
If that crash is more directly related to boost version 1.61 (i.e., if
poly2fv depends on the boost library as well) that would be a more serious
issue.

On another note, does polybool also feature clipping lines rather than
polygons? That is a thing that Clipperlib can do and that I also often use.

Anyway, on the positive side, polybool and poly2fv seem to operate very fast
:-)   Drawing polygons with holes is a lot less complicated now. Nice!

Philip



--
View this message in context: 
http://octave.1599824.n4.nabble.com/GSoc-2016-Final-Reviews-required-tp4679299p4679372.html
Sent from the Octave - Maintainers mailing list archive at Nabble.com.



reply via email to

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