Commit Graph

67 Commits

Author SHA1 Message Date
Sébastien Loriot be1de01b22 *update AABB_primitive: the property maps must operate on Id!
*correct and complete implementation for HalfhedgeGraph models
2012-05-10 15:51:45 +00:00
Andreas Fabri dffde9612b Remove ^M at eol 2012-01-17 17:13:01 +00:00
Laurent Rineau 8f59fd9592 Turn QPL into LGPLv3+ 2012-01-13 16:33:35 +00:00
Andreas Fabri e5027f9c83 Replace deprecated std::auto_ptr with boost::shared_ptr 2011-10-24 14:13:37 +00:00
Laurent Rineau 369498d1e5 Cancel revision 64607. There had been a problem with the branch.
| ------------------------------------------------------------------------
  | r64607 | efif | 2011-07-05 17:27:04 +0200 (Tue, 05 Jul 2011) | 1 line
  | 
  | Merged feature-branch Aos_2-new_functors-tau into next
  | ------------------------------------------------------------------------
2011-07-06 11:11:58 +00:00
Laurent Rineau 19a787e342 Bug fix: input iterators are not required to be default-constructible
When InputIterator is an input-iterator type, one cannot do:

   InputIterator it;
   for(it = first; it != beyond; it++)

because input iterators may not be default-constructible. Only forward
iterators are required, by the C++03 norm, to be default-constructible.


We need to write: 

   for(InputIterator it = first; it != beyond; it++)
2011-05-06 10:24:08 +00:00
Sébastien Loriot e5a96255ba *remove warnings.
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
2011-02-28 15:28:28 +00:00
Sébastien Loriot 2a9d9e9702 remove warnings 2011-02-23 10:01:12 +00:00
Sébastien Loriot 52317dd49f add python script (replace_CGAL_NAMESPACE.py) to replace CGAL_BEGIN_NAMESPACE and CGAL_END_NAMESPACE
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.
2010-06-09 07:37:13 +00:00
Laurent Rineau cadb6a589a tuple is a dependent-name, and a call to a member function template of
tuple must be qualified with "template".
2010-05-17 16:15:17 +00:00
Sébastien Loriot 1382b9552d Add non-documented interface for APSS reconstruction.
Remove no longer needed Fast_orthogonal_k_neighbor_search (changes integrated in Orthogonal_k_neighbor_search)
2010-02-23 16:01:49 +00:00
Sylvain Pion 85dc12f2a7 Remove empty lines at beginning and end of files
(apply Scripts/developer_scripts/remove_empty_lines.pl).
2010-02-01 12:55:28 +00:00
Sébastien Loriot cdee61ee96 Replace M_PI by CGAL_PI 2010-01-19 07:27:33 +00:00
Nader Salman 164837e1c2 -namespace CGALi
+namespace internal

Updated the namespace to "internal".
2009-12-11 15:34:07 +00:00
Nader Salman 96f8cac0fe Corrected the Property Maps issue. 2009-12-11 15:08:58 +00:00
Laurent Rineau 83912b2952 Massive fix of svn:keywords properties, and $URL$ keyword. 2009-10-20 08:59:26 +00:00
Gaël Guennebaud cc2181e205 #include <CGAL/trace.h> where needed 2009-10-15 12:08:25 +00:00
Stéphane Tayeb 8dceee4164 Add include<CGAL/assertions.h> in *_assertion files. 2009-10-07 13:16:13 +00:00
Stéphane Tayeb 770492c1c7 Use new version of script create_assertions.sh to generate *_assertions.h files.
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
2009-10-07 07:49:44 +00:00
Laurent Saboret 1b8c8a4301 Fixed compilation error introduced in r51749 2009-09-04 11:27:51 +00:00
Laurent Saboret 057de88bea Fixed warning with boost >= 10.38 2009-09-03 09:16:37 +00:00
Sylvain Pion 8573fe26ce Rename CGALi to internal. 2009-08-24 17:10:04 +00:00
Laurent Saboret 92a542c94c Fixed bug in trace macro 2009-08-05 11:05:54 +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 192ccd9cc3 * Fixed bug in read_xyz_points_and_normals() when loading a .xyz file with empty lines:
Updated manual.

* Also added a comment about the hack to have 2 functions documented on the same page (e.g. read_xyz_points() and read_xyz_points_and_normals()).
2009-07-06 17:03:32 +00:00
Laurent Saboret 1d93f37726 * Fixed bug in read_xyz_points_and_normals() when loading a .xyz file with empty lines
* Fixed bugs in Point Set demo "Save As" feature:
- saving as .xyz did not work
- replacing an existing file prompted 2 confirmation dialogs
2009-07-06 16:08:10 +00:00
Laurent Saboret 6469d5e568 Fixed error message on cerr in Qt Point Set demo. 2009-06-26 13:05:49 +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 ac7d0971c2 Bug fix (by Mac Glisse): bring std::distance() to scope. 2009-06-17 08:11:47 +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 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 489b84a5e6 Changes after Surface_reconstruction_points_3/Point_set_processing_3 submission review by AF (9):
* Improvements in C++ code:
- erase_small_connected_components() is renamed keep_largest_connected_components() and takes as new parameter the number of large components to keep.
- get_polyhedron_connected_components() writes the list of components found in an output iterator.

* Improvements in the User Manuals:
- Removed page number in links.
- New images for grid simplification and normal orientation (hopefully clearer).
- Added citation of OFF file format.

* Improvements in the Reference Manuals:
- Removed output_surface_facets_to_triangle_soup() (obsolete).
- Removed get_polyhedron_connected_components() from documentation.
- Set manually the classes/structs/concepts marging to get a pretty alignment of types, constructors and methods.

* Automatic documentation improvements by generate_reference_manual 1.3:
- Reduced left margin of free functions description.
- Fixed bug: fixed vertical alignment in methods/functions description.
- Fixed bug: does not remove anymore EOLs in methods/functions description.
- Fixed bug #7515: removed "[protected]", "[static]" and "[virtual]" comments.
2009-06-11 08:36:48 +00:00
Laurent Saboret c4708afb9f Improved traces related to memory footprint 2009-06-02 16:29:20 +00:00
Laurent Saboret d59491ea6e Fixed compilation error with VC++ 8 2009-05-26 13:35:26 +00:00
Nader Salman fa878c8e2d Fixed bugs : smoothing removes normals and cameras in points... 2009-05-19 13:24:23 +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 d4be110f43 Rename merge_simplify_nearest_point_set() as grid_simplify_nearest_point_set() [Gyroviz] 2009-05-18 14:19:03 +00:00
Nader Salman b8bf301de3 Smoothing function that uses plane fitting quicker in many cases that the jet fitting smoothing. 2009-05-13 13:45:38 +00:00
Laurent Saboret fd085cef66 PointWithNormal_3 concept does not exist anymore 2009-05-11 17:14:07 +00:00
Laurent Saboret ca88e7d556 Fixed compilation errors 2009-05-11 17:02:35 +00:00
Laurent Saboret d9f0d7ba6d Fixed compilation errors 2009-05-11 17:01:48 +00:00
Laurent Saboret 8b2eb017af Use assert macros in point_set_processing_assertions.h 2009-05-11 17:00:20 +00:00
Laurent Saboret 0eba7cdc1f 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.

* Fixed compilation error with g++ 4.3.1
* Updated mst_orient_normals() documentation
* Added property_map_multiple_streams.cpp to dont_submit

TODO: delete property_map_multiple_streams.cpp
2009-05-07 13:59:54 +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 44d4b6ebb0 Changed comments and variables name. 2009-05-05 10:07:52 +00:00
Nader Salman 7b9599a6a1 Added improved_jet_smoothing_3.h 2009-05-05 09:09:49 +00:00
Laurent Saboret 1086632c10 Changes after Surface_reconstruction_points_3/Point_set_processing_3 submission review by AF (5):
Updated the documentation wrt the next changes:
- removed OrientableNormal_3, PointWithOrientableNormal_3, ReconstructionTriangulation_3, Reconstructio
nVertexBase_3 concepts.
- classes Orientable_normal_3, Reconstruction_triangulation_3 abd Reconstruction_vertex_base_3 are not
documented anymore.
- For free functions provided with 2 variants mutable/non mutable, removed the non mutable one.
2009-04-28 14:36:24 +00:00