........
r50955 | lsaboret | 2009-07-29 17:55:51 +0200 (Wed, 29 Jul 2009) | 6 lines
Merge revisions 50928-50929 from trunk to CGAL-3.5-branch:
* Workaround orientation bug in output_surface_facets_to_off(): call output_surface_facets_to_polyhedron() then save polyhedr
on to OFF.
* Also change make_surface_mesh() tag parameter from Manifold_with_boundary_tag to Manifold_tag as implicit functions have no
boundaries.
........
r50965 | lrineau | 2009-07-30 12:19:05 +0200 (Thu, 30 Jul 2009) | 3 lines
Let switch to beta2 now. I hope however that there will not be any beta2
and CGAL-3.5 can be released without any extra beta release.
........
r50966 | sloriot | 2009-07-30 13:15:24 +0200 (Thu, 30 Jul 2009) | 2 lines
remove variable name ES that seems to be catch by g++4.3.3CentOS
........
Laurent Rineau (GeometryFactory) wrote:
> On Wednesday 29 July 2009 14:05:41 Sylvain Pion wrote:
>> Laurent Rineau (GeometryFactory) wrote:
>>> One GF customer reported the following issue:
>>>
>>> "For 64bit compilation, we get the disturbing warning
>>>
>>> ..\Third_Party_Libraries\CGAL\include\CGAL/Handle.h(90) : warning C4311:
>>> 'reinterpret_cast' : pointer truncation from 'CGAL::Rep *const ' to
>>> 'unsigned long'
>>>
>>> which looks like a real 64bit issue."
>>>
>>> and he is right. Here is the code:
>>>
>>> inline
>>> bool
>>> identical(const Handle &h1, const Handle &h2)
>>> { return reinterpret_cast<unsigned long>(h1.PTR) ==
>>> reinterpret_cast<unsigned long>(h2.PTR); }
>>>
>>>
>>> "unsigned long" is not the right type! On 32 bits machine, that type is
>>> too long, and on x64 under Windows, that type is too short!
>> Indeed...
>>
>>> See http://en.wikipedia.org/wiki/LLP64#Specific_data_models
>>>
>>> We need uintptr_t from C99, because that type is defined as the fastest
>>> unsigned integral type that is convertible from void pointers and
>>> comvertible to void pointers, without truncation.
>>>
>>> However, that type is not yet in the C++ norm, and some platforms may not
>>> have it. We will probably need some macro stuff:
>>> - use C++0x if possible,
>>> - fallback to plain C99 headers,
>>> - then fallback to platform specific typedefs.
>>>
>>> Is that the correct solution?
>> For the identical() function above, why don't we simply compare
>> the pointers without doing the casts to unsigned long at all ?
>>
>> Nevertheless, the problem exists in the id() function (and this
>> function is probably less useful...).
>> What about returning std::ptrdiff_t with {return h.PTR -
>> static_cast<Ref*>(0);} ?
>
> Yes. That might be a good cross-platform solution for id(). I will commit that
> in the trunk. And identical() will be a.id()==b.id().
Why not just h1.PTR == h2.PTR for identical() ?
So, let's go and break the trunk! ;-)
I have a least compiled and run test/Kernel_23/Lazy_kernel.cpp
r50904 | lsaboret:
Fixed compilation error in cgal_test_with_cmake introduced in r50885
r50901 | lrineau:
-#include <Qt/qglobal.h>
+#include <QtCore/qglobal.h>
r50885 | lsaboret:
* Fixed compilation errors on Windows/VC++ introduced in r50866 (one needs to update a DLL's config file when renaming the DLL).
* Use "PS_demo_" prefix instead of "reconstruction_" in target names (to be coherent, and because long names break cmake on Windows - see r50533).
* Renamed polyhedron_demo_plugin() as point_set_demo_plugin() (to be coherent, and because the code diverges from Polyhedron demo).
r50877 | lsaboret:
Fixed link error on Windows (in splatting code)
r50688 | palliez:
point set demo: one attempt to solve compilation issues.
r50679 | palliez:
move point set demo
r50678 | palliez:
move point set demo
r50677 | palliez:
move point set demo
r50676 | palliez:
move point set demo
r50675 | palliez:
move point set demo
r50668 | lsaboret:
* Updated Point_set_processing_3 reference manual to describe the influence of each knn parameter.
* Fixed bug in Point_set_processing_3 examples/tests: use reasonable default knn parameters (0.1 or 0.15% of point set was overkill.* Updated the Point Set demo to use the recommended knn values by default.
r50666 | ggael:
automagically computes the slpat radii when needed
r50663 | ggael:
remove the splatting mode if it is not supported