For resources that are shipped by the CGAL_Qt4 library, one need to call
CGAL_QT4_INIT_RESOURCES, a macro that calls CGAL_Qt4_init_resources
(exported by the CGAL_Qt4 DLL)
*Add non-sparse matrix class (thus renamimg of the existing one)
*specialisation of the matrix class in Eigen_solver_traits according
whether this is a symmetric or asymmetric matrix
*update use-files of lapack and Taucs to get definitions
Maybe the semantic of the sorting of Orthogonal_k_neighbor_search has
changed: now the furthest point is found at --search.end() instead of
search.begin(). Because of that, the query point itself was found as wrong
"furthest" point, with distance==0, and then the radii of all points was 0.
We declare
cmake_minimum_required(VERSION 2.6.2)
but we also use
cmake_policy(VERSION 2.8.4)
to declare that our CMake scripts are OK with all the defaults of CMake policies
as of CMake-2.8.4. That shuts down the warnings of CMake-2.8.4.
That way, we no longer need any declaration of specific policies.
Those two lines must be present and maintained in all our CMakeLists.txt
files (the one for the libraries, and also the one for examples and demos,
and maybe tests).
The documentation of CGAL says that the minimal version of CMake must be
CMake-2.6.2.
- change cmake_minimum_required to VERSION 2.6.2
- no longer any need for the policy CMP0003 (was for 2.4.x)
- no longer any need for CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS (was for 2.4)
In particular remove UNTESTED_XXXXXXXXXXX unused variable that possibly hide true warnings.
In those cases, the string printed while executed now starts with "NOTE: ".
*CGAL internal code no longer rely on depecrated features
| ------------------------------------------------------------------------
| r57979 | lrineau | 2010-08-11 15:24:20 +0200 (Wed, 11 Aug 2010) | 1 line
|
| Global fix of all uses of qt4_generate_moc: the destination file path must be absolute.
| ------------------------------------------------------------------------
| r58026 | stayeb | 2010-08-12 17:40:41 +0200 (Thu, 12 Aug 2010) | 2 lines
|
| Bug fix: ensure that c3t3 contains no in complex cell when starting a new refinement process. We need this because the first refinement of the surface does not update the volume, so c3t3 can't know that in complex cells have been deleted.
|
| ------------------------------------------------------------------------
(That shows it is difficult to avoid to merge the release branch in the
trunk from time to time.)
is outside of the "poisson triangulation" (triangulation that has been
computed internally to the function): now, instead of returning an
arbitrary huge value (whose sign can be wrong), returns the value of one of
the vertex on the convex hull.
| ------------------------------------------------------------------------
| r57962 | lrineau | 2010-08-11 11:10:46 +0200 (Wed, 11 Aug 2010) | 5 lines
| Changed paths:
| M /trunk/Point_set_processing_3/examples/Point_set_processing_3/cgal_test_with_cmake
| M /trunk/Point_set_processing_3/test/Point_set_processing_3/cgal_test_with_cmake
| M /trunk/Surface_reconstruction_points_3/demo/Surface_reconstruction_points_3/cgal_test_with_cmake
| M /trunk/Surface_reconstruction_points_3/examples/Surface_reconstruction_points_3/cgal_test_with_cmake
| M /trunk/Surface_reconstruction_points_3/test/Surface_reconstruction_points_3/cgal_test_with_cmake
|
| Fix cgal_test_with_cmake from Point_set_processing_3 and
| Surface_reconstruction_points_3:
| - [ "a" == "b" ] is a syntax of Bash. The POSIX way if with a single '='.
| - do not override MAKE_CMD if it is already set (to jom, for example).
|
| ------------------------------------------------------------------------
Surface_reconstruction_points_3:
- [ "a" == "b" ] is a syntax of Bash. The POSIX way if with a single '='.
- do not override MAKE_CMD if it is already set (to jom, for example).
by namespace CGAL { and } //namespace CGAL. in all .h and .cpp files
in a directory.
Apply it to all packages in the trunk
Remove macro definition from the config.h file.
Diffs are:
* #undef added
* in old files, (void)0 is replaced by static_cast<void>(0)
* in old files, lines as "# define CGAL_xxx_assertion 1" are added
* in point_set_processing_assertions.h, surface_mesh_parameterization_assertions.h, surface_reconstruction_points_assertions.h, "|| defined(CGAL_NDEBUG)" is replaced by "|| defined (NDEBUG)"
* protective macros (if any) are removed
* included files if any (<CGAL/assertions.h>, <CGAL/trace.h>) are removed
* Poisson_reconstruction_function::compute_implicit_function() gets a new parameter = the solver to use (TAUCS by default).
* It uses SparseLinearAlgebraTraits_d traits classes and not Taucs_solver anymore.
* poisson_reconstruction example accepts a new parameter -solver = taucs or mkl.
(Windows) developers compiling Surface_reconstruction_points_3 with CGAL 3.5 beta 1 need to compile with Surface_mesher package from svn in order to get r51028 bug fix (orientation of reconstructed meshes).
* The bug occured (sometimes) in test suite when calling
> APSS_reconstruction_test data/robocat_deci.off
=> assertion failure "CGAL::Polyhedron_incremental_builder_3<HDS>::
lookup_halfedge(): input error: facet 1462 shares a halfedge from vertex 95 to vertex 808 with facet 1312."
in output_surface_facets_to_polyhedron().
This means that the reconstructed surface is not manifold.
* The reason seems that (on this example) APSS implicit function is not smooth enough for make_surface_mesh().
* The fix was to set APSS smoothness factor to 6 (default is 2).
* The bug could be reproduce by:
> poisson_reconstruction Compressor_top_clean_65kpoints.pwn out.off -sm_distance 0.75
or
> APSS_reconstruction robocat_deci.off out.off -smooth 6
(try several times)
* The fix is to set Implicit_surface_3's dichotomy error to make_surface_mesh's approximation distance/1000 (instead of /10). This makes make_surface_mesh() behavior more reproductible.
* My guess is that in both implicit functions are not smooth, and that make_surface_mesh's parameters must be tuned to make them appear smooth to the algorithm.
* The bug could be reproduced on Linux/g++ 4.3.1 by:
> poisson_reconstruction Compressor_top_clean_30kpoints.pwn Compressor-poisson.off
or
> APSS_reconstruction robocat_deci.off robocat_deci-apss.off
=> infinite loop that crashes when the process max memory is reached, or
assertion failure "(x,y,z) is already inserted on surface", or
assertion failure "A facet is not in conflict with its refinement point"
* The fix was to use Manifold_with_boundary_tag.
* To reproduce the bug:
> poisson_reconstruction data/sphere926.pwn sphere926-poisson.off
(try several times)
* The fix is:
- implement Robust_circumcenter_filtered_traits_3::compute_squared_radius_3_object()
- compare denominator with 1E-13 (instead of 1E-14) to switch to exact arithmetic
* On Linux/g++, the bug could be reproduced by:
> poisson_reconstruction data/sphere926.pwn sphere926-poisson.off
* The fix was do use Min_sphere_of_spheres_d instead of Min_sphere_d
CGAL 3.5 will include TAUCS/BLAS/LAPACK precompiled libraries for Visual C++ 8.0 and 9.0.
Auto-link is modified accordingly.
* Also fixed compatibility of cgal_test_with_cmake.bat scripts with VC++ 9.0.
* Default Surface Mesher parameters for Poisson are now
- triangle radius = 100 * point set average spacing and
- approximation distance = 0.25 * point set average spacing
(instead of 0.1 * point set radius and 0.002 * point set radius).
As Poisson is a function piecewise linear in the tetrahedra of the underlying triangulation, the goal of this change is to ensure that the Surface Mesher creates a mesh with triangles larger than the underlying tetrahedra.
* Default Surface Mesher parameters for APSS are now the same as Poisson to ease comparison among both methods, and simplify code maintenance
(instead of APSS distance = 1.5 * Poisson distance to get reconstructed surfaces of roughly the same number of faces).
* Fixed size of splats for nicer screenshots:
- knn parameter allows now to change the size of splats
- fixed offset by 1 in use of knn
- knn default changed from 18 (medium) to 6 (small)
- knn min changed from 6 (small) to 1 (tiny)
* Compute reconstruction error after APSS and Poisson (in fact the distance from input points to reconstructed mesh).
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
* 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.
Removed _HAS_ITERATOR_DEBUGGING=0 setting to go back to default settings.
This setting could create conflicts with third party libraries like _SECURE_SCL=0 crashes boost program options.
Note that no conflict with _HAS_ITERATOR_DEBUGGING was reported. This is just a safety change.
poisson_reconstruction data/sphere926.pwn sphere926_poisson_0.001.off -sm_distance 0.001:
- set dichotomy error to 1/10th of distance to surface (as suggested by MY)
- added trace
plug-ins with long name are not properly compiled (at least on CMake 2.6/VisualC++ 2005).
I am not sure if the bug is related to the plugin's name or to the full path.
The workaround is to use shorter names:
- "PS_demo_APSS_reconstruction_plugin" is renamed "PS_demo_APSS_plugin"
- "PS_demo_poisson_reconstruction_plugin" is renamed "PS_demo_poisson_plugin"
- "PS_demo_point_set_simplification_plugin" is renamed "PS_demo_simplification_plugin"
plug-ins with name longer than 48 characters are not properly compiled
(at least on CMake 2.6/VisualC++ 2005).
The workaround is to use shorter names:
Each "Point_set_demo_XXX_plugin" is renamed "PS_demo_XXX_plugin".
* Removed "Bounding Box/Sphere" and "Convex Hull" menu items and the corresponding plug-ins (never implemented).
* "Outlier removal" menu item selects now the points to remove instead of deleting them immediately.
The user may delete them with the new menu item "Delete Selection" or cancel with "Reset Selection".
* "Normal estimation" menu item selects now the points with an unoriented normal instead of deleting them immediately.
The user may delete them with "Delete Selection" or run again the algorithm with different settings.
* Implemented point set simplification plug-in (random + grid clustering).
* Added traces.
TODO:
* Add "Poisson reconstruction" algorithm.
* Add "Average Spacing" algorithm.
* Rename obsolete Mesh_3 files to avoid conflicts with new Mesh_3 implementation.
* TODO:
Modify Poisson_refine_triangulation.h to use new Mesh_3 implementation.