Commit Graph

350 Commits

Author SHA1 Message Date
Shihao Wu 091f17b3dd working on code formating and get some wired errors
Maybe I'm working in a wrong branch?
2013-07-08 22:39:47 +08:00
Shihao Wu 1ececf54a1 limit each line to 80 characters. 2013-07-08 17:09:50 +08:00
Shihao Wu 273eb39cd2 Added Rich_grid.h file
Modified regularize_and_simplify_point_set_using_balltree for Rich_grid

Used CGAL::Timer instead
2013-07-08 16:02:15 +08:00
Clement Jamin 6bb238d5cb Replace "<..<...>>" by "<...<...> >" (>> is correct in C++11 only) 2013-07-05 13:46:43 +02:00
Clement Jamin 130a0b4287 Use Point_3::x/y/z() functions: it's clearer and faster 2013-07-05 13:26:46 +02:00
Clement Jamin 8809c071a5 A bit of code formatting 2013-07-05 11:33:38 +02:00
Clement Jamin a8d438eece Everything should be in the CGAL namespace 2013-07-05 11:08:46 +02:00
Clement Jamin fcc02e2547 Add a typedef XXX Base and use it 2013-07-05 10:53:14 +02:00
Clement Jamin 229430f96a Clean-up some comments 2013-07-05 10:49:19 +02:00
Clement Jamin 63b67c89ad Clean-up some comments 2013-07-05 10:48:26 +02:00
Clement Jamin a54cce9d1d Fix charset problem 2013-07-05 10:36:03 +02:00
Clement Jamin 6c44ab3306 Merge branch 'gsoc2013-Point_set_processing_3-point_set_consolidation-swu-old' into gsoc2013-Point_set_processing_3-point_set_consolidation-swu 2013-07-05 08:58:45 +01:00
Shihao Wu b836e36808 added denoise_point_set function/files and example
also refine the code of wlop
2013-07-05 00:28:39 +08:00
Shihao Wu eeb5350fce Added a new file/function for Grid Tree implementation
The new file/function name is "regularize_and_simplify_point_set_using_balltree"
2013-07-04 00:17:51 +08:00
Shihao Wu c4d7e2d39b Add guess KNN trick
To speed up compute_average_term
I guess the suitable KNN size to reduce the redundant visit.
2013-06-28 00:51:16 +08:00
Shihao Wu 9924c4c652 <Trying to add tbb> 2013-06-25 23:26:46 +08:00
Shihao Wu 03054d786f <Fixed the bug of density function>
<Now the linear version of WLOP is finished
,next is try parallel>
2013-06-25 21:53:15 +08:00
Shihao Wu 6f1c8567e5 <Finished density weight function> 2013-06-25 00:18:04 +08:00
Shihao Wu 99c725e4e0 <add density weight> 2013-06-21 21:28:23 +08:00
Shihao Wu 93574ff377 <Fix a huge bug>
<Now is the real LOP,
Ready to add density weight>
2013-06-21 16:15:41 +08:00
Shihao Wu d36371a334 <Finished repulsion term>
<Now we can see some effect of
L2 LOP>
2013-06-20 23:16:28 +08:00
Shihao Wu 45b11a0b57 <Added new functions>
<Added KDD neighborhood searching
 Added compute_average_term>
2013-06-19 20:15:05 +08:00
Sébastien Loriot 607a1ac8ca re-add property map dereferencing a property_map lost during update-merge 2013-06-19 11:31:06 +02:00
Shihao Wu 01a19b3c80 Make the code more general, ready for the first push 2013-06-19 16:34:39 +08:00
Shihao Wu 0074af2b90 Add a new function regularize_and_simplify_point_set(). doing nothing but randomly copy sampled points inside the function space.
Than I want to update these sampled points position using WLOP algorithm.

At last, I will copy back the modified points to the original points as output.
2013-06-18 23:03:28 +08:00
Sébastien Loriot 829a6c0ac1 doxygen: prevent linking 2013-06-17 09:52:08 +02:00
Sébastien Loriot 716f87d2d7 rename Hidden_type to unspecified_type and update its description 2013-06-13 18:48:58 +02:00
Sébastien Loriot ffa4bf7d34 rename MACRO to enable old code 2013-06-13 17:04:50 +02:00
iyaz a541518c01 use member get on tuples instead of free func get 2013-06-06 22:41:43 +03:00
Sébastien Loriot b72e31e2ae ADL does not apply to a function with an explicitly qualified template argument 2013-06-05 09:23:38 +02:00
Sébastien Loriot 677bc07a4d rename Typed_identity_property_map_by_reference to Identity_property_map
and update its documentation
2013-05-13 11:38:07 +02:00
Sébastien Loriot f91eac468e enhance documentation 2013-05-13 10:59:15 +02:00
Sébastien Loriot f28c0b042a update doc of value_type_traits 2013-05-13 10:03:20 +02:00
iyaz 8807ec30e1 document value_type_traits, add specializations for inserter_iterator and front_inserter_iterator
add another template parameters for OtuputIterator value type in read functions which rely on vaue_type_traits
2013-05-08 23:21:22 +03:00
iyaz cd0163b95c should be iterator_traits - fixed 2013-05-08 15:43:53 +03:00
iyaz c951a2f509 wrong parameter name - fixed 2013-05-08 10:33:32 +03:00
iyaz c9a1b71c43 do not use value_type_traits when iterator_traits suffices 2013-05-07 18:53:14 +03:00
iyaz 9cb22fdd0e InputIterator -> ForwardIterator 2013-05-06 18:08:33 +03:00
Sébastien Loriot 17dd21def5 Merge branch 'First_of_pair_property_map-new_version-iyaz-old' into First_of_pair_property_map-new_version-iyaz
Conflicts:
	Point_set_processing_3/examples/Point_set_processing_3/property_map.cpp
	Point_set_processing_3/include/CGAL/IO/read_off_points.h
	Point_set_processing_3/include/CGAL/IO/read_xyz_points.h
	Point_set_processing_3/include/CGAL/IO/write_off_points.h
	Point_set_processing_3/include/CGAL/IO/write_xyz_points.h
	Point_set_processing_3/include/CGAL/Point_with_normal_3.h
	Point_set_processing_3/include/CGAL/improved_jet_smooth_point_set.h
	Point_set_processing_3/include/CGAL/improved_laplacian_smooth_point_set.h
	Point_set_processing_3/include/CGAL/jet_estimate_normals.h
	Point_set_processing_3/include/CGAL/jet_smooth_point_set.h
	Point_set_processing_3/include/CGAL/pca_estimate_normals.h
	Point_set_processing_3/include/CGAL/pca_smooth_point_set.h
2013-05-06 15:57:36 +02:00
iyaz b97fcda8dd pca_smooth_point_set PointPMap Readable -> ReadWrite,
make it undocumented
2013-05-06 12:05:35 +03:00
iyaz 0ca7f319e0 use helper function for typed_identity pmap,
remove forgotten dereference pmap
2013-05-05 22:07:41 +03:00
iyaz cc16c15fb2 Also changed code in prev version (i.e. macro activated code) which was previously buggy (buggy in a way of using pmaps) 2013-05-05 19:33:06 +03:00
iyaz d8bd97e662 documentation related parameter name fix 2013-05-05 19:13:41 +03:00
iyaz f09426d1c5 write_off_points_and_normals NormalPMap requirement WritablePropertyMap -> ReadablePropertyMap
write_xyz_points_and_normals NormalPMap requirement WritablePropertyMap -> ReadablePropertyMap
2013-05-05 18:51:24 +03:00
iyaz 0a7322b3bc Also changed code in prev version (i.e. macro activated code) which was previously buggy (buggy in a way of using pmaps) 2013-05-05 18:15:45 +03:00
iyaz d7385a1974 Also changed code in prev version (i.e. macro activated code) which was previously buggy (buggy in a way of using pmaps) 2013-05-05 18:11:14 +03:00
iyaz fb37011c14 pmap related changes,
note that previous version has a bug, where a normal is accessed directly (should be accessed via pmap)
2013-05-05 17:08:55 +03:00
iyaz a1454a975d jet_smooth_point_set ReadablePropertyMap -> ReadWritePropertyMap 2013-05-05 16:13:28 +03:00
iyaz c67eb609b3 improved_laplacian_smooth_point_set ReadablePropertyMap -> ReadWritePropertyMap 2013-05-05 16:11:43 +03:00
iyaz f7d331ec22 changed improved_jet_smooth_point_set PointPMap requirement to ReadWritePropertyMap
which was ReadablePropertyMap (which was not OK since pmap is also subject to change inside the function)
2013-05-04 01:50:02 +03:00
iyaz db31047a13 Documentation changes in Point_set / include:
change all documentation references to boost pmaps to proxy CGAL concepts
2013-05-03 18:24:10 +03:00
iyaz fb6dafd656 Propery maps (making Lvalue) 2013-05-03 17:58:15 +03:00
Sébastien Loriot 1284566438 Bug-fix: a get is not guarantee to return a reference. put should be used ...
... for overwritting the value
2013-05-03 09:43:20 +02:00
Sébastien Loriot 47084771af remove put_get_helper_pass_key_by_reference, using friend put/get functions
it is more clear to see what is going on
2013-05-03 09:36:08 +02:00
iyaz 85899e5e27 Do not remove Dereference_property_map (previously deactivated with a macro) 2013-05-02 16:53:22 +03:00
iyaz 8e38300002 Change of mind: to keep helper simpler I removed an extra get function added for supporting key types which are not actually key_type
( We only need that functionality inside Normal_of_point_with_normal_pmap, so made required changes in there)
2013-05-01 04:06:33 +03:00
iyaz 07bf1ef8d2 forgotten cast removed 2013-05-01 03:08:40 +03:00
iyaz 8b575f179e one more get function is added for handling key types which are not "key_type" but convertible 2013-05-01 02:40:42 +03:00
iyaz cd0c4f59f7 Documentation related changes 2013-04-30 16:59:02 +03:00
iyaz 35a83e09f8 Removed a forgotten comment 2013-04-30 16:58:01 +03:00
iyaz c3c6d435b5 IO part documentation update 2013-04-30 15:23:01 +03:00
iyaz a994cde1fa Forgotten def removed 2013-04-30 13:23:37 +03:00
iyaz 6b1a6ddab7 parameter name fixed 2013-04-30 02:28:10 +03:00
iyaz 9d94793f77 parameter names are corrected 2013-04-30 01:27:22 +03:00
iyaz 72a947cda4 Changes related to pm inside include
(documentation is not updated)
2013-04-30 00:32:46 +03:00
iyaz 6b5d40387f New version of pmaps, and an example of required changes in related code (for now just read_xyz_points.h and write_xyz_points.h are changed as a representative) 2013-04-22 02:59:37 +03:00
Sébastien Loriot 4860091679 doc bugfix: s/InputIterator/ForwardIterator/g (used in a multipass algorithm) 2013-03-26 10:37:35 +01:00
Sébastien Loriot 104384b40f doc bugfix: iterator is a ForwardIterator since the algorithm is multipass
the fix consists in s/InputIterator/ForwardIterator/
and update the description of the input iterator
2013-03-26 10:16:07 +01:00
Sébastien Loriot a483e26dd0 skip documentation of header in dont_submit 2013-03-26 08:25:47 +01:00
Sébastien Loriot 7412cdb650 add all property maps concepts to ease linking to them. Update pages using them 2013-03-14 16:59:27 +01:00
Andreas Fabri cfd69b1490 long/int -> size_t 2013-02-27 11:44:55 +01:00
Andreas Fabri 8a309aac1b remove an unused parameter 2013-02-26 17:13:32 +01:00
Andreas Fabri 89f9f21cc4 Avoid parsing x,y,z twice and add a testsuite 2013-01-16 16:01:29 +01:00
Sébastien Loriot 128b02abb8 update CGAL custom doxygen macros
corresponds to a run of the script Documentation/conversion_tools/rename_macros.sh
+manual edit of doxyassist.xml and pkglist_filter.py
2012-11-14 00:31:05 +01:00
Philipp Möller 0b10df571d move doc into property_map.h itself 2012-10-23 14:32:10 +00:00
Sébastien Loriot 9a7f4a5876 skip property_map.h to avoid duplicate with package boost::property_map
basic documentation of members
2012-10-22 23:20:15 +00:00
Sébastien Loriot 585c3f9c62 link to boost property map concepts 2012-10-22 23:13:56 +00:00
Sébastien Loriot 42879db6e5 add groups
using tparam
using pre
2012-10-22 23:02:04 +00:00
Laurent Rineau a04891ff93 WARNFIX: fix some warnings triggered by -Wconversion on g++ 2012-08-09 16:06:54 +00:00
Laurent Rineau 90414d195f Move <CGAL/Testsuite/use.h> to <CGAL/use.h> (in the Installation package)
That is a followup to the following commit:
  | ------------------------------------------------------------------------
  | r71090 | pmoeller | 2012-08-07 13:04:32 +0200 (Tue, 07 Aug 2012) | 6 lines
  | Changed paths:
  |    M /branches/next/Alpha_shapes_2/include/CGAL/Alpha_shape_2.h
  |    M /branches/next/Circulator/include/CGAL/circulator.h
  |    M /branches/next/Convex_decomposition_3/include/CGAL/Convex_decomposition_3/Reflex_vertex_searcher.h
  |    M /branches/next/Intersections_3/test/Intersections_3/bbox_other_do_intersect_test.cpp
  |    M /branches/next/Kernel_d/include/CGAL/Cartesian_d.h
  |    M /branches/next/Mesh_3/include/CGAL/IO/File_medit.h
  |    M /branches/next/Mesh_3/include/CGAL/Mesh_cell_criteria_3.h
  |    M /branches/next/Mesh_3/include/CGAL/Mesh_edge_criteria_3.h
  |    M /branches/next/Mesh_3/include/CGAL/Mesh_facet_criteria_3.h
  |    M /branches/next/Mesh_3/include/CGAL/make_mesh_3.h
  |    M /branches/next/Nef_2/include/CGAL/Bounded_kernel.h
  |    M /branches/next/Nef_2/include/CGAL/Nef_polyhedron_2.h
  |    M /branches/next/Nef_3/include/CGAL/Nef_3/ID_support_handler.h
  |    M /branches/next/Nef_3/include/CGAL/Nef_3/Infimaximal_box.h
  |    M /branches/next/Nef_3/include/CGAL/Nef_3/vertex_cycle_to_nef_3.h
  |    M /branches/next/Nef_3/include/CGAL/Nef_polyhedron_3.h
  |    M /branches/next/Nef_3/test/Nef_3/nef_union_error_llvm.cpp
  |    M /branches/next/Nef_S2/include/CGAL/Nef_S2/SM_overlayer.h
  |    M /branches/next/OpenNL/include/CGAL/OpenNL/blas.h
  |    M /branches/next/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h
  |    M /branches/next/Point_set_processing_3/include/CGAL/mst_orient_normals.h
  |    M /branches/next/QP_solver/include/CGAL/QP_solver/QP_functions_impl.h
  |    M /branches/next/STL_Extension/include/CGAL/iterator.h
  |    M /branches/next/Segment_Delaunay_graph_2/include/CGAL/Segment_Delaunay_graph_simple_site_2.h
  |    M /branches/next/Subdivision_method_3/include/CGAL/Polyhedron_decorator_3.h
  |    M /branches/next/Subdivision_method_3/include/CGAL/Subdivision_mask_3.h
  |    M /branches/next/Surface_mesher/include/CGAL/Surface_mesh_default_criteria_3.h
  |    M /branches/next/Voronoi_diagram_2/include/CGAL/Voronoi_diagram_2/Adaptation_traits_functors.h
  |    M /branches/next/Voronoi_diagram_2/include/CGAL/Voronoi_diagram_2/Default_site_inserters.h
  |    M /branches/next/Voronoi_diagram_2/include/CGAL/Voronoi_diagram_2/Default_site_removers.h
  | 
  | WARNFIX: Silence a good part of unused variable/parameter warnings.
  | 
  | Wextra results in a dreadful wall of yellow in the test-suite and is
  | scary when using CGAL. Reduce some of the noise by silencing the
  | obvious cases with CGAL_USE or comments.
  | 
  | ------------------------------------------------------------------------

The reason is that everything from CGAL/Testsuite/ is removed in public
releases (that was discussed at a CGAL developers meetings, long ago). That
means that r71090 introduced compilation errors undetectable by the tests
of internal releases. I hope that the minutes of that developers meeting
say that I was against the removal of headers between internal and public
releases!  -- Laurent Rineau
2012-08-09 15:34:08 +00:00
Philipp Möller 79b30908d5 WARNFIX: Silence a good part of unused variable/parameter warnings.
Wextra results in a dreadful wall of yellow in the test-suite and is
scary when using CGAL. Reduce some of the noise by silencing the
obvious cases with CGAL_USE or comments.
2012-08-07 11:04:32 +00:00
Laurent Rineau db194534c7 First big patch to fix -Wunused-local-typedefs
-Wunused-local-typedefs is a new warning flag of gcc-4.7, and it will enabled
 by -Wall since gcc-4.8 (not yet released).

The fix is a big set of removals of unused typedefs (or comments, or moves,
depending on the context).
2012-08-01 13:29:16 +00:00
Sébastien Loriot 53d4d270eb remove warning 2012-07-06 09:21:13 +00:00
Sébastien Loriot 4cacb97039 remove warnings 2012-07-05 14:56:50 +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
Laurent Saboret 39552d040f Changes after Surface_reconstruction_points_3/Point_set_processing_3 submission review by AF (5):
Simplified the API:
- removed OrientableNormal_3, PointWithOrientableNormal_3, ReconstructionTriangulation_3, ReconstructionVertexBase_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.

TODO:
- remove Orientable_normal_3 class.
- modify mst_orient_normals() to return an iterator over the first non oriented normal.
- fix Poisson MFC demo which does not compile anymore.
2009-04-28 14:10:05 +00:00
Gaël Guennebaud 12769c1304 fix compilation 2009-04-26 17:02:50 +00:00
Andreas Fabri acd07b594f That's how it could look like with boost property maps 2009-04-23 15:34:17 +00:00
Laurent Saboret 7ca11c448a Small documentation fixes 2009-04-22 15:06:24 +00:00
Laurent Saboret 685664588b Fixed compiler warnings (g++ 4.3) 2009-04-22 15:05:44 +00:00
Gaël Guennebaud ea51809b4d add sorted neighborhood option 2009-04-22 14:03:23 +00:00
Gaël Guennebaud f27579ddc6 replace custom kdtree by a fast version of Orthogonal_k_neighbor_search 2009-04-22 13:56:59 +00:00
Laurent Saboret 87e3e65ddb Changes after Surface_reconstruction_points_3/Point_set_processing_3 submission review by AF (3):
* Renamed functions part of the public API:
average_spacing_3 -> compute_average_spacing
read_off_point_set -> read_off_point_set
read_xyz_point_set -> read_xyz_point_set
write_off_point_set -> write_off_point_set
write_xyz_point_set -> write_xyz_point_set
jet_normal_estimation -> jet_estimate_normals
pca_normal_estimation -> pca_estimate_normals
jet_smoothing_3 -> jet_smooth_point_set
merge_simplification_3 -> merge_simplify_point_set
random_simplification_3 -> random_simplify_point_set
mst_normal_orientation -> mst_orient_normals
outlier_removal_3 -> remove_outliers
surface_reconstruction_output_surface_facets -> output_surface_facets_to_polyhedron and output_surface_facets_to_triangle_soup 

* and similar renaming for private/Gyroviz functions:
poisson_refinement_3 -> poisson_refine_triangulation
improved_laplacian_smoothing_3 -> improved_laplacian_smooth_point_set
merge_simplification_nearest_points_3 -> merge_simplify_nearest_point_set
outlier_removal_wrt_median_knn_sq_distance_3 -> remove_outliers_wrt_median_knn_sq_distance
outlier_removal_wrt_camera_cone_angle_3 -> remove_outliers_wrt_camera_cone_angle_3
radial_normal_orientation_3 -> radial_orient_normals
2009-04-21 14:10:02 +00:00
Laurent Saboret abeb50070f Changes after submission review by AF (2):
* Moved Lightweight_vector_3 from Point_set_processing_3 to Surface_reconstruction_points_3. It is now undocumented.
* Point_set_processing_3 User Manual does not have a structure of "pipeline" anymore.
* New introduction figures for Surface_reconstruction_points_3 and Point_set_processing_3.
* Deleted poisson.jpg/eps in Surface_reconstruction_points_3.
* INPUT and STEINER constants are now an enum.
* Removed obsolete code:
  - mst_normal_orientation(max_angle)
* PointWithNormal_3::set_position() renamed as position().
* Fixed misspellings.
* and many other improvements to the documentation (and C++ comments).
2009-04-20 16:49:53 +00:00
Nader Salman 9e4d56ec47 Bug corrections (03/04/2009) 2009-04-07 13:03:42 +00:00
Laurent Saboret a2878834ac Changes after submission review by AF (1):
* Port to Linux/g++
2009-04-03 13:53:27 +00:00
Laurent Saboret 8556fa0452 Changes after submission review by AF (1):
* Point_set_processing_3 IO functions take now as parameter a std::istream instead of a filename.
* Removed read/write_pwn_point_set() which are replaced by read/write_xyz_point_set().
* Removed read_pnb_point_set() which obsolete.
2009-04-03 12:47:33 +00:00
Nader Salman 9fe8881ed7 New algorithm to smooth 3D point cloud inspired y Improved Laplacian smoothing of noisy surface meshes 2009-04-02 16:27:01 +00:00
Laurent Saboret 62e4c1e36f * Simplified normal_estimation.cpp example (moved code comparing the computed normals to the original ones to normal_estimation_test.cpp).
* Fixed test suite (test sphere926.pwn instead of ChineseDragon-10kv.off which is too difficult).
2009-03-17 12:03:16 +00:00
Laurent Saboret d0ff567259 Split Surface_reconstruction_3 into Point_set_processing_3 and Surface_reconstruction_points_3 (part 1):
* Move/rename files and folders.
* Rename point set IO functions.

Status: 
* Both packages compile on Unix/g++ 4.1.2. The test suite is OK.
* The documentation compiles for both packages.

TODO:
* Update the documentation and package_info
* Update Groviz
* Delete Surface_reconstruction_3
2009-03-13 15:50:14 +00:00
Laurent Saboret d3374184d7 Split Surface_reconstruction_3 into Point_set_processing_3 and Surface_reconstruction_points_3 (part 1):Move/rename files and folders 2009-03-12 15:19:49 +00:00
Laurent Saboret cb6e40b653 Split Surface_reconstruction_3 into Point_set_processing_3 and Surface_reconstruction_points_3 (part 1):Move/rename files and folders 2009-03-12 15:16:09 +00:00