From 6c95f8530955947405e68c895d2545e3e23d3867 Mon Sep 17 00:00:00 2001 From: Joseph Mirabel <jmirabel@laas.fr> Date: Mon, 7 Jul 2014 19:27:11 +0200 Subject: [PATCH] Add Graph class --- include/hpp/manipulation/graph/fwd.hh | 1 - include/hpp/manipulation/graph/graph.hh | 46 +++++++++++++++++++++++++ include/hpp/manipulation/graph/node.hh | 1 + 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 include/hpp/manipulation/graph/graph.hh diff --git a/include/hpp/manipulation/graph/fwd.hh b/include/hpp/manipulation/graph/fwd.hh index 73b398b5..f53672c6 100644 --- a/include/hpp/manipulation/graph/fwd.hh +++ b/include/hpp/manipulation/graph/fwd.hh @@ -18,7 +18,6 @@ # define HPP_MANIPULATION_GRAPH_FWD_HH #include <hpp/util/pointer.hh> -#include <hpp/util/config.h> namespace hpp { namespace manipulation { diff --git a/include/hpp/manipulation/graph/graph.hh b/include/hpp/manipulation/graph/graph.hh new file mode 100644 index 00000000..5ff9e4a1 --- /dev/null +++ b/include/hpp/manipulation/graph/graph.hh @@ -0,0 +1,46 @@ +// Copyright (c) 2014, LAAS-CNRS +// Authors: Joseph Mirabel (joseph.mirabel@laas.fr) +// +// This file is part of hpp-manipulation. +// hpp-manipulation is free software: you can redistribute it +// and/or modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation, either version +// 3 of the License, or (at your option) any later version. +// +// hpp-manipulation is distributed in the hope that it will be +// useful, but WITHOUT ANY WARRANTY; without even the implied warranty +// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// General Lesser Public License for more details. You should have +// received a copy of the GNU Lesser General Public License along with +// hpp-manipulation. If not, see <http://www.gnu.org/licenses/>. + + +#ifndef HPP_MANIPULATION_GRAPHGRAPH_HH +# define HPP_MANIPULATION_GRAPHGRAPH_HH + +#include "hpp/manipulation/fwd.hh" +#include "hpp/manipulation/graph/fwd.hh" + +namespace hpp { + namespace manipulation { + namespace graph { + /// Description of the constraint graph + /// This class contains a graph representing a robot with several + /// end-effectors. + class HPP_MANIPULATION_DLLAPI Graph + { + public: + + private: + /// This list contains a node selector for each end-effector. + set::list < NodeSelectorPtr_t > nodeSelectors_; + + /// A set of constraints that will always be used, for example + /// stability constraints. + ConstraintSetPtr_t constraints_; + } + } // namespace graph + } // namespace manipulation +} // namespace hpp + +#endif // HPP_MANIPULATION_GRAPHGRAPH_HH diff --git a/include/hpp/manipulation/graph/node.hh b/include/hpp/manipulation/graph/node.hh index 08880ef4..9e9a0fcc 100644 --- a/include/hpp/manipulation/graph/node.hh +++ b/include/hpp/manipulation/graph/node.hh @@ -20,6 +20,7 @@ #include <hpp/core/constraints-set.hh> #include "hpp/manipulation/fwd.hh" +#include "hpp/manipulation/graph/fwd.hh" namespace hpp { namespace manipulation { -- GitLab