Commit Graph

41551 Commits

Author SHA1 Message Date
Camille Wormser 74beff3b13 removed all warnings (-Wall -Wextra).
IMPORTANT THINGS

- We need to add Compute_squared_distance_3 (at least for Point_3, Point_3) to the traits requirements

- Since we use the (decorated) Traits as a template parameter for the Search_traits_3, we need to add
this as a requirement. Currently, the Search_traits_3 requests that the template parameter be a CGAL
kernel. This is much too strong!
2009-05-10 16:05:48 +00:00
Camille Wormser 0f376fb294 removed the warnings, except in one of the test cases. Working on it. 2009-05-10 15:24:04 +00:00
Sylvain Pion 9f6aa6b120 Explicitly qualify shared_ptr with boost::, otherwise there is a conflict with std::shared_ptr in C++0x mode. 2009-05-10 13:27:08 +00:00
Pierre Alliez 0d2880a413 AABB tree:
- more on examples
- description
- removed leftover traces of projection after grep (two found)
2009-05-09 22:24:39 +00:00
Pierre Alliez 988c746c29 AABB tree:
- first pass on examples to simplify a bit
- TODO: better show variety of queries offered instead of just #intersections
2009-05-09 22:04:33 +00:00
Pierre Alliez 55dc498d00 AABB tree: one global pass on the narrative. 2009-05-09 21:52:02 +00:00
Pierre Alliez 5b992f0ffa AABB tree: more on distance tests with anisotropic triangle mesh model (added finger.off)
remove one warning
some remains in the KD-tree... was unable to remove them for now.
2009-05-09 19:57:37 +00:00
Ophir Setter 721f585a6d fix bug in the previous fix about unbounded curves 2009-05-09 18:12:12 +00:00
Sylvain Pion 289754c46c Remove pre-CMake scripts. 2009-05-09 16:35:14 +00:00
Sylvain Pion 46c3843237 Remove pre-CMake scripts. 2009-05-09 16:21:46 +00:00
Sylvain Pion da8f43f45f Mark most one-argument constructors explicit. 2009-05-09 16:08:19 +00:00
Sylvain Pion 9806cf02a0 Renamed operator/= to div() as it's not a Field division. 2009-05-09 15:21:26 +00:00
Sylvain Pion d9038fc22c Use CGAL::integral_division() instead of operator/= in normalize(). 2009-05-09 15:11:47 +00:00
Camille Wormser 5dc7c35be3 distance queries conform to the spec 2009-05-09 10:22:45 +00:00
Sylvain Pion 33fd59e039 Rename sqrt() to approximate_sqrt(), like MP_Float does, as it's not a usual sqrt. 2009-05-09 10:11:06 +00:00
Ophir Setter e06b7c0165 bug fix 2009-05-09 08:43:15 +00:00
Pierre Alliez 49bdb725f6 AABB tree
factorize some code for the tests into AABB_test_util.h
2009-05-09 07:20:07 +00:00
Pierre Alliez 4a6eb544a8 AABB tree
- rename m_data into m_primitives in Tree
- rename m_p_root into m_p_root_node in Tree
put back squared_distance into distance test
2009-05-09 06:57:36 +00:00
Camille Wormser 64b5882ffb I know exclude the case where the hint is returned from the inconsistencies.
It may be more interesting.
2009-05-08 22:49:55 +00:00
Camille Wormser 32678c876e interesting benchmarks for the hint strategies in distance queries 2009-05-08 19:54:28 +00:00
Camille Wormser c063b0bd32 details for the requirements for the Id. 2009-05-08 15:00:13 +00:00
Camille Wormser 1c3c01951f oops, forgot to save this file. Old changes... 2009-05-08 14:18:21 +00:00
Camille Wormser f0d1f31f11 Since Pierre wanted this feature (providing points without primitive to the KD_tree),
and it does not cost much in terms of implementation, and it is useful for cases like the
Polyhedron, I put it back. 

The code already supports that (as can be seen from the fact that the test suite runs).

Still, I need the Id to have a default constructor. How do you document that?
2009-05-08 14:17:38 +00:00
Camille Wormser 8414b99e9a now the test suite compiles and runs! :) 2009-05-08 14:06:51 +00:00
Camille Wormser 01d0293bc5 Code is now almost up to the specification: Primitive::Id everywhere,
the KD-tree uses decorated points to return the Id too. 

There are just a few boost::optional to add in the traits, where we still
use the old bool intersection(..., Result&) approach, and some modernization 
to do in the distance computation things.

Everything compiles.

I have removed the funtion closest_primitive from the code and documentation, 
since it would not be consistent with the rest of the interface, and would not
be faster than closest_point_and_primitive.

I think we are almost done, not only for the documentation, but for the code too.
2009-05-08 12:59:22 +00:00
Camille Wormser 811f08256b added missing types to the AABBTraits concept.
(I have added the missing methods for the distance queries too)
2009-05-08 11:28:10 +00:00
Camille Wormser 1f4c9a150e cleaning of the traits. Not finished yet.
I've removed all references to the Sphere (it was used only internally anyway), 
because we will not use it anymore: we replace its use by direct calls to is_closer.
2009-05-08 11:20:14 +00:00
Camille Wormser fa539afc07 in the description of do_intersect and intersection, in the GeomTraits,
primitive --> geometric object
(some are queries, some are primitives)
2009-05-08 10:37:07 +00:00
Camille Wormser 4f329a0761 the GeomTraits does not provide the query types at all. 2009-05-08 10:34:03 +00:00
Camille Wormser 61aee20d79 typos + clearer explanation of the role of the ids
(used to refer to the primitives in the outputs, but need not be unique)
2009-05-08 10:16:54 +00:00
Camille Wormser 38da93cbca text improvement and typos for distances 2009-05-08 09:55:28 +00:00
Camille Wormser a03de6bb32 we do not need intersection for any_intersected_primitive 2009-05-08 09:46:34 +00:00
Camille Wormser 794157450f allocation detail in the constructor 2009-05-08 09:45:46 +00:00
Camille Wormser 8358202dde The requirement on the constructor was a bit too strong: we do not need
the fact that the iterator range is a container of objects of type Datum.

Quite the contrary: it can be halfedges_begin/end. Hence, we should keep 
only the requirement that Primitive is constructible from it (that's 
really what we use in practice).
2009-05-08 09:36:47 +00:00
Camille Wormser 31e85b74de still polishing (just typos) 2009-05-08 09:27:27 +00:00
Sylvain Pion 7ad4cdfa4b Avoid a deprecated interface for incident_face(). 2009-05-08 09:24:17 +00:00
Camille Wormser 986f01d0d5 doing some polishing on the documentation... (not finished yet, going through the whole thing) 2009-05-08 09:19:48 +00:00
Pierre Alliez 154ff8cfa0 AABB tree: more on distance queries
it remains to fix the Distance_traits
2009-05-07 21:22:24 +00:00
Pierre Alliez c26e8531e1 AABB tree: intersections now return CGAL::Objects. 2009-05-07 21:03:21 +00:00
Sylvain Pion 7eb6265e30 Qualify make_tuple with boost::, otherwise the one in namespace std is picked,
and std::tuple is not compatible with zip_iterator.
2009-05-07 20:07:59 +00:00
Manuel Caroli c9fc90bab4 hierarchy is working
currently it runs too slowly due to multiply sheeted covering
todo: speed up.
2009-05-07 17:08:35 +00:00
Efi Fogel 258d562bf2 cleanup 2009-05-07 15:57:16 +00:00
Efi Fogel 3473078134 cleanup 2009-05-07 15:56:54 +00:00
Manuel Caroli 1469716d49 the triangulation hierarchy.
The adaptation for the case of multiple coverings still needs to be done.
2009-05-07 15:38:37 +00:00
Pedro Machado Manhaes de Castro 8ff91a9601 cleanup tests + fix 2009-05-07 14:14:24 +00:00
Laurent Saboret 0eba7cdc1f 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.

* Fixed compilation error with g++ 4.3.1
* Updated mst_orient_normals() documentation
* Added property_map_multiple_streams.cpp to dont_submit

TODO: delete property_map_multiple_streams.cpp
2009-05-07 13:59:54 +00:00
Laurent Saboret 87be199e78 Updated list of files that svn should ignore 2009-05-07 13:57:04 +00:00
Pierre Alliez e034d54b75 AABB tree: more on distance queries
- experiments with primitive vs point hints.
2009-05-07 13:18:17 +00:00
Camille Wormser bf4043be63 replaced Point_and_primitive by Point_and_primitive_id and Object_and_primitive_id 2009-05-07 13:18:02 +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