From e49094e87ea9a972df8558e0f06a096e92bc155a Mon Sep 17 00:00:00 2001 From: Florent Lamiraux <florent@laas.fr> Date: Wed, 3 Feb 2016 17:17:50 +0100 Subject: [PATCH] Start documentation using doxygen. --- doc/Doxyfile.extra.in | 2 +- doc/additionalDoc/crtp.hh | 26 ++++++++++++++++ doc/additionalDoc/loading.hh | 52 +++++++++++++++++++++++++++++++ doc/additionalDoc/package.hh | 60 +++++++++++++++++++++++------------- 4 files changed, 118 insertions(+), 22 deletions(-) create mode 100644 doc/additionalDoc/crtp.hh create mode 100644 doc/additionalDoc/loading.hh diff --git a/doc/Doxyfile.extra.in b/doc/Doxyfile.extra.in index 733ef2e24..a67a7c4b0 100644 --- a/doc/Doxyfile.extra.in +++ b/doc/Doxyfile.extra.in @@ -2,6 +2,6 @@ INPUT = @CMAKE_SOURCE_DIR@/src \ @CMAKE_SOURCE_DIR@/doc/additionalDoc IMAGE_PATH = @CMAKE_SOURCE_DIR@/doc/pictures -FILE_PATTERNS = *.cc *.cpp *.h *.hpp *.hxx +FILE_PATTERNS = *.cc *.cpp *.h *.hpp *.hxx *.hh TAGFILES = \ diff --git a/doc/additionalDoc/crtp.hh b/doc/additionalDoc/crtp.hh new file mode 100644 index 000000000..f783c0ebf --- /dev/null +++ b/doc/additionalDoc/crtp.hh @@ -0,0 +1,26 @@ +// +// Copyright (c) 2016 CNRS +// Author: Florent Lamiraux +// +// This file is part of Pinocchio +// Pinocchio 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. +// +// Pinocchio 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 +// Pinocchio If not, see +// <http://www.gnu.org/licenses/>. + +/** \page pinocchio_page_crtp Curiously recurring template pattern + +Pinocchio library makes intensive use of the so called CRTP desing +pattern. This patterns is used for performance reasons in the +implementation of static polymorphism. + +\sa https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern + */ diff --git a/doc/additionalDoc/loading.hh b/doc/additionalDoc/loading.hh new file mode 100644 index 000000000..bd3ac73a8 --- /dev/null +++ b/doc/additionalDoc/loading.hh @@ -0,0 +1,52 @@ +// +// Copyright (c) 2016 CNRS +// Author: Florent Lamiraux +// +// This file is part of Pinocchio +// Pinocchio 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. +// +// Pinocchio 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 +// Pinocchio If not, see +// <http://www.gnu.org/licenses/>. + +/** \page pinocchio_page_loading Loading a model + +\section pinocchio_page_loading_introduction Introduction + +The most convenient way to build a robot model consists in parsing a description +file. + +\section pinocchio_page_loading_supported_formats Supported formats + +Two format are supported. + +\subsection pinocchio_page_loading_urdf Format urdf + +To load an urdf file in C++ code, copy the following lines: +\code +#include <pinocchio/multibody/model.hpp> +#include <pinocchio/multibody/parser/urdf.hpp> +#include <pinocchio/multibody/parser/utils.hpp> +bool verbose = false; +se3::Model model = se3::urdf::buildModel (filename, verbose); +\endcode + +\subsection pinocchio_page_loading_lua Format lua + +To load an lua file in C++ code, copy the following lines: +\code +#include <pinocchio/multibody/model.hpp> +#include <pinocchio/multibody/parser/lua.hpp> +#include <pinocchio/multibody/parser/utils.hpp> +bool verbose = false; +se3::Model model = se3::lua::buildModel (filename, false, verbose); +\endcode + + */ diff --git a/doc/additionalDoc/package.hh b/doc/additionalDoc/package.hh index 2ce3915d1..57fac3677 100644 --- a/doc/additionalDoc/package.hh +++ b/doc/additionalDoc/package.hh @@ -1,26 +1,44 @@ -/* - * Copyright 2010, - * François Bleibel, - * Olivier Stasse, - * - * CNRS/AIST - * - * This file is part of sot-dynamic. - * sot-dynamic 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. - * sot-dynamic 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 Lesser General Public License for more details. You should - * have received a copy of the GNU Lesser General Public License along - * with sot-dynamic. If not, see <http://www.gnu.org/licenses/>. - */ +// +// Copyright (c) 2016 CNRS +// Author: Florent Lamiraux +// +// This file is part of Pinocchio +// Pinocchio 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. +// +// Pinocchio 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 +// Pinocchio If not, see +// <http://www.gnu.org/licenses/>. /** \mainpage -\section soth_section_introduction Introduction +\section pinocchio_section_introduction Introduction -The soth package is ... +This package implements efficient forward kinematics algorithms for multi-body +kinematic chains. One of the main features is the separation between models (constant values representing an object) and data (used for intermediate computations). +The main classes are +\li se3::Model that represents a kinematic chain composed of joints that move + links with mass and inertia, +\li se3::Data that stores intermediate data for kinematic computations. + +\section pinocchio_section_kinematics Kinematics + +The library provides some classes to represent kinematic objects: +\li se3::SE3Tpl represents a rigid-body transformation. + +\section pinocchio_section_collision_checking Collision Checking + +Collision checking between bodies of the kinematic chain and external +obstacles is implemented using library hpp-fcl (a modified version of +Flexible Collision Library). The computation of the position of objects in 3D +space for a given configuration is performed by the following classes: +\li se3::GeometryModel that represents a kinematic chain moving objects, +\li se3::GeometryData that stores intermediate data like the position of objects +in a given configuration of the kinematic chain. **/ -- GitLab