Commit Graph

156 Commits

Author SHA1 Message Date
Laurent Saboret 771bfb8f2e Fixed bug on Windows: PROCESS_MEMORY_COUNTERS.PeakPagefileUsage seems unreliable, thus we use an approximation. 2008-10-02 13:35:22 +00:00
Laurent Saboret 9df852f99b Added path to Profiling_tools\include 2008-10-02 13:34:02 +00:00
Laurent Saboret 8226605030 Save memory: keep only 1 copy of the point cloud 2008-10-02 13:13:30 +00:00
Laurent Saboret 7cba4b3f28 Fixed declaration of templated methods 2008-09-30 14:32:45 +00:00
Laurent Saboret a3b10f1ec3 User Manual automatic update 2008-09-30 12:20:22 +00:00
Laurent Saboret f98b56c594 APSS_implicit_function uses now Point_with_normal_3<Gt, Vector_3> to save memory space (4 bytes per point). 2008-09-30 11:15:13 +00:00
Laurent Saboret 4abcbea669 - For clarity: renamed OrientedNormal_3/Oriented_normal_3 as OrientableNormal_3/Orientable_normal_3 = a normal vector oriented or not.
Note that Vector_3 is the concept of a normal vector (always) oriented.

- Point_with_normal_3 is now templated by the normal type. 
Types currently available are:
  -> Vector_3 (the default)
  -> Orientable_normal_3 (used by Point_set_3 for point cloud processing)
  -> Lightweight_vector_3 = a normal whose vector is allocated only if not zero (used by Poisson 3D triangulation).
We have now 2 corresponding concepts: 
  -> PointWithNormal_3 = a point + a normal (always) oriented.
  -> PointWithOrientableNormal_3 = a point + a normal oriented or not.
The purpose is to save memory space and to better document the requirements of algorithms processing normals.
2008-09-30 09:57:24 +00:00
Laurent Saboret 59906eeb79 - Fixed bug in in-place version of remove_outliers_wrt_camera_cone_angle_3() related to Gyroviz_point_3 copy constructor.
- Added warnings about remove_outliers_wrt_avg_knn_sq_distance_3(), remove_outliers_wrt_camera_cone_angle_3(), merge_epsilon_nearest_points_3(), random_simplification_points_3() and smooth_jet_fitting_3() which are not compatible with containers sorted wrt points position.
2008-09-29 14:13:21 +00:00
Laurent Saboret 21badcfe18 Removed boost properties (unused). 2008-09-29 14:08:19 +00:00
Laurent Saboret a41552b1d2 Fixed bug in mutable version of smooth_jet_fitting_3(): attributes other than position were reset. 2008-09-26 16:44:31 +00:00
Laurent Saboret 674e9a2447 Fixed bug in mutable version of smooth_jet_fitting_3(): attributes other than position were reset. 2008-09-26 13:13:13 +00:00
Laurent Saboret 369001b96c Print TAUCS traces if DEBUG_TRACE >= 2.
Better check of TAUCS ordering call's return.
2008-09-25 14:46:12 +00:00
Laurent Saboret f8a5856858 New function RedirectIOToFile() to redirect stdout/stderr to a log file 2008-09-25 11:52:45 +00:00
Nader Salman 5e6e3d51cc Opengl draw parameters modified 2008-09-24 15:10:26 +00:00
Laurent Saboret a10411701a Fixed bug in Point_set_3::delete_selection(): update the bounding box, sphere,... 2008-09-18 15:44:44 +00:00
Laurent Saboret 42658202bf Added assertion 2008-09-16 14:32:56 +00:00
Laurent Saboret bfb6766d4e Port to g++ 4.1.2 2008-09-10 08:42:30 +00:00
Laurent Saboret ccf81d34ec Delaunay refinement for Poisson is moved from Poisson_implicit_function class to new poisson_refinement_3() function.
poisson_refinement_3() is implemented with mesher levels. See Mesh_3 package.
2008-09-09 12:50:17 +00:00
Laurent Saboret eae2511f34 Changed comments 2008-09-09 12:36:32 +00:00
Laurent Saboret d7ae08ca93 Mesh_criteria_3.h and Refine_tets.h are duplicated in Surface_reconstruction_3 until Mesh_3 is moved to svn trunk. 2008-09-09 12:32:55 +00:00
Laurent Saboret f58978bfbe Updated the reference manual 2008-09-05 11:12:02 +00:00
Laurent Saboret 5de6d12b43 Fixed g++ warnings 2008-08-28 14:14:49 +00:00
Laurent Saboret 8f1e17abcf Added CGAL_TRACE_STREAM object (== cerr if DEBUG_TRACE is defined, else nothing) 2008-08-28 13:48:50 +00:00
Laurent Saboret a43c578eeb Fixed memory leaks 2008-08-28 13:10:31 +00:00
Laurent Saboret 159964b8fc Added traces 2008-08-28 13:09:53 +00:00
Laurent Saboret 76f008d27b Enforced CGAL_NDEBUG rule:
- code under include/CGAL/ and src/ must not use NDEBUG and assert(), but CGAL_NDEBUG and CGAL assertion macros.
- code under demo/, examples/ and test/ must use NDEBUG and assert().
2008-08-28 13:06:14 +00:00
Laurent Saboret e6316826b3 Removed unnecessary includes of CGAL/basic.h.
Enforced CGAL_NDEBUG rule:
- code under include/CGAL/ and src/ must not use NDEBUG and assert(), but CGAL_NDEBUG and CGAL assertion macros.
- code under demo/, examples/ and test/ must use NDEBUG and assert().

Added _HAS_ITERATOR_DEBUGGING=0 to .vcproj makefiles to speed up VC++ 2005 debugger.

Removed CGAL_SURFACE_RECONSTRUCTION_CHECK_EXPENSIVE from .vcproj makefiles (unused).
2008-08-21 12:21:20 +00:00
Laurent Saboret f02e73df8d Added back trace as orient_normals_minimum_spanning_tree_3() uses a lot of memory. I was not able to optimize more the memory footprint but at least the trace will show the reason of an out-of-memory crash. 2008-08-21 12:11:58 +00:00
Laurent Saboret b643e74b70 test_all.sh outputs results to log file 2008-08-21 12:08:18 +00:00
Laurent Saboret 2e7eae508d Fixed g++ warnings 2008-08-12 08:38:36 +00:00
Laurent Saboret 54c707b1b0 Added traces of the memory currently allocated (using CGAL::Memory_sizer) 2008-08-11 15:42:07 +00:00
Laurent Saboret 31d5835495 Fixed memory leak in orient_normals_minimum_spanning_tree_3() 2008-08-11 15:37:33 +00:00
Laurent Saboret 5d5430ae86 First correct version 2008-08-11 15:34:52 +00:00
Laurent Saboret 8c17f215b3 First correct version 2008-08-11 15:31:12 +00:00
Laurent Saboret 17b5a1f42a OnAlgorithmsOrientNormalsWithMST() selects non-oriented (instead of flipped) normals 2008-07-31 14:06:44 +00:00
Laurent Saboret bc655999bd Check that input files have normals 2008-07-31 14:02:59 +00:00
Laurent Saboret 9de6787aba Added APSS_reconstruction and poisson_reconstruction examples (also useful as benchmarks) 2008-07-31 14:00:37 +00:00
Sylvain Pion dc3bf72707 Remove changes.txt files. 2008-07-24 17:47:16 +00:00
Sylvain Pion 79864c0c8e Remove Arity_tag. 2008-07-22 12:29:01 +00:00
Sylvain Pion 2eb0d8f9e9 certainly() -> possibly(). 2008-07-14 11:16:41 +00:00
Sylvain Pion 9d7a609ff2 Make assertions trigger an error only for *certain* conditions (using CGAL::certainly()).
This is useful for interval arithmetic code.
(replay of r44002 with the header order hopefully fixed)
2008-07-10 21:49:17 +00:00
Laurent Saboret 6c99061fa7 Fixed bug introduced in previous revision 2008-07-09 15:40:58 +00:00
Laurent Saboret 382f4df403 Package:
Integrated point set simplification by clustering.
Implemented random point set simplification.
Implemented variant mutating the point set for point set simplification and outliers removal algorithms.

MFC demo:
Point set simplification and outliers removal algorithms select now the points to delete, instead of deleting them directly. This gives a chance to adjust the parameters before deletion.
2 new menu items related: "Delete selection" and "Reset selection".
Normals orientation algorithms select now flipped normals.
Fixed bug in merge_epsilon_nearest_points_3().
2008-07-08 15:01:10 +00:00
Sylvain Pion 2b4ebf01f7 Undo r44002 as it's buggy 2008-07-06 20:47:29 +00:00
Sylvain Pion 514a17ad4f Improve the interaction of assertions and interval computations.
Things like "CGAL_assertion(denominator != 0)" produced assertion failures for no gain.
So now, the assertion is triggered only if the condition is certain, using CGAL::certainly().
That is, change the following in all assertion files :
  ((EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__))
to :
  (CGAL::certainly(EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__))
2008-07-06 17:05:47 +00:00
Laurent Saboret f944600045 Huge APSS optimization (times are divided by 3 for the command line test and by 7 for the MFC demo) after profiling with AQtime:
- The Surface_mesher distance parameter is set to 0.005 for APSS (0.002 for Poisson). Both values are editable in the Options dialog.
- Removed the "APPS projection error" field in the Options dialog (unused).
- APSS kd-tree contains Point_with_normal_3 points instead of Gyroviz_point_3 objects (faster copy constructor).
- The number of neighbors is 7 by default (was 10).
- APSS caches the previous nearest neighbor to speed up the isValid() method (test if close to surface).
- If point is far from surface, APSS computes only the nearest neighbor (used to compute twice K nearest neighbors).
2008-07-04 14:56:20 +00:00
Laurent Saboret 0e00923b78 Port to g++ 2008-07-01 16:48:23 +00:00
Amit Gupta bc0ff05088 Added data-fitting term and normalization of divergence in the poisson surface reconstruction. 2008-07-01 13:09:35 +00:00
Laurent Saboret a6ae5efe8b To be compatible with MatchMover, 3D points have now a unique label in .g23 format.
I updated surface_reconstruction_read_g23() accordingly.
2008-06-30 16:35:40 +00:00
Laurent Saboret 5897f3e0de Added support of a INRIA/Gyroviz format .g23.
Former format .pwc is now deprecated.
2008-06-26 13:36:30 +00:00