Commit Graph

1245 Commits

Author SHA1 Message Date
Andreas Fabri db02d60d6f make output_to_medit() faster 2016-04-15 20:52:13 +02:00
Laurent Rineau 9eefbf3e6e Fix the ambiguous matching 2016-04-14 20:00:33 +02:00
Laurent Rineau 6e874352a9 Improve Labeled_image_mesh_domain_3
- Allow to specify which `Subdomain_index` must be considered as outside
  the domain, for `Is_in_domain`.
2016-04-14 19:45:00 +02:00
Laurent Rineau 35cb7bd5b8 Improve CGAL::Image_3
- The type of `value_outside` is now directory `Return_type`: no need to
  apply the transformation.

- The indicator functions of the labelized trilinear interpolation can
  be changed.
2016-04-14 19:36:20 +02:00
Laurent Rineau 50a3e0b5cb Merge pull request #969 from afabri/Distance_3-Point_Triangle_3-GF
Moved squared_distance(Point_3,Triangle_3)
2016-04-13 10:21:21 +02:00
Laurent Rineau 80a597c7c4 Fix C3t3::rescan_after_load_of_triangulation 2016-04-07 17:38:19 +02:00
Laurent Rineau 3299b4b906 Do not dump after optimisers that are not used 2016-04-01 16:17:08 +02:00
Laurent Rineau 5a9d82ebc7 Improve c3t3 loading and display
Followup to PR #962:

 - the display of spheres was no longer correct,
 - allow loading of c3t3 without any facets and cells (only vertices
   with weights),
 - fix the display of spheres, with better shaders,
 - `Scene_c3t3_item`: do not draw edges, in FlatPlusEdges, during a
   `drawWithNames()`, to optimize speed,
 - `Viewer`: do not use anti-aliasing during `drawWithNames()`
2016-04-01 16:07:56 +02:00
Andreas Fabri 2443b7d1a6 Moved squared_distance(Point_3,Triangle_3 2016-03-30 16:58:22 +02:00
Laurent Rineau 216b298652 Fix issues in I/O of Mesh_complex_3_in_triangulation_3
And restore the possibility for the Polyhedron demo to load two types of
C3t3 (with `Patch_id` being `int` or `std::pair<int, int>`).
2016-03-25 15:45:28 +01:00
Andreas Fabri a2e6f59f7b Fix K -> K_ 2016-03-23 12:18:12 +01:00
Andreas Fabri 92ccbb7745 fix shadow bug (was not produced with VC++ 2016-03-23 05:45:19 +01:00
Clement Jamin 9a61b23b55 Use get_default_random() instead of default_random 2016-03-09 10:35:21 +01:00
Sebastien Loriot 204e86e3cc Merge pull request #863 from lrineau/Mesh_3-fix_IO-lrineau
Fix the I/O of C3t3 in <CGAL/Mesh_vertex_base_3.h>
2016-03-03 16:55:39 +01:00
Laurent Rineau 65feefa4b2 Fix the I/O of C3t3 in <CGAL/Mesh_vertex_base_3.h> 2016-03-02 11:24:17 +01:00
Laurent Rineau 99f004c15f Minor bug-fix in Mesh_3 2016-03-01 16:32:31 +01:00
Andreas Fabri 78f00eb2e6 Introduce CGAL::Default for the geometric traits 2016-02-25 17:11:20 +01:00
Andreas Fabri 7f3d561fee Add protection of border edges 2016-02-22 13:44:04 +01:00
Andreas Fabri a6ae6aecfc initialize to avoid a warning 2016-02-03 08:59:11 +01:00
Laurent Rineau 1179371045 Add the Create_bbox_mesh_plugin 2016-01-27 10:46:52 +01:00
Sebastien Loriot 277a91b4f0 Merge pull request #664 from janetournois/Mesh_3-replace_binder2nd-pmoeller
Mesh 3 - Improve Gray level images domain and fix warnings
2016-01-25 08:48:43 +01:00
Sebastien Loriot 2fad9efc1d Merge pull request #633 from bo0ts/Mesh_3-replace_binder2nd-pmoeller
Replace deprecated binder2nd
2016-01-23 09:12:42 +01:00
Jane Tournois 790c4d68aa change default template parameter
in 3D gray images, it's very likely that the area of interest is the area
where voxels have high values associated
2016-01-21 11:46:48 +01:00
Jane Tournois d396c8c869 std::unary_function is deprecated since cpp11
so let's add the missing typedef instead
2016-01-19 16:07:21 +01:00
Jane Tournois 67a52efc1f Less should derive from std::unary_function
otherwise the type name Less_than::argument_type is invalid
and causes compilation errors
2016-01-19 15:22:08 +01:00
Philipp Möller 659dbffa13 Replace deprecated binder2nd
We cannot just use boost::bind or similar, since we need to get the type
of the binder (which is not easily possible without decltype).
2016-01-15 15:35:14 +01:00
Sebastien Loriot 7659e881bd Merge pull request #625 from lrineau/Mesh_3-add_assertion-lrineau
Add an assertion in Image_to_labeled_function_wrapper
2016-01-14 14:09:06 +01:00
Sébastien Loriot 3bbe6e068b Merge pull request #607 from afabri/Mesh_3-avizo_output-GF
Add output to Avizo file format
2016-01-13 14:45:09 +01:00
Laurent Rineau abca7b5390 Add an assertion in Image_to_labeled_function_wrapper
That assertion verifies that the value `value_outside` is considered at
a value *outside* of the domain. Otherwise Mesh_3 will crash with an
assertion saying that "infinite cells should not be in the C3t3".
2016-01-13 11:00:25 +01:00
Andreas Fabri b02a7ed31a no need to funnel io routines through Mesh_complex_3_in_triangulation_3_base 2016-01-13 10:35:59 +01:00
Sebastien Loriot 2a4d8e5c9f Merge pull request #590 from lrineau/Mesh_3-manifold_criterion-lrineau
Mesh_3: add the manifold criterion
2016-01-12 16:02:00 +01:00
Sébastien Loriot aa36d50923 remove unused variable 2016-01-11 20:18:54 +01:00
Andreas Fabri 7cc1543c84 remove unused typedefs 2016-01-11 15:40:36 +01:00
Laurent Rineau f5cbf206b8 Merge branch 'Mesh_3-merge-manifold-meshing-thread' into Mesh_3-manifold_criterion-lrineau 2016-01-11 13:14:25 +01:00
Laurent Rineau f0ed1101c0 Use CGAL_assume instead of CGAL_assertion
That is an attempt to fix a warning:
```
../include/CGAL/utility.h:101:33: warning: 'index2' may be used uninitialized in this function [-Wmaybe-uninitialized]
   : first(a), second(b), third(c)
                                 ^
In file included from ../include/CGAL/Mesh_3/Mesher_3.h:35:0,
                 from ../include/CGAL/refine_mesh_3.h:32,
                 from ../include/CGAL/make_mesh_3.h:30,
                 from ../test/Mesh_3/test_c3t3_extract_subdomains_boundaries.cpp:9:
../include/CGAL/Mesh_3/Refine_facets_manifold_base.h:162:17: note: 'index2' was declared here
     int index1, index2;
                 ^
```
2016-01-11 13:10:04 +01:00
Laurent Rineau d5a5a56ac0 Remove debug ouput
A file `polylines.cgal.txt` was created during the computation.
2016-01-11 12:06:11 +01:00
Sebastien Loriot 8245efd76b Merge pull request #601 from lrineau/Polyhedron-Mesh_3_plugin__add_Meshing_thread-lrineau
Polyhedron, Mesh 3 plugin: add the meshing threads
2016-01-11 11:20:26 +01:00
Andreas Fabri 41a30023f9 std::ofstream is used without the header being included 2016-01-09 09:45:36 +01:00
Laurent Rineau 689fcea368 Fix a compilation: <iostream> not included
Anyway, we do not want that file to be created.
2016-01-08 19:01:40 +01:00
Laurent Rineau bd315dc0a5 Merge remote-tracking branch 'lrineau/Polyhedron-Mesh_3_plugin__add_Meshing_thread-lrineau' into Mesh_3-merge-manifold-meshing-thread
Conflicts:
	Polyhedron/demo/Polyhedron/Plugins/Mesh_3_plugin/Mesh_3_plugin.cpp
	Polyhedron/demo/Polyhedron/Plugins/Mesh_3_plugin/Mesh_3_plugin_cgal_code.cpp
2016-01-08 17:55:21 +01:00
Laurent Rineau 4638645a01 Merge PR #597 into Mesh_3-manifold_criterion-lrineau
Conflicts:
	Polyhedron/demo/Polyhedron/Plugins/Mesh_3_plugin/Mesh_3_plugin.cpp
	Polyhedron/demo/Polyhedron/Plugins/Mesh_3_plugin/Mesh_3_plugin_cgal_code.cpp
2016-01-08 17:41:02 +01:00
Laurent Rineau 006642e32a Fix the commit "Try to fix warnings from VC++"
"-1" is used as a sentinel value for `v->cached_number_of_components()`.
2016-01-08 16:58:11 +01:00
Andreas Fabri 7fa7db80d4 Add output to Avizo file format 2016-01-08 16:30:07 +01:00
Laurent Rineau ccb31e40ff Re-enable the meshing thread
The Mesh_3 plugin is also renamed to Mesh_3_plugin, like the same of its
file.
2016-01-08 15:10:09 +01:00
Laurent Rineau 9730e2bd8e fix a copy-paste error in a comment 2016-01-08 14:34:44 +01:00
Laurent Rineau 25b2330fb0 Try to fix warnings from VC++
> CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h(227): warning C4267: 'initializing': conversion from 'size_t' to 'const int', possible loss of data
> CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h(227): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
> CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h(503): warning C4267: 'initializing': conversion from 'size_t' to 'const int', possible loss of data
> CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h(503): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
> CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h(517): warning C4267: 'initializing': conversion from 'size_t' to 'const int', possible loss of data
> CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h(517): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
> CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h(518): warning C4267: 'return': conversion from 'size_t' to 'int', possible loss of data
> CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h(561): warning C4267: 'initializing': conversion from 'size_t' to 'const int', possible loss of data
> CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h(561): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
> CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h(814): warning C4267: 'initializing': conversion from 'size_t' to 'const int', possible loss of data
> CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h(814): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
> CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h(815): warning C4267: 'initializing': conversion from 'size_t' to 'const int', possible loss of data
> CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h(815): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
> CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h(855): warning C4267: 'initializing': conversion from 'size_t' to 'const int', possible loss of data
> CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h(855): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
> CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h(857): warning C4267: 'initializing': conversion from 'size_t' to 'const int', possible loss of data
> CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h(857): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
2016-01-07 16:38:11 +01:00
Sebastien Loriot f3bc10ef81 Merge pull request #549 from afabri/Polyhedron-clipping_in_shader-GF
Improve C3T3 item and meshing of a segmented image
2016-01-07 13:49:16 +01:00
Laurent Rineau b1a0f01027 Fix compilation error with clang, again 2016-01-06 17:35:25 +01:00
Laurent Rineau 8542eb2fe9 Fix compilation error (clang)
> /Mesh_3/include/CGAL/Mesh_3/Refine_facets_3.h:632:25: error: declaration of 'Tr' shadows template parameter
>         template<class Tr, class Cr, class MD, class C3T3_, class Ct, class C_>
2016-01-06 17:28:52 +01:00
Laurent Rineau 2a7fb19d3e Fix compilation error (missing header) 2016-01-06 16:50:08 +01:00
Laurent Rineau 772772d7b7 Fix the -Wsign-compare
There was a warning in a CGAL_assertion.
2016-01-06 15:50:27 +01:00
Andreas Fabri a776df173b fix license header 2016-01-06 15:25:01 +01:00
Sébastien Loriot dd8f33adc5 Merge pull request #559 from lrineau/Mesh_3-remove_estimated_bbox-lrineau
Add bbox() to MeshDomain_3
2016-01-06 14:35:01 +01:00
Andreas Fabri d3e610f188 harcode again that the image word type is unsigned char for a segmented image and perform static_cast 2016-01-06 13:06:51 +01:00
Laurent Rineau 6eacaa7868 cosmetic fix: display the iterations on 1 line only 2016-01-05 17:41:56 +01:00
Laurent Rineau 8324d8eceb bug-fix: invalidate the "manifold info" after refine().
The global optimizers destroy the manifold info. It must be invalidated.
2016-01-05 17:40:40 +01:00
Laurent Rineau 432b52636a Override the debuginfo too
That way, the manifold mesher level displays also the number of bad
edges/vertices.
2016-01-05 17:40:01 +01:00
Andreas Fabri 56bfaa2746 merge 2016-01-05 17:06:04 +01:00
Andreas Fabri b116b8ed5b move polylines_to_protect.h into CGAL/Mesh_3/ 2016-01-05 16:42:07 +01:00
Laurent Rineau 7b53a337af Merge pull-request #483 from 'janetournois/Mesh_3-gray_level_image_oracle-lrineau'
Conflicts:
	.gitignore
	Mesh_3/include/CGAL/IO/File_medit.h
2016-01-05 14:58:18 +01:00
Laurent Rineau d34b240e5e WIP: seems to work
I will test with the 3D gray level images...
2016-01-05 14:55:42 +01:00
Laurent Rineau 397ac28143 WIP, new milestone: compiles with Refine_facets_manifold_base 2016-01-05 12:45:22 +01:00
Laurent Rineau b754453b44 WIP: Refine_facets_3_base compiles 2016-01-04 17:08:27 +01:00
Sebastien Loriot 44a14a4289 Merge pull request #566 from lrineau/Mesh_3-remove_Boost.Parameters_warnings-lrineau
Remove Mesh_3 warnings in Boost.Parameters
2015-12-29 16:47:38 +01:00
Jane Tournois d212432a56 avoid hardcoding the Image_word_type 2015-12-22 16:53:26 +01:00
Sébastien Loriot dd955cef30 Merge pull-request #483 from 'janetournois/Mesh_3-gray_level_image_oracle-lrineau'
Mesh 3 : add gray level image oracle
2015-12-18 16:46:46 +01:00
Laurent Rineau 94b3204038 work in progress
one more step:
  - inverse the arguments,
  - specify the argument Base_.
2015-12-18 15:44:21 +01:00
Laurent Rineau c7f0d9cd9d Merge pull request #566 from lrineau/Mesh_3-remove_Boost.Parameters_warnings-lrineau
Remove Mesh_3 warnings in Boost.Parameters
2015-12-18 14:56:15 +01:00
Laurent Rineau e0f8f4f85f Refresh the branch Mesh_3-manifold_criterion-lrineau
For the moment, the manifold feature is no longer working.

Merge remote-tracking branch 'cgal-dev/Mesh_3-manifold_criterion-lrineau' into Mesh_3-manifold_criterion-lrineau

Conflicts:
	Mesh_3/include/CGAL/Mesh_3/Mesh_complex_3_in_triangulation_3_base.h
	Mesh_3/include/CGAL/Mesh_3/Mesher_3.h
	Mesh_3/include/CGAL/Mesh_3/Refine_facets_3.h
	Polyhedron/demo/Polyhedron/Polyhedron_3.cpp
	Polyhedron/demo/Polyhedron/Polyhedron_demo_mesh_3_plugin.cpp
	Polyhedron/demo/Polyhedron/Polyhedron_demo_mesh_3_plugin_cgal_code.cpp
2015-12-18 14:55:20 +01:00
Laurent Rineau d8c2f1a851 Remove Mesh_3 warnings in Boost.Parameters 2015-12-18 14:44:56 +01:00
Laurent Rineau 312962f429 Bug-fix: do not store a reference to a temp object 2015-12-17 12:20:16 +01:00
Laurent Rineau 2af8d42ed3 Add bbox() to MeshDomain_3 2015-12-16 11:52:52 +01:00
Maxime Gimeno d1b3937a88 Edges management
- The shader of the edges of the base item discards the edges when it should
- The facets of the cutplane have edges
- The grid is displayed in all the rendering modes
2015-12-14 10:47:34 +01:00
Andreas Fabri d4dd0c1b28 merged branch that deals with 1D features on the sides of a cube 2015-12-13 11:07:12 +01:00
Sebastien Loriot 60dbff189d Merge pull request #534 from afabri/Polyhedron_3-improve_mesh_3_plugin-GF
Polyhedron 3 improve mesh 3 plugin gf
2015-12-10 21:01:00 +01:00
Andreas Fabri b97ccb832b capitalize file name 2015-12-09 10:28:55 +01:00
Andreas Fabri 18bbaede12 Integrate code for respecting polylines on an Image_3 2015-12-09 06:30:15 +01:00
Andreas Fabri b623100175 split the dual() functions; make the power test check for the absence of weights 2015-12-08 11:27:14 +01:00
Andreas Fabri b3b21809c6 Avoid calling make_object as it is expensive: It calls new/delete 2015-12-07 15:42:02 +01:00
Andreas Fabri d26903170c Do not use std::endl in output_to_medit 2015-12-06 12:34:25 +01:00
Andreas Fabri 247ba0056c Include Mesh_3/global_parameters.h earlier 2015-12-02 10:59:26 +01:00
Andreas Fabri dd17f1ad5d Set BOOST_PARAMETER_MAX_ARITY to the needed value in the concerned packages 2015-12-01 17:05:53 +01:00
Jane Tournois f7efee8977 fix the use of the default number of initial points
it depends on the type of domain
2015-11-24 12:23:45 +01:00
Jane Tournois 44f940164a add to mesh_3_options the ability to set the number of initial points from make_mesh_3
this is an undocumented internal feature
mainly for testing purposes
2015-11-23 16:48:15 +01:00
Andreas Fabri 7a904dd370 fix VC++ max() error 2015-11-18 08:18:49 +01:00
Sebastien Loriot bb85ae0179 Merge pull request #474 from afabri/BGL-suppress_warning-GF
suppress warning in boost as this has to be solved upstream
2015-11-17 13:21:05 +01:00
Jane Tournois 3f308a48af Merge branch 'Mesh_3-gray_level_image_oracle-lrineau-old' into Mesh_3-gray_level_image_oracle-lrineau 2015-11-17 11:16:53 +01:00
Andreas Fabri 2ce8b07ec0 Define BOOST_PARAMETER_MAX_ARITY in <CGAL/config.h>
This macro has to be larger than the default value
and it must be set before including <boost/parameter.hpp>

Instead of setting it to 12 in the packages that
need it, we do this in <CGAL/config.h> and produce
an error if a user has set it to a value < 12
2015-11-16 11:21:31 +01:00
Sebastien Loriot ab704be3b5 Merge pull request #473 from janetournois/Mesh_3-fix_protection_bug-GF
Mesh 3 : fix limit case in polylines protection
2015-11-13 12:36:33 +01:00
Jane Tournois a5162d86e1 bugfix : deal with the limit case
where the point to be found is almost exactly the endpoint of the polyline,
just "behind" it in terms of geodesic_distance
2015-11-10 16:35:31 +01:00
Jane Tournois f9d16f6720 this code should not be called for a triangulation of dimension < 3 2015-11-10 16:33:58 +01:00
Jane Tournois 31ebc6c472 use complete API of boost::optional 2015-10-30 16:06:31 +01:00
Jane Tournois adf5c63fb2 add meshing of segmented images 2015-10-29 15:40:43 +01:00
Jane Tournois b8ffee0f3a add typedef to be used in polyhedron demo 2015-10-29 14:09:22 +01:00
Laurent Rineau cc84605c2b Merge pull request #421 from janetournois/Mesh_3-check_weights_before_optimization-jtournois
Mesh_3 - add a precondition to global optimizers
2015-10-16 11:45:56 +02:00
Jane Tournois 258efef761 fix the case where trilinear_interpolation is not used
here transform() returns true or false whether the voxel value (not interpolated)
is less (default functor) than the input isovalue

this error was shown by a conversion "float to int" warning
2015-10-15 17:29:18 +02:00
Jane Tournois 58dc3c0fbb fix a bug in C3T3_helpers for Mesh_3 global optimizers
handle the case, with global optimisers, in which
a point is moved to the same location as an existing vertex,
which is not old_vertex

it belongs to the case where there is a topological change
(because of the removal of old_vertex) but
find_conflicts(new_location) does not find any conflict
2015-10-15 17:13:47 +02:00
Jane Tournois 5b03df377f fix compilation 2015-10-15 15:47:52 +02:00
Jane Tournois 4b2e0301e0 fix compilation 2015-10-15 15:47:02 +02:00
Jane Tournois 3c0169c6e2 Merge branch 'Mesh_3-check_weights_before_optimization-jtournois' into Mesh_3-gray_level_image_oracle-lrineau 2015-10-15 13:19:32 +02:00
Jane Tournois a77b066f6b add a precondition to global optimizers
this precondition checks that global optimizers are not run on a
triangulation with weights.
Protecting balls are an exception and don't prevent global optimizers
from running
2015-10-15 13:11:48 +02:00
Jane Tournois e3c396d219 add random generator as parameter for determinism 2015-10-15 10:58:34 +02:00
Jane Tournois 70b9a83f60 fix conversion warning 2015-10-13 12:38:37 +02:00
Andreas Fabri 0e26773f5d insert \n in the stream instead of \endl 2015-10-13 09:15:21 +02:00
Jane Tournois 5a28ef7067 fix error due to deprecation
file has moved from include/CGAL/Mesh_3 to include/CGAL
2015-10-12 10:05:47 +02:00
Jane Tournois 039ddb0e4f Merge branch 'Mesh_3-gray_level_image_oracle-lrineau-old' into Mesh_3-gray_level_image_oracle-lrineau
Conflicts:
	.gitignore
2015-10-12 08:49:52 +01:00
Clement Jamin 77e6772aa7 Use Real_timer in Mesh_3 since the algorithms might be parallel
And update the doc accordingly
2015-10-08 15:26:50 +02:00
Mael Rouxel-Labbé 8a291245b7 Avoid some unnecessary set/map's find() calls in Mesh_3's medit output 2015-10-07 17:02:10 +02:00
Laurent Rineau 7ddefbdcc8 Merge pull request #297 from afabri/CGAL-assert-GF
assert() should not be used in CGAL headers!
2015-09-07 10:58:20 +02:00
Laurent Rineau 0bc029c5b8 Revert "suppress performance warning concerning an assertion"
This reverts commit 580b65d8a5.

The warning was already fixed by commit
63ae26eb0f.
2015-09-04 13:52:45 +02:00
Andreas Fabri 0d18ccf09d Merge branch 'CGAL-assert-GF' of github.com:CGAL/cgal-dev into CGAL-assert-GF 2015-09-04 12:30:26 +02:00
Andreas Fabri 580b65d8a5 suppress performance warning concerning an assertion 2015-09-04 12:30:07 +02:00
Laurent Rineau 63ae26eb0f Fix MSVC warning: conversion from size_t to bool
MSVC emits that warning:

    include\CGAL/Implicit_to_labeling_function_wrapper.h(205) : warning C4800: 'unsigned int' : forcing value to bool 'true' or 'false' (performance warning)

The fix is to explicit exactly what is tested. The following:

    CGAL_assertion(funcs.size());

is replaced by the explicit:

    CGAL_assertion(funcs.size() != 0);
2015-09-04 11:14:56 +02:00
Laurent Rineau 253e0dddcf Fix issue #300
Update_c3t3::operator() does not return bool!
2015-09-03 12:59:05 +02:00
Andreas Fabri 1e2ff1131e assert -> CGAL_assertion 2015-08-27 16:51:55 +02:00
Laurent Rineau 8035aa83ac Do not initialize estimated_bbox if not required
`estimated_bbox` is used only by the parallel version, or if
`CGAL_SEQUENTIAL_MESH_3_ADD_OUTSIDE_POINTS_ON_A_FAR_SPHERE` is defined.
2015-08-20 16:23:30 +02:00
Andreas Fabri 20c1b1a1f6 Merge branch 'Polygon_mesh_processing-GF-old' into Polygon_mesh_processing-GF
Conflicts:
	BGL/include/CGAL/boost/graph/Euler_operations.h
	BGL/include/CGAL/boost/graph/iterator.h
	Documentation/doc/Documentation/Doxyfile.in
	Documentation/doc/Documentation/dependencies
	Polyhedron/demo/Polyhedron/Polyhedron_demo_point_inside_polyhedron_plugin.cpp
	Polyhedron/demo/Polyhedron/Scene_polygon_soup_item.cpp
	Polyhedron/demo/Polyhedron/Selection_widget.ui
2015-07-01 13:52:44 +02:00
Jane Tournois 32f0c9b37b rename Point_inside_polygon_mesh to Side_of_triangle_mesh
and document it
2015-06-25 11:51:45 +02:00
Laurent Rineau 22242f69c7 Merge pull request #125 from lrineau/Mesh_3-fix_with_gcc44_cpp11-lrineau
Fix a compilation error with gcc44 -std=c++0x

Conflicts:
	Mesh_3/include/CGAL/Mesh_3/Refine_facets_3.h
2015-06-18 17:31:09 +02:00
Laurent Rineau b221fd0328 Fix an incoherent indentation 2015-06-17 12:24:01 +02:00
Laurent Rineau 21a699368d Fix a compilation error with gcc44 -std=c++0x
Should fix issue https://github.com/CGAL/cgal/issues/121

The error was that the "domain" class returns a `CGAL::Point_3<K>`, the
triangulation uses `CGAL::Weighted_point<CGAL::Point_3<K>, double>`, and
one piece of code from Mesh_3 in <CGAL/Mesh_3/Refine_facets_3.h> uses an
implicit conversion from

    tuple<something_A, something_B, CGAL::Point_3<K> >
to

    tuple<something_A, something_B, CGAL::Weighted_point<P, double> >

and plugs that into a `boost::optional`. For some reason, the g++-4.4
compiler does not like that, but recent g++ compilers accept the code.

The fix is to use an explicit conversion from `Point_3` to
`Weighted_point<Point_3, double>`.
2015-06-17 12:21:15 +02:00
Simon 7bb2046372 This should solve issue #41.
(cherry picked from commit bc125c525c)
2015-06-17 12:07:51 +02:00
Simon 195f11a98f Explicitely call the constructor of Surface_patch to prevent compilation failures with g++.
(cherry picked from commit f9e4a9faff)
2015-06-17 12:04:13 +02:00
Laurent Rineau 40c629a3b4 Merge pull request #90 from janetournois/Mesh_2-add_optimizers-GF
Add optimizer methods in Mesh_2

https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/lloyd_optimize_mesh_2
2015-06-10 11:57:53 +02:00
Sébastien Loriot ce8806b19b Merge remote-tracking branch 'cgal-dev/CGAL-Qt_no_keywords-GF' into Mesh_2-add_optimizers-GF
Conflicts:
	GraphicsView/demo/Triangulation_2/Constrained_Delaunay_triangulation_2.cpp
2015-05-19 09:07:08 +02:00
Sébastien Loriot 7cabb0c508 Merge branch 'rebase/Mesh_2-add_optimizers-GF-old' into rebase/Mesh_2-add_optimizers-GF
Conflicts:
	GraphicsView/demo/Triangulation_2/Constrained_Delaunay_triangulation_2.cpp
	GraphicsView/demo/Triangulation_2/Constrained_Delaunay_triangulation_2.ui
	Triangulation_2/include/CGAL/Constrained_Delaunay_triangulation_2.h
2015-05-19 09:01:20 +02:00
Jane Tournois 83c415bca9 move Mesh_optimization_return_code from Mesh_3 to Mesh_2
Mesh_3 already depends on Mesh_2,
but not the other way around
2015-05-19 08:54:36 +02:00
Laurent Rineau 617c8de2c6 Merge pull request #51 from SLopezBRGM/master
simple fixes to use generic indexes for subdomains and surfacepatches
2015-05-18 11:03:51 +02:00
Simon 067647eebf Replacing the use of operator!= by !( operator== ) when comparing domain or surface indexes.
This is link to issue #37.
2015-04-16 10:12:50 +02:00
Simon bc125c525c This should solve issue #41. 2015-04-14 21:31:18 +02:00
Philipp Möller 49a56c5a79 Fine grained range includes 2015-04-13 17:26:36 +02:00
Philipp Möller 74e71f41e2 Remove uses of Boost.Lambda
Replace Boost.Lambda with simple loops. The library is not maintained
and no one is going to ever invest in it again. It adds to compile and
preprocessing times without providing safer or shorter code and we can
sacrifice a little bit of readability.
2015-04-13 17:24:08 +02:00
Philipp Möller 4f8e76b074 Boost.Lambda is not used here anymore 2015-04-13 16:47:00 +02:00
Simon f9e4a9faff Explicitely call the constructor of Surface_patch to prevent compilation failures with g++. 2015-04-12 22:27:44 +02:00
Jane Tournois 6de112e4a3 move internal folder to subfolder of Polygon_mesh_processing 2015-03-16 10:04:56 +01:00
Sébastien Loriot 13296e6887 Merge branch 'old/Polygon_mesh_processing-GF' into Polygon_mesh_processing-GF 2015-02-16 11:48:29 +01:00
Sébastien Loriot 607929b069 Merge remote-tracking branch 'origin/releases/CGAL-4.5-branch'
Conflicts:
	Installation/changes.html
	Maintenance/release_building/public_release_name
	Mesh_3/include/CGAL/Mesh_3/C3T3_helpers.h
2015-02-16 11:45:08 +01:00
Jane Tournois 0d1087857a int -> size_t + cherrypick 2015-02-12 17:17:28 +01:00
Jane Tournois f4af27a3da reorder variables for initialization 2015-02-06 10:01:41 +01:00
Sébastien Loriot 39f9813070 add discover_connected_component 2015-02-05 14:04:43 +01:00
Jane Tournois abfc6d92c8 fix a warning caused by boost::dynamic_bitset<> 2015-02-03 11:20:01 +01:00
Jane Tournois 21082320e3 minimize changes to get warnings, but dynamic_bitset triggers a warning 2015-02-03 11:05:29 +01:00
Jane Tournois a923ae477d fix conversion warnings. meshing_info() is an int here 2015-02-03 10:25:43 +01:00
Jane Tournois b03a656246 this becomes useless because we now backup infinite cells 2015-02-02 15:55:28 +01:00
Jane Tournois c57b9b8840 backup infinite cells for revert_move of perturber
this is necessary because there can be an infinite cells
among the outdated_cells (with a finite facet f)
that does not share any finite facet with the other cells of
the conflict zone/set of outdated cells.

Therefore the surface info of f cannot be

Conflicts:
	Mesh_3/include/CGAL/Mesh_3/C3T3_helpers.h
2015-02-02 15:54:34 +01:00
Laurent Rineau 434766c22b Merge branch 'releases/CGAL-4.5-branch'
Approved by the Release Manager.
2015-01-30 11:30:49 +01:00
Laurent Rineau 72e0a3e677 Fix warnings about signed/unsigned
The code involved is about TBB.
2015-01-21 12:59:07 +01:00
Laurent Rineau 602383e15b Merge branch 'Mesh_3-fix_Implicit_mesh_domain_3_default_bound-lrineau'
Bug fix in Mesh_3

Approved by the Release Manager. Tested in CGAL-4.6-Ic-79.
2014-12-17 17:09:20 +01:00
Laurent Rineau 057924e1d4 Merge remote-tracking branch 'origin/releases/CGAL-4.5-branch'
That merges the following:
  | commit 5dbfeec3ae
  | Merge: fc407cf 5b9be0f
  | Author: Sébastien Loriot <sebastien.loriot@cgal.org>
  | Date:   Fri Dec 12 15:29:51 2014 +0100
  |
  |     Merge branch 'BSO_2-fix_kernel_conflict-local' into releases/CGAL-4.5-branch
  |
  |     Tested in CGAL-4.5.1-Ic-171
  |
  | commit fc407cfebf
  | Merge: bd2c6f8 0c6153c
  | Author: Laurent Rineau <laurent.rineau@cgal.org>
  | Date:   Mon Dec 1 17:38:48 2014 +0100
  |
  |     Merge branch 'Mesh_3-fix_with_time_stamps-GF' into releases/CGAL-4.5-branch
  |
  |     Bug-fix in Mesh_3 with time stamps.
  |
  |     Tested in CGAL-4.5.1-Ic-168.
  |     Approved by the Release Manager.
  |
  | commit bd2c6f890f
  | Merge: ad53e42 c904f77
  | Author: Laurent Rineau <laurent.rineau@cgal.org>
  | Date:   Fri Nov 28 12:04:55 2014 +0100
  |
  |     Merge branch BGL-make_property_map_lightweight-For_4.5_bugfix-GF' into releases/CGAL-4.5-branch
  |
  |     Bug fix: a property map was not lightweight.
  |
  |     Tested in CGAL-4.5.1-Ic-167.
  |     Approved by the Release Manager.
  |
  | commit ad53e42fb3
  | Merge: 044660e b281d86
  | Author: Laurent Rineau <laurent.rineau@cgal.org>
  | Date:   Fri Nov 28 12:03:30 2014 +0100
  |
  |     Merge remote-tracking branch 'remotes/origin/BGL-fix_example-GF' into releases/CGAL-4.5-branch
  |
  |     Fix the example examples/BGL_triangulation_2/emst.cpp:
  |     the filtered (finite) triangulation was not used.
  |
  |     Tested in CGAL-4.5.1-Ic-167.
  |     Approved by the Release Manager.
  |
  | commit 044660eb48
  | Merge: a096cdf 4464116
  | Author: Laurent Rineau <laurent.rineau@cgal.org>
  | Date:   Fri Nov 28 12:01:50 2014 +0100
  |
  |     Merge branch 'CGAL-fix_sse2_mingw-lrineau' into releases/CGAL-4.5-branch
  |
  |     Fix the SSE macros when MinGW is used.
  |
  |     Tested in CGAL-4.5.1-Ic-167.
  |     Approved by the Release Manager.

Tested in CGAL-4.6-Ic-79.
2014-12-17 17:05:01 +01:00
Laurent Rineau 21161cc432 The default error_bound for Implicit_mesh_domain_3 was too small 2014-11-28 12:16:14 +01:00
Jane Tournois 78ccd1440f Merge branch 'Mesh_3-fix_integer_overflow-jtournoi'
this branch fixes Image_IO for large images, when the
dimensions do not fit in 'unsigned int'
'size_t' is now used everywhere that deals with image sizes
and pixel/voxel coordinates

fix suggested by a CGAL user
2014-11-27 12:15:40 +01:00
Laurent Rineau 0c6153ce8c cleanup
I forgot to remove extra expensive assertions that I have used using the
debugging!

I clean up also a few spaces at end of lines.
2014-11-27 11:29:52 +01:00
Laurent Rineau 4bdafe6908 Bug-fix in Mesh_3 with time stamps
That is a follow-up to that commit:
  | commit eefe2012c0
  | Author: Laurent Rineau <laurent.rineau@cgal.org>
  | Date:   Thu Oct 2 16:59:19 2014 +0200
  |
  |     Bug-fix in Mesh_3 with time stamps
  |
  |     The implementation of the class template Protect_edges_sizing_field was
  |     not correct when time stamps are used for Vertex_handle. The issue is
  |     that the time stamp of a vertex change when one do:
  |       tr.remove(v);
  |       v = tr.insert(point);
  |     The vertex pointed by 'v' is re-used by the TDS, but the time stamp of
  |     the vertex does change.
  |
The fix was not complete.
2014-11-26 15:56:37 +01:00
Jane Tournois f59acabc9b avoid using info when casting 2014-11-07 11:19:20 +01:00
Laurent Rineau 2d72cd7f7e Merge branch 'Mesh_3-fix_includes-lrineau'
Fix missing/surperflous #include

Tested in CGAL-4.6-Ic-50.
Approved by the Release Manager.
2014-11-06 11:59:26 +01:00
Laurent Rineau 768ec1d687 Merge branch 'Polyhedron_demo-fix_warning-lrineau'
Fix warnings in the Polyhedron demo. The fixes are in Mesh_3,
Min_sphere_or_spheres_d, and in the Polyhedron demo itself.

Tested in CGAL-4.6-Ic-50.
Approved by the Release Manager.
2014-11-06 11:58:09 +01:00
Laurent Rineau 7d63f9d072 Merge branch 'releases/CGAL-4.5-branch'
Conflicts:
	Installation/changes.html
	Maintenance/release_building/public_release_name
2014-11-06 10:47:45 +01:00
Laurent Rineau e50820d3fd Fix #include in Mesh_3
There was missing #include, and surperfuous #include (hard to detect).
2014-11-05 17:01:28 +01:00
Laurent Rineau 4a8d9077c0 Fix a warning
Warning from clang:

Mesh_3/include/CGAL/Mesh_3/C3T3_helpers.h:1358:25: warning: comparison of unsigned expression >= 0 is always true [-Wtautological-compare]
2014-11-03 16:52:51 +01:00
Jane Tournois 42abb4db5a fix a warning 2014-10-24 14:24:29 +02:00
Laurent Rineau 908d608072 Merge branch 'releases/CGAL-4.5-branch'
Conflicts:
	Installation/changes.html
2014-10-20 14:46:36 +02:00
Jane Tournois 06eb921215 fix the use of integers
patch suggested by Bryn Lloyd on cgal-discuss to avoid an integer overflow
problem that occurs when generating a 3D mesh from very large images
2014-10-20 12:39:03 +02:00
Laurent Rineau 47708fd7e5 Fix a warning 2014-10-17 16:34:08 +02:00
Jane Tournois 2ff8f82bf2 improve the sorting function 2014-10-17 16:34:08 +02:00
Jane Tournois d9cb114484 get_umbrella fixed. It was responsible for holes on the output mesh surface
it collects edges incident to the internal facets of the conflict zone,
that are restricted to the surface.
For each such edge :
- if it appears once, we keep it
- if it appears twice, we don't consider it
- if it appears more than twice, we are in a non-manifold configuration,
and the move (pump) is canceled
2014-10-17 16:34:08 +02:00
Laurent Rineau 86ae58ef9f Merge branch 'Mesh_3-fix_surface_holes_4.5-jtournoi' into releases/CGAL-4.5-branch 2014-10-09 16:33:34 +02:00
Clement Jamin 201ab5f9be We need to copy facet's surface center too
(cherry picked from commit 32f7f5fd610481512ee626df4fd08249a31a8938)
2014-10-08 10:51:55 +02:00
Laurent Rineau 90f02e7c73 Merge branch 'Mesh_3-fix_with_time_stamps-GF' into releases/CGAL-4.5-branch
Fix a bug in Mesh_3, when timestamps are used to compare Vertex_handle
and Cell_handle. The bug was in the class
Protect_edges_sizing_field. Once a vertex is removed from a
triangulation, the timestamp of the Vertex can change. That means that
it invalidates any future use of the original Vertex_handle.

Bug-fix for CGAL-4.5, approved by the Release Manager.
2014-10-06 12:41:31 +02:00
Laurent Rineau 9e586da1e6 Revert two commits.
Revert "Add longer tests, with other data"
Revert "Verbose testsuite. Should be reverted later."

This reverts commit 0f592d8e0a.
This reverts commit a8e6764c97.
2014-10-03 17:13:49 +02:00
Laurent Rineau a8e6764c97 Add longer tests, with other data
So far, that shows bugs.
2014-10-03 16:39:04 +02:00
Laurent Rineau 798db08a11 Make sure the functor is Assignable
A boost::function_output_iterator requires that its template argument is
Assignable. See:
http://www.boost.org/doc/libs/1_56_0/libs/iterator/doc/function_output_iterator.html#function-output-iterator-requirements
If one stores a non-const reference, then the class is not
Assignable. Store a pointer instead.
2014-10-03 16:26:43 +02:00
Laurent Rineau 99462e7faa Fix missing header 2014-10-03 16:26:33 +02:00
Laurent Rineau eefe2012c0 Bug-fix in Mesh_3 with time stamps
The implementation of the class template Protect_edges_sizing_field was
not correct when time stamps are used for Vertex_handle. The issue is
that the time stamp of a vertex change when one do:
  tr.remove(v);
  v = tr.insert(point);
The vertex pointed by 'v' is re-used by the TDS, but the time stamp of
the vertex does change.
2014-10-02 17:04:51 +02:00
Jane Tournois 354959972c bug fix in restoration of Cell data after revert_move
we still don't backup infinite cells because the infinite vertex does not have
a proper vertex ID (i.e. meshing_info())
However the facet data should be restored in Delaunay-restricted facets that
belong to an infinite cell (i.e. mirror facets of restricted facets that
belong to the convex hull)
2014-09-30 16:51:34 +02:00
Sébastien Loriot 3616d28c86 typedef instead of using 2014-09-25 14:10:38 +02:00
Sébastien Loriot 024bd2724f add output_facets_in_complex_to_off and update test and demo 2014-09-24 12:05:02 +02:00
Sébastien Loriot 684104c032 add 2 overloads of output_boundary_of_c3t3_to_off in the C3T3 class
also update the demo plugin to use one of them
2014-09-24 08:26:18 +02:00
Sébastien Loriot e4e65dceda import file to write the surface of a subdomain into a file
use it in the demo, with writting in a .off for now
2014-09-24 08:26:18 +02:00
Laurent Rineau 36d8b5bd18 Convert source files encoding to utf-8
All non-ASCII files should be encoded in UTF-8. So far, the ZSH script
`Scripts/developer_scripts/detect_wrong_encoding` detects wrong encoding
in source/header files of include/, src/, and doc/.
2014-08-01 11:20:13 +02:00
Clement Jamin e4a1efc3e8 Fix "unused variable" warnings 2014-07-24 11:46:08 +02:00
Laurent Rineau 7c29e97263 Fix a segfault
There was a bug when a Polyhedral_mesh_domain_with_features_3 was
constructed with the default `Random* = 0`.
2014-07-18 16:35:43 +02:00
Laurent Rineau 3deb8e7910 Merge branch 'Mesh_3-compare_index-GF-old' into Mesh_3-compare_index-GF
Create an integration branch for 'Mesh_3-compare_index-GF': a new branch
created from 'master', where I merged the previous version of
'Mesh_3-compare_index-GF'.

There was a conflict with two features recently merged into 'master' for
CGAL-4.5:

- the move of two files from include/CGAL/Mesh_3/ to include/CGAL/. See
  the small feature:
    http://cgal.org/wiki/Features/Small_Features/New_constructor_in_Label_mesh_domain_3_and_new_function_wrapper

- parallelism for Triangulation_3 and Mesh_3:
    http://cgal.org/wiki/Features/Parallel_Mesh_3

Conflicts:
	Combinatorial_map/include/CGAL/Cell_attribute.h
	Mesh_3/include/CGAL/Implicit_mesh_domain_3.h
	Mesh_3/include/CGAL/Labeled_image_mesh_domain_3.h
	Mesh_3/include/CGAL/Mesh_3/Sliver_perturber.h
	Mesh_3/include/CGAL/Polyhedral_mesh_domain_3.h
	Mesh_3/test/Mesh_3/test_meshing_3D_image.cpp
	Mesh_3/test/Mesh_3/test_meshing_polyhedron.cpp
	Mesh_3/test/Mesh_3/test_meshing_polyhedron_with_features.cpp
	Polyhedron/demo/Polyhedron/Polyhedron_type.h
	STL_Extension/include/CGAL/Compact_container.h
	STL_Extension/test/STL_Extension/test_Compact_container.cpp

I also modified the following files during the conflict resolution:

	Linear_cell_complex/include/CGAL/Cell_attribute_with_point.h
	Mesh_3/include/CGAL/Labeled_mesh_domain_3.h
	Mesh_3/include/CGAL/Polyhedral_mesh_domain_with_features_3.h
2014-07-18 15:47:14 +02:00
Laurent Rineau d0570871e7 Fix a warning 2014-07-16 17:06:11 +02:00
Clement Jamin deb6edcb1f Wrong variable name. 2014-07-16 17:05:22 +02:00
Clement Jamin dad9162352 Missing "using" 2014-07-16 17:04:47 +02:00
Clement Jamin 2dd27c4d13 Fix a (minor) data race on the circumcenter cache 2014-07-16 16:35:31 +02:00
Clement Jamin 6f7587c6dd Fix small differences between master and Mesh_3-parallel 2014-07-16 14:13:40 +02:00
Clement Jamin aa1aa597bb Restore commit a09ed468 with a bug fix
"Thread-safe version of incident_cells and incident_facets"
2014-07-15 20:13:30 +02:00
Clement Jamin db6db80096 Fix identation 2014-07-15 18:11:31 +02:00
Laurent Rineau 64fe2b3f8e Remove warnings 2014-07-10 14:46:12 +02:00
Laurent Rineau 19158bac27 Remove warnings about unused parameters 2014-07-10 14:41:42 +02:00
Andreas Fabri b63488b0e9 remove unused parameters 2014-07-09 16:15:54 +02:00
Andreas Fabri 3aefde776a Move a function body in the class definition to avoid an ICE with VC12 2014-07-09 15:30:16 +02:00
Clement Jamin 39b2b6379b Forgot an #ifdef 2014-07-08 20:47:37 +02:00
Clement Jamin 93fc2bfdfc Bug fix (ref to a temporary object) 2014-07-08 20:19:51 +02:00
Clement Jamin 1946b4fecd Atomics can't be initialized in initializer list 2014-07-08 17:55:55 +02:00
Clement Jamin e5c89d7139 Use atomics for the perturbation timers
To fix later: the timer are wrong on the parallel version because each threads
counts and adds the CPU time to the total time
2014-07-08 16:27:25 +02:00
Clement Jamin 01b81c5bcb Fix GCC compilation 2014-07-08 16:17:51 +02:00
Clement Jamin bebed84a3b Forgot to commit the main file 2014-07-08 15:49:48 +02:00
Clement Jamin 078e89f55f Add the possibility to remove the far points
The far points are added by the parallel version to reduce the contention
on the infinite vertex
2014-07-08 15:37:59 +02:00