- 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.
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.
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.
- added a public member function
Bbox bbox() const;
to Data_structure_using_octree_3<>.
- fix several bad coding patterns, in Data_structure_using_octree_3.h
- fix the header of Data_structure_using_octree_3.h
- trivial destructor for Constrained_Element, to delete the "type"
member.
** In Surface_mesher:
- added a public member function
Bbox bbox() const;
to Polyhedral_surface_3<>.
- fixed input operator of c2t3. It know deals correctly (I hope), with the
edge_facets_counter member.
- added a new class Surface_mesh_default_triangulation_3
- use Surface_mesh_default_triangulation_3 in test_c2t3_iterators.cpp, as a
test.
had to be fixed manually.
- new debug macro in <CGAL/Surface_mesher/Standard_criteria.h>
- CGAL_MESH_3_DEBUG_CRITERIA
Used in test/Mesh_3/combined_spheres*.cpp
- remove deprecated include/CGAL/Surface_mesher/Implicit_surface.h
- rename CGAL::Surface_mesher::Implicit_surface_oracle to
CGAL::Surface_mesher::Implicit_surface_oracle_3
and then, rename include/CGAL/Surface_mesher/Implicit_surface_oracle.h
to include/CGAL/Surface_mesher/Implicit_surface_oracle_3.h
- in Mesh_3: adapt code to the above change.
- remove subdirectories of include/CGAL/Surface_mesher: files of Criteria/
and Oracles/ are moved one step back.
- repear the polyhedral oracle
- Implicit_oracle.h is now Implicit_surface_oracle.h (and the class has
been renamed too.
- no longer "Kernel_point" trick in Implicit_surface_oracle.h
- *but* "Kernel_point" trick is needed in Polyhedral_oracle.h! :-(
** In Mesh_3:
- repear examples/Mesh_3/polyhedral_surface_mesher.C
- add two input files in ./inputs/*.off (with their medit files)
"cannot_wait_for_CGAL-3.2" to the trunk.
My idea: the branch is the real working version, and I want it to be joined
back to the trunk:
__________________________ cannot_wait_for_CGAL-3.2 branch
/ \
/ \
-------------------------------------------- trunk
S M
The modification of the trunk between the splitting point S and the merging
point M has already been merged into "cannot_wait_for_CGAL-3.2".
The trunk versions of these three packages have been removed already.
Do not worry: I will "svn cp" the branch "cannot_wait_for_CGAL-3.2" into the
trunk, and the trunk will inherit from the logs of the branch.
My idea: the branch is the real working version, and I want it to be joined
back to the trunk:
__________________________ cannot_wait_for_CGAL-3.2 branch
/ \
/ \
-------------------------------------------- trunk
S M
The modification of the trunk between the splitting point S and the merging
point M has already been merged into "cannot_wait_for_CGAL-3.2".
operator()(FT, FT, FT). This implied the modification of:
- the Gray_level_image_3 and its documentation Gray_level_image_3.tex
(new template parameter, to have the type of point),
- all examples or demo,
- Mesh_3 examples or demo as well
This modification was mandatory, before the CGAL-3.2 release, to avoid
Implicit_surface to use methods x(), y() and z() of points.
Fully tested, etc.
Complex_2_in_triangulation_cell_base_3, so that Surface_mesh_cell_base_3
corresponds to its documentation (the default base class was hidding the
problem).
include/CGAL/Surface_mesher/Surface_mesher_regular_edges.h, is now lazy,
like in Surface_mesher_manifold.h
- include/CGAL/Surface_mesher/Surface_mesher_regular_edges_with_boundary.h
now longer exists: Surface_mesher_regular_edges is templated by a
boolean (see the code)
- fix efficiency errors in Surface_mesher_manifold.h
Surface_mesher::refine_mesh. It is now template parameters of the class
Surface_mesher. I have verified that the optimizer of GNU/CC is able to
strip the debug code when NO_DEBUG is use.
and a specialization Surface_mesh_traits_generator_3<CGAL::Sphere_3<Kernel> >
- updated test test/Surface_mesher/implicit_surface_mesher_test.C to test
the meshing of Kernel::Sphere_3(ORIGIN, 1.)
added in_complex test of facets and remove in_comples test of vertices
after_insertion of Surface_mesher_manifold :
use is_regular_or_boundary_for_vertices
Complex_2_in_triangulation_3: the result of
union_find_of_incident_facets() is cached in the vertex.
- remove unwanted verbose output. It is now activable by defining
the preprocessor macro SURFACE_MESHER_VERBOSE.
- change face_type() to face_status() in users of C2t3
- first testsuite
- renamed nested typedef Triangulation_3 to Triangulation, in C2t3
- added specializations for Manifold_tag and Manifold_with_boundaries_tag,
in include/CGAL/make_surface_mesh.h
- heavy changes of template parameters and constructors of:
- Surface_mesher_regular_edges_without_boundary_base
- Surface_mesher_regular_edges_base
- Surface_mesher_manifold_base
- new classes Surface_mesher_manifold, urface_mesher_regular_edges and
Surface_mesher_regular_edges_without_boundary, that are no longer
copy-pasted from Surface_mesher.
- rename all triangulation objects to "tr", and all geom_traits objects to
"gt". No longer "tri3", or "ker".
- updated the target "depends" of GNUmakefile files.
- testsuite compiles, but runtime problem in manifold version. Non manifold
runs correctly.
- fix layout of this changes.txt file
- Added an undocumented class Surface_mesh_triangulation_generator_3 which
is a meta functor Kernel->Triangulation, that computes the right
triangulation for make_surface_mesh()
- Added documented files:
- include/CGAL/Implicit_surface_3.h
- include/CGAL/Surface_mesh_default_criteria_3.h
- include/CGAL/Surface_mesh_complex_2_in_triangulation_3.h
- In doc, rename:
- SurfaceMeshCriteria to SurfaceMeshCriteria_3
- Surface_mesh_default_criteria to Surface_mesh_default_criteria_3
- Added doc_tex GNUmakefile, for developers uses.
- Wrote the first test file!
- Find Triangulation_mesher_level_traits_3.h in include/CGAL/Mesh_2/, now.
- Major changes in template arguments, data members, and constructors of:
- class Surface_mesher,
- class Implicit_oracle,
- Minor changes everywhere (sorry for the imprecision, too long).
- Added number_of_facets() to C2T3 (code and documentation)
- Remove Complex_2_in_triangulation_3_surface_meshe.h (not finished)
- Created classes Surface_mesh_cell_base_3 and Surface_mesher_vertex_base_3.
- Beginning to changes code to bo sync with the documentation.
- Remove old headers Nodes.h and Graph.h