Commit Graph

63 Commits

Author SHA1 Message Date
Andreas Fabri 2db81b6688 Add 'using' statement for ansi compliance 2010-05-11 08:44:43 +00:00
Nader Salman 59322188ac Added a missing #include <CGAL/Surface_mesh_traits_generator_3.h> 2010-03-18 09:12:11 +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
Laurent Rineau b4ab5b9a23 Merged revisions 53726-53727,53786 via svnmerge from
svn+ssh://lrineau@scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.6-branch

........
  r53726 | lrineau | 2010-01-22 14:11:32 +0100 (Fri, 22 Jan 2010) | 7 lines
  
  Merge from CGAL-3.5-branch:
    | ------------------------------------------------------------------------
    | r50580 | lsaboret | 2009-07-13 11:50:06 +0200 (Mon, 13 Jul 2009) | 1 line
    | 
    | Removed APSS from CGAL 3.5
    | ------------------------------------------------------------------------
........
  r53727 | lrineau | 2010-01-22 14:18:09 +0100 (Fri, 22 Jan 2010) | 1 line
  
  I forgot those files (remove APSS).
........
  r53786 | lrineau | 2010-01-25 23:36:18 +0100 (Mon, 25 Jan 2010) | 1 line
  
  Remove APSS from CGAL-3.6.
  The old code is now in
  /branches/unsorted-branches/Surface_reconstruction_points_3-with-APSS/
........
2010-01-26 09:30:46 +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
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 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
Laurent Saboret 875d360a13 * Bug fix in find_inner_point(): find point (close to) minimum of implicit function instead of random point inside surface 2009-09-10 09:21:10 +00:00
Pierre Alliez 937d57808f update barycentric coordinates - thanks Andreas. 2009-09-08 07:03:30 +00:00
Laurent Saboret f26a4c18f0 Fixed assertion failure "tester(d)" in Triangulation_3::find_conflicts() when running the Delaunay refinement:
* To reproduce the bug:
> poisson_reconstruction data/sphere926.pwn sphere926-poisson.off
(try several times)

* The fix is:
- implement Robust_circumcenter_filtered_traits_3::compute_squared_radius_3_object()
- compare denominator with 1E-13 (instead of 1E-14) to switch to exact arithmetic
2009-09-07 17:10:06 +00:00
Laurent Saboret 0a9f6181d5 Fixed infinite loop in Min_sphere_d:
* On Linux/g++, the bug could be reproduced by:
> poisson_reconstruction data/sphere926.pwn sphere926-poisson.off

* The fix was do use Min_sphere_of_spheres_d instead of Min_sphere_d
2009-09-07 14:06:13 +00:00
Andreas Fabri 5d0c59cbd9 VC++ doesn't know whether Tds is the template parameter or the inherited typedef ... Tds; which is defined in the scope of the base class Triangulation_3 2009-08-25 21:06:46 +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 15e3dd6fee Removed APSS from CGAL 3.5 2009-07-13 09:50:06 +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 1f05a2989a Moved output_surface_facets_to_polyhedron() from Surface_reconstruction_points_3 to Surface_mesher 2009-06-29 13:31:24 +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
Laurent Saboret 46bd1e2216 Removed obsolete header Iso_cuboid_oracle_3.h 2009-06-26 13:44:33 +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
Gaël Guennebaud a1c1269720 extend APSS user manual (including a full example) 2009-06-23 09:32:09 +00:00
Gaël Guennebaud 20c6046a43 add a marching cubes mesher in the demo (for comparison purpose) 2009-06-22 15:06:41 +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 94690fd34f Changes after Surface_reconstruction_points_3/Point_set_processing_3 submission review by AF (12):
Moved keep_largest_connected_components() to HalfedgeDS_decorator and Polyhedron_3 classes.
2009-06-15 13:09:47 +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
Pierre Alliez 001bb21b1a Surface reconstruction: added comments to reduce memory footprint 2009-05-30 12:49:36 +00:00
Laurent Saboret e53b592e19 TEMPORARY: a few concept names are hard-coded in copy_doxygen_latex_doc until I find a better implementation:
PolylineSimplificationCostFunction
PolylineSimplificationStopPredicate
PolylineSimplificationVertex
ImplicitFunction
InputIterator
OutputIterator
ForwardIterator
2009-05-25 12:52:45 +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
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