Commit Graph

63 Commits

Author SHA1 Message Date
Philipp Möller 1adf441b18 Convert all CRLF files to LF 2012-12-03 18:44:24 +01:00
Laurent Rineau 2db4effa7e CMake: Fix the handling of cmake_policy
That is a followup-to my commit last year:
  | ------------------------------------------------------------------------
  | r63198 | lrineau | 2011-04-28 19:45:22 +0200 (Thu, 28 Apr 2011) | 5 lines
  | 
  | Try to fix my last revision about cmake_policy, with CMake-2.6.x
  | 
  | CMake gives an error if one tries to use cmake_policy(VERSION x.y.z) if
  | x.y.z is greater than the current CMake version.
  | 
  | ------------------------------------------------------------------------

The following check:
  if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" VERSION_GREATER 2.6)
is useless just after a call to:
 cmake_minimum_required(VERSION 2.6.2)



The script used to fix that was:


#!/usr/bin/env perl

$replacement=<<'END';
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER 2.8.3)
  cmake_policy(VERSION 2.8.4)
else()
  cmake_policy(VERSION 2.6)
endif()
END

while(<>) {
    if(/if\("\${CMAKE_MAJOR_VERSION}.\${CMAKE_MINOR_VERSION}" VERSION_GREATER 2.6\)/) {
        while(<>) {
            if(/^endif\(\)/) {
                print "$replacement";
                while(<>) {
                    print;
                }
                exit 0
            }
        }
    }
    print;
}
2012-08-22 12:35:03 +00:00
Sébastien Loriot e702f20986 Eigen 3-1 is out.
Require Eigen 3.1.0 in CMake scripts.
2012-06-27 12:38:32 +00:00
Sébastien Loriot 2865113c8c Point_set_processing test/example also uses lapack 2012-01-16 15:15:34 +00:00
Laurent Rineau 3c02e07b23 Try to fix my last revision about cmake_policy, with CMake-2.6.x
CMake gives an error if one tries to use cmake_policy(VERSION x.y.z) if
x.y.z is greater than the current CMake version.
2011-04-28 17:45:22 +00:00
Laurent Rineau c97205f085 Global handling of CMake policies (second part)
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).
2011-04-28 10:55:56 +00:00
Laurent Rineau 0631943153 Uniform capitalization in our CMake script: use lowercase for commands 2011-04-28 10:36:18 +00:00
Laurent Rineau ca5c92e034 Global maintenance of CMakeLists.txt: CMake minimal version is -2.6.2
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)
2011-04-27 17:58:27 +00:00
Laurent Rineau 32f6d6d555 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).
2010-08-11 09:10:46 +00:00
Laurent Saboret fe8353441a Port to Windows 64 2009-09-02 12:10:05 +00:00
Laurent Saboret be09d80d95 * Bug fix: fixed compatibility of TAUCS/BLAS/LAPACK precompiled libraries with Visual C++ 9.0 2008:
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.
2009-08-26 16:23:28 +00:00
Laurent Saboret d43c10552a Improved traces 2009-08-24 16:05:08 +00:00
Laurent Saboret 0b1c2932ca Removed debug traces from Point_set_processing_3 examples 2009-08-05 11:36:34 +00:00
Laurent Saboret 977aceca2d * 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.
2009-07-17 14:42:18 +00:00
Laurent Saboret d879d0191a Fixed potential conflicts with third party libraries (Visual C++ only):
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.
2009-07-16 18:16:24 +00:00
Laurent Saboret abb22ee92f * Fixed g++ warning in average_spacing_example.cpp
* Print error message if input file is missing
* Fixed indentation of .cpp files included in manual
2009-07-08 09:36:16 +00:00
Laurent Saboret 11cb5a223f Fixed bug in cgal_test_with_cmake and compiler warning on platform Cygwin/Visual C++/NMake. 2009-07-08 08:51:56 +00:00
Laurent Saboret 205446a67a Port to g++/Linux 2009-07-02 11:37:36 +00:00
Laurent Saboret 43a9e6b4ac Added missing
#include <CGAL/Memory_sizer.h>
2009-06-26 13:05:09 +00:00
Laurent Saboret 92e5ef0499 Fixed bugs in cgal_test_with_cmake when executed by CGAL test suite:
* cgal_test_with_cmake does not work when $MAKE_CMD environment variable exists.
* cgal_test_with_cmake returns an error when an application cannot be compiled.
2009-06-24 13:36:01 +00:00
Pierre Alliez 4045ec3e30 point set processing: user manual 2009-06-18 14:28:04 +00:00
Laurent Saboret 533dfcf207 Added examples with Dereference_property_map and tuple property map 2009-06-18 13:28:00 +00:00
Pierre Alliez 584f0e5131 point set processing: user manual: intro + io 2009-06-18 10:09:44 +00:00
Nader Salman cae412f834 added a small doc on the dereference_property_map in io.tex
added a small example on the use of CGAL::Dereference_property_map<T> in remove_outliers_example.cpp
2009-06-18 09:12:49 +00:00
Nader Salman 7fcf846193 updated the examples comments and removed the deprecated includes 2009-06-18 08:45:04 +00:00
Nader Salman d89d383f46 Modified two more examples to use pairs <Point,Vector> instead of Point_with_normal_3 type.
=>More generic examples.
2009-06-17 15:50:22 +00:00
Nader Salman 96e2418555 Corrected a big compilation bug
:= When Point type is a pair or a tuple compute_average_spacing, jet_estimate_normal, jet_smooth_point_set,
pca_estimate_normals, pca_smooth_point_set, remove_outliers and remove_outliers_wrt_median_knn_sq_distance 
files couldn't compile. Now they can!

Written a detailed example (average_spacing_example.cpp) that uses the tuples type.
==> Pairs and tuples are now used in the examples.
2009-06-17 12:39:51 +00:00
Laurent Saboret e3aea2e92d Changes after Surface_reconstruction_points_3/Point_set_processing_3 submission review by AF (12):
Document property maps and move them to Support Lib:

* Added new chapter "CGAL abd Boost Property Maps" (Property_map) to Support Lib:
- it is located in Point_set_processing_3/doc_tex/Property_map.
- it documents Dereference_property_map, First_of_pair_property_map, Second_of_pair_property_map and Nth_of_tuple_property_map.

* Renamed point_set_property_map.h as property_map.h

* Moved Normal_vector_property_map to Point_with_normal_3.h and renamed it Normal_of_point_with_normal_pmap.
2009-06-17 07:49:35 +00:00
Nader Salman 9f60273060 Added Property maps in read_write_xyz_point_set_example.cpp
Fixed bug in read_off_points_and_normals and  read_xyz_points_and_normals : Initialization of Normals to NULL_VECTOR when normal information is missing in the input file.
2009-06-15 14:15:59 +00:00
Laurent Saboret 0805bd26ac Changes after Surface_reconstruction_points_3/Point_set_processing_3 submission review by AF (11):
Changes requested by AF on 06/12/2009:

* Point_set_processing_3:
- Added grid_simplify_example.cpp. It replaces random_simplify_example.cpp in Point_set_processing_3 User Manual.
2009-06-15 08:07:10 +00:00
Laurent Saboret 1625af0907 Changes after Surface_reconstruction_points_3/Point_set_processing_3 submission review by AF (11):
Changes requested by AF on 06/12/2009:

* Point_set_processing_3:
- Fixed description of grid_simplify_point_set()
- Fixed description of read_xyz_points(), write_xyz_points(), read_off_points(), write_off_points()
- Added grid_simplify_example.cpp. It replaces random_simplify_example.cpp in Point_set_processing_3 User Manual.

* Surface_reconstruction_points_3:
- Small fixes in the User Manual.
2009-06-15 08:04:42 +00:00
Laurent Saboret a15b486d24 Changes after Surface_reconstruction_points_3/Point_set_processing_3 submission review by AF (10):
Removed IndexPMap parameter of mst_orient_normals():

* Removed IndexPMap parameter of mst_orient_normals(). Instead, mst_orient_normals() creates internaly an Index_property_map object.

* Index_property_map is a template class "index" property map, which associates a 0-based index (unsigned int) to Iter iterators.
2 specializations exist:
- if Iter is a random access iterator (typically vector and deque), get() just calls std::distance() and is very efficient;
- else, the property map allocates a std::map to store indices and get() requires a lookup in the map.

* Index_property_map is moved to an independent header Index_property_map.h but is not documented.
2009-06-12 09:05:03 +00:00
Laurent Saboret 66332c8646 Fixed bugs on Cygwin/Visual C++ platform:
* The compiler output is now correctly logged.
* Fixed make clean call.
2009-06-12 08:58:26 +00:00
Laurent Saboret eef69acca3 Modified version of cgal_test_with_cmake which:
- is cross-platform Unix/make and Cygwin/VisualC++
- concats all log files to cgal_test_with_cmake.log
- does not clean up object files and executables (too slow when called by developer)
2009-06-08 13:46:39 +00:00
Laurent Saboret cb58a26a32 Modified version of cgal_test_with_cmake which:
- is cross-platform Unix/make and Cygwin/VisualC++
- concats all log files to cgal_test_with_cmake.log
- does not clean up object files and executables (too slow when called by developer)
2009-06-08 11:52:56 +00:00
Laurent Saboret 30a5f7be9b Scott Meyer's "swap trick" to trim excess capacity 2009-06-02 16:28:18 +00:00
Nader Salman 31afd00f94 Updated memory issue on normal estimation code 2009-06-02 10:50:17 +00:00
Nader Salman 593a5a8be3 Corrected memory issue using Scott Meyer's "swap trick" to trim excess capacity 2009-06-02 08:46:23 +00:00
Laurent Saboret 09568b8346 Scott Meyer's "swap trick" to trim excess capacity 2009-05-29 10:13:09 +00:00
Laurent Saboret bfc3fa82d6 Compare logs with Beyond Compare 2009-05-26 17:06:30 +00:00
Laurent Saboret 45998fee86 Added /FR option to turn on VC++ IntelliSense
Added -DDEBUG_TRACE to print memory footprint
2009-05-26 17:05:36 +00:00
Laurent Saboret 3f72786f2a Changes after Surface_reconstruction_points_3/Point_set_processing_3 submission review by AF (8):
* Port to g++ 4.3.1/Linux
* Update automatic documentation
2009-05-18 17:41:58 +00:00
Laurent Saboret 521b24b556 Changes after Surface_reconstruction_points_3/Point_set_processing_3 submission review by AF (8):
* The code matches the documentation and uses the new API with property maps:
- The code uses the new API with property maps.
- The test suites work.
- The MFC and Qt demos work.
- Copied Pierre's comments in Reference Manual to C++ comments.

* Renaming:
- merge_simplify_point_set -> grid_simplify_point_set.
- read_xyz_point_set split() as read_xyz_points() + read_xyz_points_and_normals().

* Gyroviz stuff:
- merge_simplify_nearest_point_set renamed as grid_simplify_nearest_point_set and moved to Poisson demo (as it is limited to Gyroviz_point_3 points).
- The code in Point_set_processing_3 uses the new API with property maps.
2009-05-18 15:42:15 +00:00
Laurent Saboret 402ef86aef Changes after Surface_reconstruction_points_3/Point_set_processing_3 submission review by AF (7):
Documentation of the new API with property maps.

* The User and Reference Manuals are updated wrt the new API with property maps.
* The examples included in the User and Reference Manuals are updated.

Warning:
* The code of these packages does not match the documentation!
* Do not call generate_reference_manual on these packages. This would remove the new API documentation.

TODO:
* Modify the code to match the documentation.
2009-05-11 16:38:05 +00:00
Laurent Saboret 87be199e78 Updated list of files that svn should ignore 2009-05-07 13:57:04 +00:00
Laurent Saboret 85c602c7dc Changes after Surface_reconstruction_points_3/Point_set_processing_3 submission review by AF (6):
Proof of concept of the new API with property maps.

* Proof of concept: 
- mst_orient_normals() is implemented using the new API with property maps. It returns an iterator over the first non oriented normal.
- Same thing for radial_orient_normals() [private API].
- the test suite works fine.
- removed Orientable_normal_3 class.

* point_set_property_map.h contains all property map classes of Point_set_processing_3:
- Former property maps in property_map.h are modified to take an iterator as key instead of a value type. This is more general (works if key = int), safer (no bug if key passed by value) and coherent with Boost Graph Library.
- identity_property_map and Point_set_vertex_point_const_map are merged as Dereference_property_map.
- Point_set_vertex_normal_map is moved from Point_set_3.h and renamed Normal_vector_property_map.
- Random_access_container_index_pmap is moved from Random_access_container_index_pmap.h and renamed Index_property_map.
- added free functions make_*() to create these property maps.
- removed get() functions to create these property maps.

* Demos:
- fixed Poisson MFC demo.

Gyroviz code is limited to containers of Gyroviz_point_3 (no property maps):
- removed class class Point_set_vertex_cameras_const_map.
- changed implementation of orient_normal_wrt_cameras().

TODO:
- update documentation.
- change API of all other functions of these packages to use property maps.
2009-05-07 13:13:56 +00:00
Laurent Saboret 6f181f3a7f Fixed compilation and test suite error: pca_estimate_normals_example example has been renamed normals_example. 2009-05-07 12:46:40 +00:00
Laurent Saboret bc97f27897 Use STL vector and list instead of deque in examples 2009-05-07 12:43:21 +00:00
Gaël Guennebaud 2acec520ee add a property_map example working with multiple buffers (e.g., multiple
std::vector)
2009-04-30 17:32:02 +00:00
Pierre Alliez 46a035df4e point set processing: more on user ref 2009-04-29 15:23:47 +00:00