Commit Graph

44 Commits

Author SHA1 Message Date
Pierre Alliez 8c356f15e9 Poisson reconstruction: back to un-normalized divergent 2011-04-29 14:39:35 +00:00
Sébastien Loriot a2cec87f46 replace remaing fabs in include files by CGAL::abs 2011-02-18 15:37:40 +00:00
Andreas Fabri 4ae93225bb bugfix: the wrong point was chosen for the triangle 2010-08-27 13:13:14 +00:00
Laurent Rineau eb0339b4cc Change the values of poisson_reconstruction_function when the query point
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.
2010-08-20 12:51:33 +00:00
Andreas Fabri 0e743a8b09 incident_vertices -> adjacent_vertices 2010-08-18 09:20:35 +00:00
Andreas Fabri 530ee2b4d0 Fix a bug in area_voronoi_face (the area of the last triangle was missing) 2010-08-18 08:51:55 +00:00
Andreas Fabri a2ecd30c49 Improve performance of assemble_poisson_row 2010-08-18 08:46:29 +00:00
Andreas Fabri 11f9c270a4 Rewrite of loops 2010-08-10 13:22:20 +00:00
Laurent Saboret 80771679b3 Updated Poisson_reconstruction_function documentation with generate_reference_manual 1.3.1 2010-06-20 17:43:29 +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
Stéphane Tayeb a7c00d7595 Add #include<trace.h> where needed (i think i broke that when i worked on *_assertions.h files) 2009-10-16 08:50:48 +00:00
Laurent Saboret 05b7683855 Added support of Intel MKL/Pardiso sparse linear solver:
* 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.
2009-10-01 10:46:44 +00:00
Laurent Saboret e3ad01d00f Fixed compilation warning 2009-09-29 09:49:23 +00:00
Pierre Alliez 937d57808f update barycentric coordinates - thanks Andreas. 2009-09-08 07:03:30 +00:00
Laurent Saboret fa8674926a Improved traces 2009-08-24 16:05:20 +00:00
Laurent Saboret d5475f496c Improved performance traces 2009-08-03 14:47:05 +00:00
Laurent Saboret f7831a6a82 Improved performance traces 2009-07-31 10:49:16 +00:00
Laurent Saboret aacac9bdf0 Improved performance traces 2009-07-30 12:55:44 +00:00
Laurent Saboret 0295e64d9b Move Surface_reconstruction_points_3 with APSS (targeting CGAL 3.6) from experimental-packages to trunk 2009-07-28 07:26:07 +00:00
Laurent Saboret 740a0faa6e Move Surface_reconstruction_points_3 with APSS (targeting CGAL 3.6) from experimental-packages to trunk 2009-07-28 07:24:21 +00:00
Laurent Saboret 934da2da49 Removed Poisson_reconstruction_function::Triangulation type and triangulation() function (obsolete) 2009-07-01 11:59:09 +00:00
Laurent Saboret feb5bdff59 Changed variables name and comments to match APSS_reconstruction_example.cpp and poisson_reconstruction_example.cpp (easier to maintain code). 2009-07-01 11:35:41 +00:00
Laurent Saboret 97d6b4187e Renamed 'size' variables as 'radius' (easier to understand) 2009-06-30 13:15:45 +00:00
Laurent Saboret e70a056e75 LS + S. Tayeb:
* 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.
2009-06-26 15:04:39 +00:00
Pierre Alliez 9bce2b33a8 reconstruction: remove documented function which returns embedded triangulation in poisson. cleanup description. 2009-06-26 09:10:31 +00:00
Laurent Saboret 54391f4da1 Code cleaning:
- removed obsolete code
- use property maps in Reconstruction_triangulation_3
2009-06-24 16:12:50 +00:00
Laurent Saboret 4003fd8520 Fixed infinite loop in Delaunay refinement with "teeth" model (BPoint_MM):
use filtered robust version of circumcenter computation.

(thanks to Stephane Tayeb for providing Robust_circumcenter_filtered_traits_3 class)
2009-06-19 16:00:59 +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
Laurent Saboret 61991956f9 Changes after Surface_reconstruction_points_3/Point_set_processing_3 submission review by AF (13):
Removed ReconstructionTriangulation_3 template parameter of Poisson_reconstruction_function.
2009-06-16 08:29:01 +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 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 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
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
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 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