diff options
Diffstat (limited to 'src/Contraction/include/gudhi')
7 files changed, 24 insertions, 7 deletions
diff --git a/src/Contraction/include/gudhi/Contraction/policies/Cost_policy.h b/src/Contraction/include/gudhi/Contraction/policies/Cost_policy.h index eddfec44..60ef3b5f 100644 --- a/src/Contraction/include/gudhi/Contraction/policies/Cost_policy.h +++ b/src/Contraction/include/gudhi/Contraction/policies/Cost_policy.h @@ -29,6 +29,9 @@ namespace Gudhi{ namespace contraction { +/** +*@brief Policy to specify the cost of contracting an edge. +*/ template< typename EdgeProfile> class Cost_policy{ public: typedef typename EdgeProfile::Point Point; diff --git a/src/Contraction/include/gudhi/Contraction/policies/Dummy_valid_contraction.h b/src/Contraction/include/gudhi/Contraction/policies/Dummy_valid_contraction.h index a3cbbd2e..de473944 100644 --- a/src/Contraction/include/gudhi/Contraction/policies/Dummy_valid_contraction.h +++ b/src/Contraction/include/gudhi/Contraction/policies/Dummy_valid_contraction.h @@ -31,7 +31,9 @@ namespace contraction { - + /** + *@brief Policy that accept all edge contraction. + */ template< typename EdgeProfile> class Dummy_valid_contraction : public Valid_contraction_policy<EdgeProfile>{ public: typedef typename EdgeProfile::Point Point; diff --git a/src/Contraction/include/gudhi/Contraction/policies/Link_condition_valid_contraction.h b/src/Contraction/include/gudhi/Contraction/policies/Link_condition_valid_contraction.h index d1e0b7db..31c02e43 100644 --- a/src/Contraction/include/gudhi/Contraction/policies/Link_condition_valid_contraction.h +++ b/src/Contraction/include/gudhi/Contraction/policies/Link_condition_valid_contraction.h @@ -32,7 +32,9 @@ namespace Gudhi{ namespace contraction { - + /** + *@brief Policy that only accept edges verifying the link condition (and therefore whose contraction preserving homotopy type). + */ template< typename EdgeProfile> class Link_condition_valid_contraction : public Valid_contraction_policy<EdgeProfile>{ public: typedef typename EdgeProfile::Edge_handle Edge_handle; diff --git a/src/Contraction/include/gudhi/Contraction/policies/Middle_placement.h b/src/Contraction/include/gudhi/Contraction/policies/Middle_placement.h index 3d7a72e8..30f0a570 100644 --- a/src/Contraction/include/gudhi/Contraction/policies/Middle_placement.h +++ b/src/Contraction/include/gudhi/Contraction/policies/Middle_placement.h @@ -30,6 +30,8 @@ namespace Gudhi{ namespace contraction { + + template< typename EdgeProfile> class Middle_placement : public Placement_policy<EdgeProfile>{ public: diff --git a/src/Contraction/include/gudhi/Contraction/policies/Placement_policy.h b/src/Contraction/include/gudhi/Contraction/policies/Placement_policy.h index b4ff6301..37b36dfe 100644 --- a/src/Contraction/include/gudhi/Contraction/policies/Placement_policy.h +++ b/src/Contraction/include/gudhi/Contraction/policies/Placement_policy.h @@ -28,6 +28,10 @@ namespace Gudhi { namespace contraction { + + /** + *@brief Policy to specify where the merged point had to be placed after an edge contraction. + */ template< typename EdgeProfile> class Placement_policy{ public: typedef typename EdgeProfile::Point Point; diff --git a/src/Contraction/include/gudhi/Contraction/policies/Valid_contraction_policy.h b/src/Contraction/include/gudhi/Contraction/policies/Valid_contraction_policy.h index b8e7d6d7..a053042b 100644 --- a/src/Contraction/include/gudhi/Contraction/policies/Valid_contraction_policy.h +++ b/src/Contraction/include/gudhi/Contraction/policies/Valid_contraction_policy.h @@ -25,6 +25,10 @@ namespace Gudhi { namespace contraction { + + /** + *@brief Policy to specify if an edge contraction is valid or not. + */ template< typename EdgeProfile> class Valid_contraction_policy{ public: typedef typename EdgeProfile::Point Point; diff --git a/src/Contraction/include/gudhi/Skeleton_blocker_contractor.h b/src/Contraction/include/gudhi/Skeleton_blocker_contractor.h index f8037897..56f4891f 100644 --- a/src/Contraction/include/gudhi/Skeleton_blocker_contractor.h +++ b/src/Contraction/include/gudhi/Skeleton_blocker_contractor.h @@ -28,7 +28,6 @@ // todo remove the queue to be independent from cgald #include "gudhi/Contraction/CGAL_queue/Modifiable_priority_queue.h" -//#include <CGAL/Modifiable_priority_queue.h> #include <list> @@ -68,7 +67,9 @@ Valid_contraction_policy<Profile>* make_link_valid_contraction(){ } -// visitor that remove popable blockers after an edge contraction +/** +*@brief Visitor to remove popable blockers after an edge contraction. +*/ template <class Profile> class Contraction_visitor_remove_popable : public Contraction_visitor<Profile>{ public: @@ -116,9 +117,9 @@ Contraction_visitor<Profile>* make_remove_popable_blockers_visitor(){ *@class Skeleton_blocker_contractor *@brief Class that allows to contract iteratively edges of a simplicial complex. * - * @details Basically, the simplification algorithm consists in iteratively picking the + * @details The simplification algorithm consists in iteratively picking the * edge with lowest cost and performing an edge contraction if the contraction is valid. - * This class is policy based (and much inspired from the edge collapse package of CGAL). + * This class is policy based (and much inspired from the edge collapse package of CGAL http://doc.cgal.org/latest/Surface_mesh_simplification/index.html). * * Policies that can be changed are : * - the cost policy : how much cost an edge contraction @@ -126,7 +127,6 @@ Contraction_visitor<Profile>* make_remove_popable_blockers_visitor(){ * - the valid contraction policy : is the contraction valid. For instance, it can be * a topological condition (link condition) or a geometrical condition (normals messed up). * - * TODO expliquer la pile */ template< class GeometricSimplifiableComplex, |