Laurent Rineau
b5bad15aa7
Fix an old nasty bug: the clipping for segment with a sphere was incorrect!
2008-06-09 14:20:14 +00:00
Laurent Rineau
6990082221
- New macro CGAL_SURFACE_MESHER_DEBUG_IMPLICIT_ORACLE
...
- More debug instructions in <CGAL/Surface_mesher/Implicit_surface_oracle_3.h>
2008-06-09 13:33:37 +00:00
Laurent Rineau
e6b1bb3ae2
Put some debugging code between #ifdef/#endif CGAL_SURFACE_MESHER_DEBUG_CRITERIA
2008-06-06 12:28:14 +00:00
Laurent Rineau
ddfc10e8e0
Minor changes:
...
- Add two const&
- Let before_insertion_impl in Surface_mesher_manifold and
Surface_mesher_regular_edges pass its argument of type Facet to the same
function in the base class.
2008-06-06 12:22:22 +00:00
Laurent Rineau
3702d39202
New parameters, that show the superiority of Surface_mesher over
...
VTK's marching cube.
2008-05-29 13:45:47 +00:00
Laurent Rineau
271df19d73
- First version of a VTK vtkImageData to vtkPolyData filter: mesh an
...
iso-value in a 3D image.
2008-05-21 22:16:03 +00:00
Laurent Rineau
4ed2298896
Allow to construct a Gray_level_image_3 from an Image_3.
2008-05-21 22:11:03 +00:00
Laurent Rineau
c79aacdc8c
Fix the error "error: 'number_of_facets_on_surface' was not declared in
...
this scope" in <CGAL/IO/Complex_2_in_triangulation_3_file_writer.h>.
2008-05-21 16:08:27 +00:00
Laurent Rineau
abf246366d
- add constness to facets_begin()/facets_end() in c2t3,
...
- add more VTK support: output a c2t3 to a vtkPolyData
- add a demo that shows the ability to display a c2t3 in a VTK viewer.
2008-05-20 11:51:10 +00:00
Laurent Rineau
7002346ca2
Minor change: add a missing const&.
2008-05-12 20:45:09 +00:00
Laurent Rineau
63b39ef1be
Quick fix for Mesh_3. is_in_volumes() only affects Mesh_3
2008-05-12 20:43:54 +00:00
Laurent Rineau
cab2554766
Minor commit: add a few "const" or "const&".
2008-04-29 13:51:29 +00:00
Laurent Rineau
f677dd435d
- Commit 43053 was not really a fix for the "set_on_surface" problem.
...
- Some piece of meta-programming was needed, actually.
p.set_on_surface(...) is now called only if the type Point has a
Set_on_surface nested type.
2008-04-29 13:50:11 +00:00
Laurent Rineau
4e4f937188
- Tags in cells now use std::bitset instead of the home-made bitset.
...
- New tag: is_bad (to reduce the number of calls to Double_map::erase)
2008-04-29 08:57:30 +00:00
Laurent Rineau
38ebdc41f2
Fix the set_on_surface problem: the present of a tag is tested.
2008-04-29 08:53:50 +00:00
Laurent Rineau
1a55b0a8e3
- Add calls to CGAL::Profiler
...
- No longer test the Gabriel criteria for facets.
2008-04-28 13:02:10 +00:00
Laurent Rineau
6e2224ccf3
Moved to Mesh_2/include/CGAL/Meshes/.
2008-04-25 12:14:32 +00:00
Laurent Rineau
22629c62b3
New directory Mesh_2/include/CGAL/Meshes/ that aggregates several
...
non documented files that are common to Mesh_2, Mesh_3 and Surface_mesher.
2008-04-21 16:07:38 +00:00
Laurent Rineau
9fa4761d86
CGAL::Image_3 is no longer a class template.
...
New parameter value_outside, with default = 0.f
That class should be removed in CGAL-3.4, as soon as a better oracle exists
for 3D images.
2008-04-16 12:36:02 +00:00
Sylvain Pion
1b79e6c94d
Use CGAL::midpoint() instead of redoing the computation.
2008-04-11 16:11:47 +00:00
Laurent Rineau
09a919365f
Move most of Gray_level_image_3 to a new class <CGAL/Image_3.h>.
2008-04-08 08:59:13 +00:00
Laurent Rineau
c6fa89e93c
Do not export File_writer_OFF comments to OFF files.
2008-04-08 08:55:43 +00:00
Laurent Rineau
1dccc80b79
Fix the testsuite temporarily, before I break everything again.
2008-04-01 12:55:59 +00:00
Laurent Rineau
00ced538b1
Modifications of C2T3:
...
- add a lot of comments arround the face status.
- use explicit variable names in union find, instead of 'i' and 'j'
- add a is_valid() function, that checks that the facets markers are the
same from both sides, and that the real number of marked facets is
conform to the cached number (used in the Slivers_exuder),
2008-03-13 22:13:30 +00:00
Laurent Rineau
b60a86e0c7
- Fix a missing header: <stack>)
...
- Activate now by default the version of output_surface_facets_to_off()
that orients the surface.
2008-03-11 15:11:54 +00:00
Laurent Rineau
5075e30cc5
Fix the color association.
...
Points are still indexed by int, but surfaces are now indexed
by a "const QTreeWidgetItem*"! :-)
2008-02-05 23:44:08 +00:00
Laurent Rineau
16e98803c1
Can now use Surface_mesher with multi-domains.
...
In the demo, one can define a list of iso-values.
2008-02-05 14:46:17 +00:00
Laurent Rineau
ba1ef9944b
First step to a multi-label oracle: make Implicit_surface_oracle_3 do not
...
depend on the type CGAL::Sign.
2008-01-29 10:14:27 +00:00
Laurent Rineau
eafc8f0d11
include/CGAL/ImageIO.h is now back in CGAL
2008-01-28 14:55:52 +00:00
Laurent Rineau
d682c43451
Add two files needed by new features of revision r41873: they are model of
...
a new concept of point, that stores:
- the lowest dimension of all psc elements that contain it,
- the index of the psc elements of lowest dimension that contains it.
Two files:
include/CGAL/Point_with_psc_localisation.h
include/CGAL/Weighted_point_with_psc_localisation.h
with bvious names: one is for Delaunay triangulations, and the other is for
regular triangulations.
2008-01-28 14:13:52 +00:00
Laurent Rineau
83171e4fd8
Deprecated files, never used. They were commited in revision 41880 in order to be backuped in the svn repository.
2008-01-28 13:59:19 +00:00
Laurent Rineau
5c3567e15f
Temporarily commit deprecated files.
...
They are about to be removed (in revision 41881 actually).
That commit is only for those files to be stored on the subversion
repository (in the history).
2008-01-28 13:58:16 +00:00
Laurent Rineau
ef6d4c019d
- edges and facets are now taggued with the index of the PSC element of
...
lower dimension that contains them,
- the oracle sets tags in points as well,
- the edges default criteria can now enforce that an edge must have its two
end points on the same curved edge,
- new facets criteria to enforce a facet to have its three vertices on the
same surface patch.
- The surface is now pass by const reference to the oracle (that was one
reason of the poor performances of the polyhedral oracle!).
ALL THAT CODE WILL NEED A FULL REVIEW BEFORE CGAL-3.4.
2008-01-28 09:38:18 +00:00
Laurent Rineau
8533dd1589
Change in Surface_mesher::Standard_criteria include/CGAL/Surface_mesher/Standard_criteria.h :
...
If a criteria bound is 0, then the criteria is always fullfilled (instead of never fullfilled).
2008-01-28 09:24:02 +00:00
Laurent Rineau
0b5e91875f
Fix compilation with g++-4.3.
2008-01-28 08:57:07 +00:00
Laurent Rineau
af1ada7aa1
Use object_cast instead of assign (see revision 40902, 40923, 41482 also).
2008-01-25 15:42:51 +00:00
Laurent Rineau
e4e8a9e7d7
Use Triangulation_cell_base_with_circumcenter_3 in the default triangulation for Surface_mesher
2008-01-25 09:18:30 +00:00
Laurent Rineau
42f222c01c
- Fix an old and minor bug (from revisions 38635+38306 in a branch, the bug
...
was merged in trunk at revision 38638). The image data should be
deallocated, now.
Actually, that bug exists since the begin of Gray_level_image_3
(CGAL-3.2). I thought I fixed it with revision 38306, but I failed to
correctly fix it.
- Add the possibility to define the interior of the object by f(x)>0,
instead of f(x)>0. That will be superseeded very soon.
2008-01-24 13:25:16 +00:00
Laurent Rineau
ece2b056d4
Fix compilation error, when CGAL_SURFACE_MESHER_DEBUG_INITIAL_POINTS is
...
defined.
I forgot that change in revision 41482.
2008-01-24 12:54:18 +00:00
Sylvain Pion
8ebd675cf9
Fix protect macro name, it was clashing with another file.
2008-01-14 21:31:05 +00:00
Laurent Rineau
4b2bc78fc4
- use object_cast instead of assign
...
- add the typedef Intersection_point, to fix the testsuite.
2008-01-09 10:35:49 +00:00
Laurent Rineau
9bbe7ad8fb
- Use SurfaceMeshTraits::Intersection_point, as the point type embeded in
...
the CGAL::Object that is returned by the mesh traits (aka the oracle).
- Use object_cast instead of assign, everywhere.
- Do not ask the oracle about degenerate dual segments.
- Remove more warnings about unused variables (when NDEBUG is defined).
2007-11-18 14:19:48 +00:00
Laurent Rineau
3edae701c3
oups, the Polyhedral_oracle return Kernel::Point_3 as intersection object
2007-11-14 12:56:06 +00:00
Laurent Rineau
a7bdd984c3
cosmetic
2007-11-14 12:17:17 +00:00
Laurent Rineau
a1fc5c762e
add a missing method in Enriched_facet
2007-11-14 12:16:54 +00:00
Laurent Rineau
07e4eacee3
updated enriched polyhedron
2007-11-14 11:07:10 +00:00
Laurent Rineau
f8e6dc3740
updated version
2007-11-14 11:03:18 +00:00
Laurent Rineau
5aab4f8ab7
commit Pierre files, maybe temporarily
2007-11-14 11:02:04 +00:00
Laurent Rineau
a61decfce6
new option, that allows to mesh the whole bounding box volume
2007-11-14 10:57:06 +00:00
Laurent Rineau
fbc8cd5d3c
new version: compute the piecewise-smooth graph using the enriched polyhedron
2007-11-14 10:55:55 +00:00
Andreas Meyer
fdeedcf8b0
some low level code cleanup. renamed
...
* CGAL_error to CGAL_error_msg
* introduced a macro CGAL_error()
* added some words about CGAL_error to the developers manual
* renamed most of assert(x) into CGAL_assertion(x)
* renamed exit(x) with x != 0 , CGAL_assertion(false) and assert(false) into CGAL_error
* CORE left untouched, OpenNL changed
2007-11-07 16:51:18 +00:00
Laurent Rineau
1c985577b2
Quick backup. Sorry, no comment.
2007-11-05 15:07:07 +00:00
Laurent Rineau
681862491a
update, more OpenGL stuff
2007-11-02 14:00:38 +00:00
Laurent Rineau
f924e04db6
- Add a macro CGAL_SURFACE_MESHER_POLYHEDRAL_SURFACE_USE_PINPOLYHEDRON that
...
triggers the use of PointInPolyhedron, from Dr. Liu Jianfei"
<liujianfei@pku.edu.cn>. His code is not shipped.
That does not seem to be faster. :-(
2007-10-18 14:48:41 +00:00
Laurent Rineau
58e17f60f3
Fix warnings, again.
2007-10-17 16:44:50 +00:00
Laurent Rineau
2c03c1cf43
rename all shared pointer into "*_ptr"
2007-10-17 16:39:22 +00:00
Laurent Rineau
1f029db333
In Surface_mesher, a "Surface" is an object that can be passed by copy.
...
Generalize the use of boost::shared_ptr for all data of Polyhedral_surface_3<>
2007-10-17 16:27:23 +00:00
Laurent Rineau
0ee3afc639
Remove a std::cerr output.
2007-10-17 15:21:53 +00:00
Laurent Rineau
99031df5ce
New attempt to make that class work. Not yet. :-(
2007-10-17 15:21:27 +00:00
Laurent Rineau
79efcce674
Attempt to replace the octree by something else: the Segment_tree_3 (from
...
SearchStructures).
It is actually slower, so I disable it by default. :-(
2007-10-17 12:59:45 +00:00
Laurent Rineau
49554ef06d
Move Simple_map_container.h to Surface_mesher.
...
That should fix the Surface_mesher build errors, in the testsuite.
2007-10-16 16:10:55 +00:00
Laurent Rineau
5053a73fea
fix std::max->CGAL_NTS max
2007-10-16 12:01:45 +00:00
Laurent Rineau
9ac3b1e631
Fix a bug in Surface_mesher_manifold.
2007-09-17 16:33:50 +00:00
Laurent Rineau
5a9bafcee6
typos
2007-08-08 14:29:57 +00:00
Laurent Rineau
e4d1b4f876
Remove 6-i-j-k, use next_around_edge() instead.
2007-08-07 13:41:32 +00:00
Laurent Rineau
c4b96ca9e5
more precise debug_info output
2007-08-07 11:16:12 +00:00
Laurent Rineau
6848cfac91
We had a robust circumcenter but not a robust squared radius. Fixed now.
...
Maybe this will make Mesh_3 crash-free... <hope>
2007-07-27 14:35:04 +00:00
Laurent Rineau
785f029ac3
Explicit qualitication of previous().
2007-07-27 08:47:28 +00:00
Laurent Rineau
785ccf1e39
cosmetic change in a cerr output
2007-07-27 08:38:16 +00:00
Laurent Rineau
1cbd8e1f7b
avoid division by zero
2007-07-27 08:37:22 +00:00
Fernando Cacciola
39bfd40aa4
ImageIO autolinking enabled
2007-06-21 13:07:15 +00:00
Laurent Rineau
796d7877b4
Do not try to mesh edges of the surface, it the surface has the tag Has_no_edges
2007-06-14 18:38:55 +00:00
Laurent Rineau
36b7e51dc0
again a new attempt to workaround imprecisions in constructors. Need work.
2007-06-14 12:51:32 +00:00
Laurent Rineau
a30420ea22
Use Delaunay triangulation in Mesh_3, instead of a regular triangulation
2007-06-14 09:32:02 +00:00
Laurent Rineau
bf5b9efebb
new implementation, polyhedron-free, of output_surface_facets_to_off
2007-06-13 22:41:51 +00:00
Laurent Rineau
87c10e9b5e
Change of the step-by-step output.
2007-06-13 21:12:22 +00:00
Laurent Rineau
41a045b9be
Bad hack to r5Cobustify the algorithm. Need work.
2007-06-12 14:11:57 +00:00
Laurent Rineau
4c12071ab5
Robustify Construct_weighted_circumcenter_3 as well.
2007-06-12 14:08:31 +00:00
Laurent Rineau
fd97c81e8a
In Surface_mesher:
...
- Polyhedral_oracle::initial_points_: use input points in random order,
- Polyhedral_surface is know templated by a new tag, that can be
"Has_no_edges" or "Has_edges", so that the edges detection and handling
is triggered.
- Polyhedral_oracle::is_in_volume() now tests if the point is in the
bounding box, before anything else. That solved several issues, when
the point tested had very big coordinates.
In Mesh_3:
- Mesh_criteria's size_bound is know squared in the constructor.
2007-06-10 20:50:11 +00:00
Laurent Rineau
1f471177ce
push current version
2007-06-06 12:54:28 +00:00
Laurent Rineau
d381828fa7
I do not know what to say... That version just work!!
...
I can remesh piecewise smooth surface...
2007-05-30 16:52:43 +00:00
Laurent Rineau
7f0bab55ed
fix compilation errors in Mesh_3
2007-05-14 13:54:01 +00:00
Laurent Rineau
37c7266f76
Merge the branch "temporary_branch_during_trunk_freeze" back to the trunk.
...
Details below (thank to svnmerge).
Merged revisions 38016,38018-38083,38085-38637 via svnmerge from
svn+ssh://lrineau@scm.gforge.inria.fr/svn/cgal/branches/temporary_branch_during_trunk_freeze/Surface_mesher
........
r38022 | lrineau | 2007-04-10 15:11:14 +0200 (Tue, 10 Apr 2007) | 1 line
no-op modifications
........
r38023 | lrineau | 2007-04-10 15:13:06 +0200 (Tue, 10 Apr 2007) | 1 line
add an intersection computation method to the polyhedral oracle: Triangle-curve
........
r38026 | lrineau | 2007-04-10 16:14:12 +0200 (Tue, 10 Apr 2007) | 1 line
use vectors instead of lists, and use the correct type Facet_circulator from C2t3
........
r38028 | lrineau | 2007-04-10 16:18:48 +0200 (Tue, 10 Apr 2007) | 5 lines
- Use sets or vectors instead of lists
- Add marked edges
- Marked edges are not removed when incident facets are removed.
They are counted isolated, instead
........
r38029 | lrineau | 2007-04-10 16:33:09 +0200 (Tue, 10 Apr 2007) | 2 lines
typos
........
r38306 | lrineau | 2007-04-18 17:58:24 +0200 (Wed, 18 Apr 2007) | 1 line
new version, that should work, now. :-S
........
r38327 | lrineau | 2007-04-19 03:13:46 +0200 (Thu, 19 Apr 2007) | 1 line
add Edge_info into C2t3, and make the surfacic centers be cached into those edge infos
........
r38328 | lrineau | 2007-04-19 03:36:21 +0200 (Thu, 19 Apr 2007) | 1 line
forgot that part
........
r38413 | lrineau | 2007-04-23 02:22:23 +0200 (Mon, 23 Apr 2007) | 1 line
new version o Surface_mesher, with documentation.
........
r38635 | lrineau | 2007-05-11 15:49:29 +0200 (Fri, 11 May 2007) | 1 line
fix compilation
........
r38636 | lrineau | 2007-05-11 15:49:52 +0200 (Fri, 11 May 2007) | 1 line
updated documentation
........
r38637 | lrineau | 2007-05-11 15:50:12 +0200 (Fri, 11 May 2007) | 1 line
update for piecewise-smooth surfaces
........
2007-05-11 14:09:56 +00:00
Laurent Rineau
23984e220a
Merged revisions 38084 via svnmerge from
...
svn+ssh://lrineau@scm.gforge.inria.fr/svn/cgal/branches/temporary_branch_during_trunk_freeze/Surface_mesher
........
r38084 | lrineau | 2007-04-12 13:28:39 +0200 (Thu, 12 Apr 2007) | 4 lines
Reorganization of:
bool is_facet_on_surface(const Facet& f, Point& center);
for better readability of the code.
........
2007-04-12 15:50:19 +00:00
Laurent Rineau
7d31a00e9f
Copyright year range.
2007-04-04 10:19:50 +00:00
Laurent Rineau
eefbb701ce
Remove debug outputs.
2007-04-04 10:04:29 +00:00
Laurent Rineau
61e2a2ebfd
- New codebase for <CGAL/Polyhedral_surface_3.h>, that uses
...
Polyhedron_3.
- Added "Facet neighbor(Facet f, int j) const;" in
<CGAL/Complex_2_in_triangulation_3.h>.
- New code for output_surface_facets_to_off() in
<CGAL/IO/Complex_2_in_triangulation_3_file_writer.h>. Now uses
Polyhedron_3 I/O operators (maybe temporarily), and *orients the output*,
as mush as possible, without any call to any surface oracle.
The ordering code is adapted from reorient_faces() in TDS_2.
- Updated demo/Surface_mesher/polyhedron_remesher.cpp, so that it works.
Notes for the CGAL-3.3 release manager:
- Surface_mesher/demo/Surface_mesher is "dont_submitted".
- The changes in Surface_mesher/include/CGAL/ only impact undocumented
features of the package. Actually, maybe output_surface_facets_to_off()
should be documented (with an adapted API) now that it orients the facets.
2007-04-04 09:52:34 +00:00
Laurent Rineau
cb2e689c05
fix SVN keywords
2007-04-03 13:59:17 +00:00
Laurent Rineau
bce1a7694c
CGALimageIO is now a C++ library: 'extern "C"' are removed.
2007-04-02 09:50:40 +00:00
Laurent Rineau
418d827071
Remove the enum Debug_flag from Surface_mesher (conflicts with VC++ macros).
2007-03-20 14:41:50 +00:00
Laurent Rineau
9e1dd1fee9
Gray_level_image_3 objects are copy-constructed a lot of time, during the
...
execution of the Surface_mesher algorithm. I do not know how to deal with
the destruction of *image. Maybe a smart pointer. We need to bench. I delay
that until somebody really need to have that memory leak fixed.
2007-03-20 14:27:13 +00:00
Laurent Rineau
814a039ead
Double free => I comment the _freeImage call.
2007-03-18 21:04:42 +00:00
Laurent Rineau
73c07dece1
- add a missing destructor for Gray_level_image_3.
...
- add an undocumented static function print_supported_file_format()
2007-03-15 11:13:03 +00:00
Laurent Rineau
a9c8fdf162
Fix warnings about unreachable "break"s.
2007-03-14 23:29:49 +00:00
Laurent Rineau
e9196b3173
quick fix for a bug found by gcc-4.3
2007-03-01 10:04:27 +00:00
Laurent Rineau
035da295a4
commit several things that change only debug outputs, or the polyhedral oracle
2007-02-28 18:22:28 +00:00
Laurent Rineau
349d29a80c
Fix two typos and a linker bug (extern "C").
2007-02-16 19:18:00 +00:00
Laurent Rineau
86307ba0e2
Fix libCGALimageIO, so that <CGAL/Gray_level_image_3.h> compiles.
2007-02-16 18:59:35 +00:00
Laurent Rineau
e55e35a3e0
Move ImageIO.h into src/CGALimageIO/. We need to define a licence for src/CGALimageIO!
2007-02-15 14:50:41 +00:00
Laurent Rineau
6c6cbdcb1c
The commit that will break everthing:
...
- New library: libCGALimageIO
- make shared libraries for CORE, and Benchmark.
2007-02-02 16:10:06 +00:00