From e9d44f80224c4a3f25dd105f42210df558d19190 Mon Sep 17 00:00:00 2001
From: Joseph Mirabel <jmirabel@laas.fr>
Date: Wed, 25 Feb 2015 21:31:13 +0100
Subject: [PATCH] Update documentation.

---
 CMakeLists.txt                          |  1 +
 doc/Doxyfile.extra.in                   |  3 +-
 doc/main.hh                             | 56 +++++++++++++++----------
 include/hpp/manipulation/graph/graph.hh |  5 ++-
 4 files changed, 39 insertions(+), 26 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index f6c1dd9..a01e6fc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -40,6 +40,7 @@ SET (TEST_UR5 FALSE CACHE BOOL "Activate tests using ur5")
 
 SEARCH_FOR_BOOST()
 ADD_DOC_DEPENDENCY(hpp-model >= 3.0.0)
+ADD_DOC_DEPENDENCY(hpp-manipulation-urdf)
 ADD_REQUIRED_DEPENDENCY(hpp-core >= 3.0.0)
 ADD_REQUIRED_DEPENDENCY(hpp-constraints >= 3.0.0)
 ADD_REQUIRED_DEPENDENCY(hpp-statistics >= 0.1)
diff --git a/doc/Doxyfile.extra.in b/doc/Doxyfile.extra.in
index 38db5b7..84b50d8 100644
--- a/doc/Doxyfile.extra.in
+++ b/doc/Doxyfile.extra.in
@@ -4,7 +4,8 @@ INPUT     = @CMAKE_SOURCE_DIR@/doc \
 
 TAGFILES	= @HPP_MODEL_DOXYGENDOCDIR@/hpp-model.doxytag=@HPP_MODEL_DOXYGENDOCDIR@ \
             @HPP_CORE_DOXYGENDOCDIR@/hpp-core.doxytag=@HPP_CORE_DOXYGENDOCDIR@ \
-            @HPP_CONSTRAINTS_DOXYGENDOCDIR@/hpp-constraints.doxytag=@HPP_CONSTRAINTS_DOXYGENDOCDIR@
+            @HPP_CONSTRAINTS_DOXYGENDOCDIR@/hpp-constraints.doxytag=@HPP_CONSTRAINTS_DOXYGENDOCDIR@ \
+            @HPP_MANIPULATION_URDF_DOXYGENDOCDIR@/hpp-manipulation-urdf.doxytag=@HPP_MANIPULATION_URDF_DOXYGENDOCDIR@
 
 HTML_EXTRA_FILES = @CMAKE_SOURCE_DIR@/doc/ObjectManipulation_MasterThesis_JosephMirabel.pdf
 
diff --git a/doc/main.hh b/doc/main.hh
index b502ca4..91d88c7 100644
--- a/doc/main.hh
+++ b/doc/main.hh
@@ -6,42 +6,52 @@ namespace hpp {
 
  \section sec_intro_hpp_manipulation Introduction
 
- This package implements a solver for manipulation planning problems. A manipulation planning problem
- is defined by:
- \li Robot Build a \LModel{Device} from several \LModel{Device} and Object,
- \li Object A \LModel{Device} with Handle,
- \li Graph A graph of constraints defining the rules of a manipulation problem,
- \li ManipulationPlanner Implements a RRT-based algorithm to solve manipulation planning problems.
+ This package implements a solver for manipulation planning problems. A
+ manipulation planning problem is defined by:
+ \li Device: a collection of several \LModel{Device} with \ref Gripper
+ "grippers" and \ref Handle "handles",
+ \li Graph: A graph of constraints defining the rules of a manipulation
+ problem.
+
+ To build a Device, have a look at the package \ref hpp_manipulation_urdf
+ "hpp-manipulation-urdf".
+ ManipulationPlanner implements a RRT-based algorithm to solve manipulation
+ planning problems.
 
  \section sec_graph_hpp_manipulation Constraint graph
- The graph of constraint, also referred to as constraint graph, represents the rules of a manipulation problem.
- The component of the graph are:
+ The graph of constraint, also referred to as constraint graph, represents the
+ rules of a manipulation problem.  The component of the graph are:
  \li Node represents a state of the Robot with constraints,
  \li Edge represents a transition between two Node with parametric constraints.
 
- Node contains a set of \LHPP{core,Constraint} that a configuration of the Robot should satisfy
- to be in the represented state. To ensure that a configuration is in only one state, the Node are
- ordered in a NodeSelector. The method NodeSelector::getNode(ConfigurationIn_t) const returns a
- pointer to the first Node for which Node::contains(ConfigurationIn_t) const returns true.
- For optimization only, another set of \LHPP{core,Constraint} is used for \LHPP{core,StraightPath} lying in this Node.
+ Node contains a set of \LHPP{core,Constraint} that a configuration of the
+ Robot should satisfy to be in the represented state. To ensure that a
+ configuration is in only one state, the Node are ordered in a NodeSelector.
+ The method NodeSelector::getNode(ConfigurationIn_t) const returns a pointer to
+ the first Node for which Node::contains(ConfigurationIn_t) const returns true.
+ For optimization only, another set of \LHPP{core,Constraint} is used for
+ \LHPP{core,StraightPath} lying in this Node.
 
- Edge has methods Edge::isInNodeFrom, to tell if a corresponding path lyes in Edge::from() or Edge::to(),
- and Edge::node(), to retrive this Node.
+ Edge has methods Edge::isInNodeFrom, to tell if a corresponding path lyes in
+ Edge::from() or Edge::to(), and Edge::node(), to retrive this Node.
  Edge also contains two sets of \LHPP{core,Constraint}:
- \li Edge::configConstraint() returns a \LHPP{core,ConstraintSet} used to generate a configuration lying in Edge::to()
-     and respecting the rightHandSide (previsously set using hpp::core::ConfigProjector::leftHandSideFromConfig),
- \li Edge::pathConstraint() returns a \LHPP{core,ConstraintSet} to be inserted in \LHPP{core,Path} represented
-     by this Edge.
- 
+ \li Edge::configConstraint() returns a \LHPP{core,ConstraintSet} used to
+     generate a configuration lying in Edge::to() and respecting the
+     \LHPP{core,ConfigProjector::rightHandSide},
+ \li Edge::pathConstraint() returns a \LHPP{core,ConstraintSet} to be inserted
+     in \LHPP{core,Path} represented by this Edge.
+
  \note
    For implementation details, see graph::Graph.
-   For more information about parametric and non-parametric constraints, see \LHPP{core,DifferentiableFunction}
-   and \LHPP{core,ConfigProjector}
+   For more information about parametric and non-parametric constraints, see
+   \LHPP{core,DifferentiableFunction} and \LHPP{core,ConfigProjector}
 
  \section sec_solver_hpp_manipulation Manipulation planner
 
  ManipulationPlanner class implements an algorithm based on RRT. See
- <a href="ObjectManipulation_MasterThesis_JosephMirabel.pdf">this master thesis</a> for details about the algorithm.
+ <a href="ObjectManipulation_MasterThesis_JosephMirabel.pdf">this master
+ thesis</a> for details about the algorithm.
+
  **/
     }
   }
diff --git a/include/hpp/manipulation/graph/graph.hh b/include/hpp/manipulation/graph/graph.hh
index 5c147ed..bcbb3b5 100644
--- a/include/hpp/manipulation/graph/graph.hh
+++ b/include/hpp/manipulation/graph/graph.hh
@@ -25,10 +25,11 @@
 namespace hpp {
   namespace manipulation {
     namespace graph {
-      /// Description of the constraint graph
+      /// Description of the constraint graph.
+      ///
       /// This class contains a graph representing a robot with several
       /// end-effectors.
-      /// 
+      ///
       /// One must make sure not to create loop with shared pointers.
       /// To ensure that, the classes are defined as follow:
       /// - A Graph owns (i.e. has a shared pointer to) the NodeSelector s
-- 
GitLab