diff --git a/doc/Doxyfile.extra.in b/doc/Doxyfile.extra.in index 733ef2e24209ec5b24b9b6d59a4de4106805ccbf..a67a7c4b0db9849793c1e44d2dbea72ff9a6bef1 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 0000000000000000000000000000000000000000..f783c0ebff3ad8d5e4e5a71266841da300ea43ef --- /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 0000000000000000000000000000000000000000..bd3ac73a8270cfb68ed58a8ac1b7fdbc8cdbe4c8 --- /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 2ce3915d1857ce660f704ab0e3bd2a636e8930aa..57fac3677775c12125497e5ae117679131704962 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. **/