Commit Graph

123 Commits

Author SHA1 Message Date
Laurent Saboret 86e72c16ab Fixed error in generate_reference_manual parsing 2009-05-25 10:29:40 +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
Gaël Guennebaud 617e029617 APSS:
* extend the documentation
* update the APSS demo plugin to use property map
* change the k parameter to a more generic "smoothness" value
* add an optional RadiusPMap in the ctor
* minor changes in APSS's internal mechanism
2009-05-13 12:28:24 +00:00
Laurent Saboret 3cc26450c2 Changed comments 2009-05-11 17:11:35 +00:00
Laurent Saboret 8a24d28a83 Use assert macros in surface_reconstruction_points_assertions.h 2009-05-11 17:08:52 +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 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
Laurent Saboret adc82cc1ea Modified Poisson_reconstruction_function to match the documentation:
- delaunay_refinement(), solve_Poisson.rc(), set_contouring_value() and median_value_at_input_vertices() are declared private.
- Poisson MFC demo calls compute_implicit_function() instead of these methods.
2009-04-27 14:29:57 +00:00
Laurent Saboret 7ca11c448a Small documentation fixes 2009-04-22 15:06:24 +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 d0429bb665 Changes after Surface_reconstruction_points_3/Point_set_processing_3 submission review by AF (4):
Removed obsolete code and simplified the API of:
- Poisson_reconstruction_function
- ReconstructionTriangulation_3 and Reconstruction_triangulation_3
- APSS_reconstruction_function
2009-04-22 07:50:49 +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
Laurent Saboret 1ee7c2d2ff Port to Linux/g++ 4.3 2009-04-14 15:24:57 +00:00
Laurent Saboret ba1d0b27c0 * Fixed old bug of the "cones" created by APSS:
- added new function get_polyhedron_connected_components() that computes the connected components of a polyhedron.
- added new function erase_small_polyhedron_connected_components() that removes the *small* connected components of a polyhedron (leaves only the largest).
- call erase_small_polyhedron_connected_components() after APSS reconstruction

* Reduced Implict_surface_3 radius for APSS reconstruction => smaller "cones" => faster reconstruction.

* Removed debugging traces during the package review.

* Removed Oni example as the package does not reconstruct (yet) surfaces with boundaries.
2009-04-14 13:52:24 +00:00
Laurent Saboret c6ad02b857 Replace custom polyhedron class Enriched_polyhedron by a regular Polyhedron_3 + a call to compute_vertex_normal() (borrowed from Polyhedron demo).
The new code is shorter and easier to understand.
2009-04-10 14:40:47 +00:00
Laurent Saboret 5e81b086c8 Port to g++ 2009-04-10 11:26:03 +00:00
Laurent Saboret aacb1d4b42 * Point Set Demo:
- added APSS_reconstruct plugin
- replaced Operations menu by 3 menus: Analysis, Processing and Reconstruction

* Added surface_reconstruction_output_surface_facets(C2t3, polyhedron) to export reconstructed surface to polyhedron.
TODO: add documentation.

* Simplified examples:
- shorter variable names
- less traces
- removed obsolete parameter "error_bound"

* Simplified APSS API: removed obsolete parameter "projection_error"
2009-04-10 09:49:57 +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
Laurent Saboret 89db6de696 Create Qt Point Set demo from Qt Polyhedron demo and Poisson MFC demo.
Step 1:
This is a subset of experimental-packages/Polyhedron_demo-refactoring r48588 with only the features that make sense for the Point Set demo.
- 'Polyhedron demo' renamed as 'Point Set demo'.
- Removed Nef support.
- Removed boolean operations, curvature estimation, parameterization, kernel, orientation, self-intersection, subdivision algorithms.
- Kept PCA plug-in. Will change it to compute bounding sphere, bounding box, centroid and min ellipsis.
- Kept mesh simplification plug-in. Will change it to simplify point sets.
- Kept remeshing plug-in. Will change it to Poisson and APSS plug-ins.
- Kept Scene_polygon_soup class. Will change it to a point set class.
2009-03-31 14:55:24 +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 6b51c1f330 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:15:24 +00:00