diff --git a/doc/additionalDoc/Chapters/creating-models.dox b/doc/Chapters/creating-models.md similarity index 84% rename from doc/additionalDoc/Chapters/creating-models.dox rename to doc/Chapters/creating-models.md index 5b95a979a68d1973041a14199d64bb8f7c45fff1..1d82bda9378006169f167b84e8ed53d1c8df3b58 100644 --- a/doc/additionalDoc/Chapters/creating-models.dox +++ b/doc/Chapters/creating-models.md @@ -1,3 +1,5 @@ +# Creating models +<!-- // // Copyright (c) 2016 CNRS // Author: Florent Lamiraux, Justin Carpentier, Florian Valenza @@ -15,26 +17,22 @@ // received a copy of the GNU Lesser General Public License along with // Pinocchio If not, see // <http://www.gnu.org/licenses/>. - -namespace pinocchio -{ - -/** \page Chapters_CreatingModels Creating models +--> Here you can find the differents ways to create a model ( simple models, python/lua/urdf loading, Joint after Joint) -\section Chapters_CreatingModels_introduction Introduction +## Introduction In Pinocchio you can create Models in many ways. We have built-in parsers for different kind of format ( urdf, python, Lua) but you can also create a Model from scratch and fill it with the Joints you want. -\section Chapters_CreatingModels_supported_formats Supported formats +## Supported formats -\subsection Chapters_CreatingModels_urdf Format 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> @@ -45,24 +43,24 @@ const std::string filename = "path/to/file/model.urdf"; se3::JointModelFreeflyer rootJoint; se3::Model model = se3::urdf::buildModel (filename, rootJoint, verbose); se3::Data data (model); -\endcode +``` -\subsection Chapters_CreatingModels_Python Format Python +### Format Python To load a python file in C++ code, copy the following lines: -\code +``` #include <pinocchio/multibody/model.hpp> #include <pinocchio/multibody/parser/python.hpp> #include <pinocchio/multibody/parser/utils.hpp> #include <pinocchio/multibody/joint.hpp> //put here code to load from python -\endcode +``` -\subsection Chapters_CreatingModels_lua Format 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> @@ -72,7 +70,4 @@ bool freeflyer = true; const std::string filename = "path/to/file/model.lua"; se3::Model model = se3::lua::buildModel (filename, freeflyer); se3::Data data (model); -\endcode - -*/ -} \ No newline at end of file +``` diff --git a/doc/additionalDoc/Chapters/crtp.dox b/doc/Chapters/crtp.md similarity index 94% rename from doc/additionalDoc/Chapters/crtp.dox rename to doc/Chapters/crtp.md index 4025fb9e3689337bce6883bfdc738e9aaaec20db..669cd8b6f996c65589d53b7200f0a0010f1a2724 100644 --- a/doc/additionalDoc/Chapters/crtp.dox +++ b/doc/Chapters/crtp.md @@ -1,4 +1,5 @@ -// +# Curiously recurring template pattern +<!-- // Copyright (c) 2016 CNRS // Author: Florent Lamiraux, Justin Carpentier, Florian Valenza // @@ -15,8 +16,7 @@ // received a copy of the GNU Lesser General Public License along with // Pinocchio If not, see // <http://www.gnu.org/licenses/>. - -/** \page Chapters_crtp Curiously recurring template pattern +--> Similarly to Eigen, Pinocchio library makes intensive use of the so called CRTP design pattern. This pattern is used for performance reasons in the @@ -24,4 +24,3 @@ implementation of static polymorphism, avoiding dynamic casts and calls to virtu All in all, CRTP plays a central role in the performance of Pinocchio. We refer to https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern for further explanations. - */ diff --git a/doc/Doxyfile.extra.in b/doc/Doxyfile.extra.in index f58d83027b03c503d8af6e511cd34a86755c9708..78c18b7aebdaa058fc91acee832ffa09141e0124 100644 --- a/doc/Doxyfile.extra.in +++ b/doc/Doxyfile.extra.in @@ -308,7 +308,7 @@ RECURSIVE = YES # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 -FILE_PATTERNS = *.cc *.cpp *.h *.hpp *.hxx *.hh *.dox +FILE_PATTERNS = *.cc *.cpp *.h *.hpp *.hxx *.hh *.dox *.md # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude diff --git a/doc/Overview.dox b/doc/Overview.md similarity index 51% rename from doc/Overview.dox rename to doc/Overview.md index 493c68259088d23351ceef5f1b3aa2c8cd43db4e..a53e466ae98320de03304e85f1efbc34f6d77125 100644 --- a/doc/Overview.dox +++ b/doc/Overview.md @@ -1,6 +1,8 @@ +# Overview {#index} +<!-- // -// Copyright (c) 2016 CNRS -// Author: Florent Lamiraux, Justin Carpentier +// Copyright (c) 2016, 2018 CNRS +// Author: Florent Lamiraux, Justin Carpentier, Guilhem Saurel // // This file is part of Pinocchio // Pinocchio is free software: you can redistribute it @@ -15,48 +17,40 @@ // received a copy of the GNU Lesser General Public License along with // Pinocchio If not, see // <http://www.gnu.org/licenses/>. +--> -namespace pinocchio { - -/** \mainpage Overview This is the documentation of Pinocchio, the Eigen-like library for Rigid Body Dynamics computations. This library implements highly efficient kinematic and dynamic algorithms for multi-body systems making Pinocchio a versatile framework for robotics applications. -\section pinocchio_section_installation Installation +## Installation The full installation procedure can be found at https://github.com/stack-of-tasks/pinocchio/wiki/Installation. For further details about the project, please visit the GitHub page: -https://github.com/stack-of-tasks/pinocchio +https://github.com/stack-of-tasks/pinocchio -\section pinocchio_section_introduction Introduction +## Introduction One of the main features is the separation between models (constant values representing an object) and data (used for intermediate computations). The two 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 and dynamic computations. +- se3::Model that represents a kinematic chain composed of joints that move links with mass and inertia, +- se3::Data that stores intermediate data for kinematic and dynamic computations. -\section pinocchio_section_spatial_algebra Spatial Algebra +## Spatial Algebra The library provides some classes to represent spatial quantities at the root of kinematic and dynamic computations. This main classes are reported below: -\li se3::SE3Tpl represents a rigid placement, a mathematical representation of \f$ SE(3) \f$. -\li se3::MotionTpl represents a spatial motion (linear and angular velocities), e.g. a spatial velocity or acceleration associated to a frame or a body. The spatial motion is the mathematical representation of \f$ se(3) \f$. -\li se3::ForceTpl represents a spatial force, e.g. a spatial impulse or force associated to a body. The spatial force is the mathematical representation of \f$ se^{*}(3) \f$, the dual of \f$ se(3) \f$. -\li se3::InertiaTpl represents a spatial inertia characterizing a rigid body and expressed in a given frame. This inertia is composed of mass, the position of the center of mass regarding to the frame and a rotational inertia. +- se3::SE3Tpl represents a rigid placement, a mathematical representation of \f$ SE(3) \f$. +- se3::MotionTpl represents a spatial motion (linear and angular velocities), e.g. a spatial velocity or acceleration associated to a frame or a body. The spatial motion is the mathematical representation of \f$ se(3) \f$. +- se3::ForceTpl represents a spatial force, e.g. a spatial impulse or force associated to a body. The spatial force is the mathematical representation of \f$ se^{*}(3) \f$, the dual of \f$ se(3) \f$. +- se3::InertiaTpl represents a spatial inertia characterizing a rigid body and expressed in a given frame. This inertia is composed of mass, the position of the center of mass regarding to the frame and a rotational inertia. -\section pinocchio_section_algos Main Algorithms +## Main Algorithms -\section pinocchio_section_collision_checking Collision checking and distance computation +## Collision checking and distance computation Collision checking between two 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 the collision objects associated to a joint stored in a se3::Model, -\li se3::GeometryData that stores intermediate data like the position of objects -in a given configuration of the kinematic chain. - -*/ - -} +- se3::GeometryModel that represents the collision objects associated to a joint stored in a se3::Model, +- se3::GeometryData that stores intermediate data like the position of objects in a given configuration of the kinematic chain. diff --git a/doc/additionalDoc/Chapters/data-driven-algorithms.dox b/doc/additionalDoc/Chapters/data-driven-algorithms.dox deleted file mode 100644 index 21ad105300fe1f80d7d1dae63e94ba5fd031f240..0000000000000000000000000000000000000000 --- a/doc/additionalDoc/Chapters/data-driven-algorithms.dox +++ /dev/null @@ -1,27 +0,0 @@ -// -// Copyright (c) 2016 CNRS -// Author: Florian Valenza -// -// 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/>. - -namespace pinocchio -{ - -/** \page Chapters_DataDrivenAlgorithms Data Driven Algorithms - -Here you can find informations about how information is stored in PInocchio and how algorithms workd - -*/ -} \ No newline at end of file diff --git a/doc/additionalDoc/Chapters/dynamic-algorithms.dox b/doc/additionalDoc/Chapters/dynamic-algorithms.dox deleted file mode 100644 index 8a0dfe6da6bacaed1c3257773550ae015e87d2e7..0000000000000000000000000000000000000000 --- a/doc/additionalDoc/Chapters/dynamic-algorithms.dox +++ /dev/null @@ -1,27 +0,0 @@ -// -// Copyright (c) 2016 CNRS -// Author: Florian Valenza -// -// 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/>. - -namespace pinocchio -{ - -/** \page Chapters_DynamicAlgorithms Dynamic Algorithms - -Here you can find informations about dynamic algorithms - -*/ -} \ No newline at end of file diff --git a/doc/additionalDoc/Chapters/fcl-geometries.dox b/doc/additionalDoc/Chapters/fcl-geometries.dox deleted file mode 100644 index c7f0541de116a2949e14790a081cf4ab730c1c43..0000000000000000000000000000000000000000 --- a/doc/additionalDoc/Chapters/fcl-geometries.dox +++ /dev/null @@ -1,27 +0,0 @@ -// -// Copyright (c) 2016 CNRS -// Author: Florian Valenza -// -// 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/>. - -namespace pinocchio -{ - -/** \page Chapters_FclGeometries Geometry - -Here you can find informations about how geometries are stored ( index of parent ) and used via FCL - -*/ -} \ No newline at end of file diff --git a/doc/additionalDoc/Chapters/modeling-rigid-body.dox b/doc/additionalDoc/Chapters/modeling-rigid-body.dox deleted file mode 100644 index 47af9ef5c4d1cb6c361eb2fb066cf70706519379..0000000000000000000000000000000000000000 --- a/doc/additionalDoc/Chapters/modeling-rigid-body.dox +++ /dev/null @@ -1,27 +0,0 @@ -// -// Copyright (c) 2016 CNRS -// Author: Florian Valenza -// -// 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/>. - -namespace pinocchio -{ - -/** \page Chapters_RigidBodyDynamicModel Modeling rigid bodies - -Here you can find informations related to how pinocchio models a rigid multi body model. (ie Joints augmented by inertias) - -*/ -} \ No newline at end of file diff --git a/doc/additionalDoc/Chapters/python-bindings.dox b/doc/additionalDoc/Chapters/python-bindings.dox deleted file mode 100644 index 3df4bbba68d2fa7253d7e5dc6b064f40edbbba68..0000000000000000000000000000000000000000 --- a/doc/additionalDoc/Chapters/python-bindings.dox +++ /dev/null @@ -1,27 +0,0 @@ -// -// Copyright (c) 2016 CNRS -// Author: Florian Valenza -// -// 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/>. - -namespace pinocchio -{ - -/** \page Chapters_PythonBindings Python Bindings - -Here you can find explications concerning python bindings and calls to C++ methods + RobotWrapper Class - -*/ -} \ No newline at end of file diff --git a/doc/additionalDoc/Chapters/spatial-algebra.dox b/doc/additionalDoc/Chapters/spatial-algebra.dox deleted file mode 100644 index e42fc2eabe4d44c93e4f9790eac00b3d80fc560c..0000000000000000000000000000000000000000 --- a/doc/additionalDoc/Chapters/spatial-algebra.dox +++ /dev/null @@ -1,27 +0,0 @@ -// -// Copyright (c) 2016 CNRS -// Author: Florian Valenza -// -// 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/>. - -namespace pinocchio -{ - -/** \page Chapters_SpatialAlgebra Spatial Algebra - -Here you can find informations related to Roy FeatherStone's book Rigid Body Dynamic Algorithms and spatial algebra - -*/ -} \ No newline at end of file diff --git a/doc/treeview.dox b/doc/treeview.dox index 607fe709db2ed7ba3bdd043954a353661357b68b..f9767c8d2cd935b2aa426bc091a2d63016d28747 100644 --- a/doc/treeview.dox +++ b/doc/treeview.dox @@ -28,14 +28,8 @@ namespace pinocchio { // /** \page Chapters Chapters - - \subpage Chapters_SpatialAlgebra - - \subpage Chapters_RigidBodyDynamicModel - - \subpage Chapters_DynamicAlgorithms - - \subpage Chapters_DataDrivenAlgorithms - - \subpage Chapters_FclGeometries - - \subpage Chapters_CreatingModels - - \subpage Chapters_PythonBindings - - \subpage Chapters_crtp + - \subpage md_doc_Chapters_creating-models + - \subpage md_doc_Chapters_crtp */ //