Commit bba5cc14 authored by Mohcine Chraibi's avatar Mohcine Chraibi

Doxygen documentation

- sort a bit in modules
parent 98bd1c33
# JPScore # JPScore
[![Build Status](https://gitlab.version.fz-juelich.de/jupedsim/jpscore/badges/develop/build.svg)](https://gitlab.version.fz-juelich.de/JuPedSim/jpscore/pipelines)[![codecov.io](https://codecov.io/github/JuPedSim/jpscore/coverage.svg?branch=develop)](https://codecov.io/github/JuPedSim/jpscore?branch=develop)[![GitHub license](https://img.shields.io/badge/license-GPL-blue.svg)](https://raw.githubusercontent.com/JuPedSim/jpscore/master/LICENSE) [![Build Status](https://gitlab.version.fz-juelich.de/jupedsim/jpscore/badges/develop/build.svg)](https://gitlab.version.fz-juelich.de/JuPedSim/jpscore/pipelines)
[![GitHub license](https://img.shields.io/badge/license-GPL-blue.svg)](https://raw.githubusercontent.com/JuPedSim/jpscore/master/LICENSE)
[![DOI](https://zenodo.org/badge/36440436.svg)](https://zenodo.org/badge/latestdoi/36440436) [![DOI](https://zenodo.org/badge/36440436.svg)](https://zenodo.org/badge/latestdoi/36440436)
The core module for performing the simulation (i.e. computing the trajectories). See the [online documentation](http://jupedsim.org/jpscore/) The core module for performing the simulation (i.e. computing the trajectories). See the [online documentation](http://jupedsim.org/jpscore/)
...@@ -12,7 +13,7 @@ The core module for performing the simulation (i.e. computing the trajectories). ...@@ -12,7 +13,7 @@ The core module for performing the simulation (i.e. computing the trajectories).
So, get the code from Gitlab and the releases from GitHub. :-) So, get the code from Gitlab and the releases from GitHub. :-)
## Configuration ## Quick start
See [installation and configuration](http://jupedsim.org/jpscore/2016-11-02-quickstart.html) See [installation and configuration](http://jupedsim.org/jpscore/2016-11-02-quickstart.html)
......
This diff is collapsed.
This diff is collapsed.
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
<!--BEGIN GENERATE_TREEVIEW-->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
$navpath
<li class="footer">$generatedby
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="$relpath^doxygen.png" alt="doxygen"/></a> $doxygenversion </li>
</ul>
</div>
<!--END GENERATE_TREEVIEW-->
</div>
</div>
</div>
</div>
</div>
<!--BEGIN !GENERATE_TREEVIEW-->
<hr class="footer"/><address class="footer"><small>
$generatedby &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="$relpath^doxygen.png" alt="doxygen"/>
</a> $doxygenversion
</small></address>
<!--END !GENERATE_TREEVIEW-->
</body>
</html>
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen $doxygenversion"/>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
<!--<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>-->
<script type="text/javascript" src="$relpath^dynsections.js"></script>
$treeview
$search
$mathjax
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
$extrastylesheet
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="$relpath^doxy-boot.js"></script>
</head>
<body>
<nav class="navbar navbar-default" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand">$projectname $projectnumber</a>
</div>
</div>
</nav>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div class="content" id="content">
<div class="container">
<div class="row">
<div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
<div style="margin-bottom: 15px;">
<!-- end header part -->
$( document ).ready(function() {
$("div.headertitle").addClass("page-header");
$("div.title").addClass("h1");
$('li > a[href="index.html"] > span').before("<i class='fa fa-cog'></i> ");
$('li > a[href="index.html"] > span').text("JuPedSim");
$('li > a[href="modules.html"] > span').before("<i class='fa fa-square'></i> ");
$('li > a[href="namespaces.html"] > span').before("<i class='fa fa-bars'></i> ");
$('li > a[href="annotated.html"] > span').before("<i class='fa fa-list-ul'></i> ");
$('li > a[href="classes.html"] > span').before("<i class='fa fa-book'></i> ");
$('li > a[href="inherits.html"] > span').before("<i class='fa fa-sitemap'></i> ");
$('li > a[href="functions.html"] > span').before("<i class='fa fa-list'></i> ");
$('li > a[href="functions_func.html"] > span').before("<i class='fa fa-list'></i> ");
$('li > a[href="functions_vars.html"] > span').before("<i class='fa fa-list'></i> ");
$('li > a[href="functions_enum.html"] > span').before("<i class='fa fa-list'></i> ");
$('li > a[href="functions_eval.html"] > span').before("<i class='fa fa-list'></i> ");
$('img[src="ftv2ns.png"]').replaceWith('<span class="label label-danger">N</span> ');
$('img[src="ftv2cl.png"]').replaceWith('<span class="label label-danger">C</span> ');
$("ul.tablist").addClass("nav nav-pills nav-justified");
$("ul.tablist").css("margin-top", "0.5em");
$("ul.tablist").css("margin-bottom", "0.5em");
$("li.current").addClass("active");
$("iframe").attr("scrolling", "yes");
$("#nav-path > ul").addClass("breadcrumb");
$("table.params").addClass("table");
$("div.ingroups").wrapInner("<small></small>");
$("div.levels").css("margin", "0.5em");
$("div.levels > span").addClass("btn btn-default btn-xs");
$("div.levels > span").css("margin-right", "0.25em");
$("table.directory").addClass("table table-striped");
$("div.summary > a").addClass("btn btn-default btn-xs");
$("table.fieldtable").addClass("table");
$(".fragment").addClass("well");
$(".memitem").addClass("panel panel-default");
$(".memproto").addClass("panel-heading");
$(".memdoc").addClass("panel-body");
$("span.mlabel").addClass("label label-info");
$("table.memberdecls").addClass("table");
$("[class^=memitem]").addClass("active");
$("div.ah").addClass("btn btn-default");
$("span.mlabels").addClass("pull-right");
$("table.mlabels").css("width", "100%")
$("td.mlabels-right").addClass("pull-right");
$("div.ttc").addClass("panel panel-primary");
$("div.ttname").addClass("panel-heading");
$("div.ttname a").css("color", 'white');
$("div.ttdef,div.ttdoc,div.ttdeci").addClass("panel-body");
$('#MSearchBox').parent().remove();
$('div.fragment.well div.line:first').css('margin-top', '15px');
$('div.fragment.well div.line:last').css('margin-bottom', '15px');
$('table.doxtable').removeClass('doxtable').addClass('table table-striped table-bordered').each(function(){
$(this).prepend('<thead></thead>');
$(this).find('tbody > tr:first').prependTo($(this).find('thead'));
$(this).find('td > span.success').parent().addClass('success');
$(this).find('td > span.warning').parent().addClass('warning');
$(this).find('td > span.danger').parent().addClass('danger');
});
if($('div.fragment.well div.ttc').length > 0)
{
$('div.fragment.well div.line:first').parent().removeClass('fragment well');
}
$('table.memberdecls').find('.memItemRight').each(function(){
$(this).contents().appendTo($(this).siblings('.memItemLeft'));
$(this).siblings('.memItemLeft').attr('align', 'left');
});
function getOriginalWidthOfImg(img_element) {
var t = new Image();
t.src = (img_element.getAttribute ? img_element.getAttribute("src") : false) || img_element.src;
return t.width;
}
$('div.dyncontent').find('img').each(function(){
if(getOriginalWidthOfImg($(this)[0]) > $('#content>div.container').width())
$(this).css('width', '100%');
});
$(".memitem").removeClass('memitem');
$(".memproto").removeClass('memproto');
$(".memdoc").removeClass('memdoc');
$("span.mlabel").removeClass('mlabel');
$("table.memberdecls").removeClass('memberdecls');
$("[class^=memitem]").removeClass('memitem');
$("span.mlabels").removeClass('mlabels');
$("table.mlabels").removeClass('mlabels');
$("td.mlabels-right").removeClass('mlabels-right');
$(".navpath").removeClass('navpath');
$("li.navelem").removeClass('navelem');
$("a.el").removeClass('el');
$("div.ah").removeClass('ah');
$("div.header").removeClass("header");
$('.mdescLeft').each(function(){
if($(this).html()=="&nbsp;") {
$(this).siblings('.mdescRight').attr('colspan', 2);
$(this).remove();
}
});
$('td.memItemLeft').each(function(){
if($(this).siblings('.memItemRight').html()=="") {
$(this).attr('colspan', 2);
$(this).siblings('.memItemRight').remove();
}
});
});
...@@ -252,27 +252,35 @@ public: ...@@ -252,27 +252,35 @@ public:
private: private:
void StringExplode(std::string str, std::string separator, std::vector<std::string>* results); void StringExplode(std::string str, std::string separator, std::vector<std::string>* results);
/** @defgroup auto-correct-geometry
* functions used to auto-correct the geometry.
* Main function is correct()
* @{
*/
/** /**
* \ingroup
* Correct geometries by deleting "big" walls * Correct geometries by deleting "big" walls
* In a subroom, "big" refers to a wall that intersects with other walls in the same subroom in a point, * In a subroom, "big" refers to a wall that intersects with other walls in the same subroom in a point,
* which does not coincide with one of the end points. * which does not coincide with one of the end points.
* For example: * For example:
* C *
*```
* C
* A x------------------------o-----------------x B * A x------------------------o-----------------x B
* ^ | * ^ |
* wall1 | * wall1 |
* | <--- wall2 * | <--- wall2
* o * o
a * D * D
* Here wall [AB] is a big wall, then it intersects wall [CD] whether in A nor in B *```
* Here wall `[AB]` is a big wall, then it intersects wall `[CD]` whether in A nor in B
* What happens in this method: * What happens in this method:
* 1. [AB] will be splited in two lines [AC] and [CB] * 1. `[AB]` will be splited in two lines `[AC]` and `[CB]`
* 2. [AB] will be removed * 2. `[AB]` will be removed
* 3. [AC] or [CB] will be added to the subroom * 3. `[AC]` or `[CB]` will be added to the subroom
* *
* *
* @TODO: What happens if the line is "really" big? Here we should call the function in a recursive way.. * @todo What happens if the line is _really_ big? Here we should call the function in a recursive way..
*
*/ */
bool correct() const; bool correct() const;
/** /**
...@@ -283,12 +291,13 @@ a * D ...@@ -283,12 +291,13 @@ a * D
* *
* Assumption: We assume one of the new lines needs to be added. * Assumption: We assume one of the new lines needs to be added.
* *
* @todo: Is there a case where none should be chosen? * @todo Is there a case where none should be chosen?
* @todo: Or more than one wall *can* be choosen? * @todo Or more than one wall *can* be choosen?
* *
* @param subroom: subroom where new wall shoud be added to * @param subroom: subroom where new wall shoud be added to
* @param WallPieces: vector of candidates. One of these walls is going to * @param WallPieces: vector of candidates. One of these walls is going to
* be added to subroom * be added to subroom
*
*/ */
bool AddWallToSubroom( bool AddWallToSubroom(
const std::shared_ptr<SubRoom> & subroom, const std::shared_ptr<SubRoom> & subroom,
...@@ -333,6 +342,7 @@ a * D ...@@ -333,6 +342,7 @@ a * D
*/ */
bool RemoveOverlappingDoors( bool RemoveOverlappingDoors(
const std::shared_ptr<SubRoom>& subroom) const; const std::shared_ptr<SubRoom>& subroom) const;
/** @} */ // end of group
}; };
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
* \date Apr 15, 2014 * \date Apr 15, 2014
* \version v0.7 * \version v0.7
* \copyright <2009-2015> Forschungszentrum Jülich GmbH. All rights reserved. * \copyright <2009-2015> Forschungszentrum Jülich GmbH. All rights reserved.
* \ingroup OperationalModels
* *
* \section License * \section License
* This file is part of JuPedSim. * This file is part of JuPedSim.
...@@ -21,10 +22,7 @@ ...@@ -21,10 +22,7 @@
* along with JuPedSim. If not, see <http://www.gnu.org/licenses/>. * along with JuPedSim. If not, see <http://www.gnu.org/licenses/>.
* *
* \section Description * \section Description
* Implementation of classes for force-based models. * Implementation of classes for Generalized Centrifugal Force Model
* Actually we've got two different models:
* 1. Generalized Centrifugal Force Model
*
* *
**/ **/
...@@ -43,7 +41,15 @@ ...@@ -43,7 +41,15 @@
class Pedestrian; class Pedestrian;
class DirectionStrategy; class DirectionStrategy;
/*!
* \class GCFMModel
*
* \brief @todo
*
*\ingroup OperationalModels
*
* \author Mohcine Chraibi
*/
class GCFMModel : public OperationalModel class GCFMModel : public OperationalModel
{ {
public: public:
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
* \date Apr 15, 2014 * \date Apr 15, 2014
* \version v0.7 * \version v0.7
* \copyright <2009-2015> Forschungszentrum Jülich GmbH. All rights reserved. * \copyright <2009-2015> Forschungszentrum Jülich GmbH. All rights reserved.
* \ingroup OperationalModels
* *
* \section License * \section License
* This file is part of JuPedSim. * This file is part of JuPedSim.
...@@ -21,10 +22,7 @@ ...@@ -21,10 +22,7 @@
* along with JuPedSim. If not, see <http://www.gnu.org/licenses/>. * along with JuPedSim. If not, see <http://www.gnu.org/licenses/>.
* *
* \section Description * \section Description
* Implementation of classes for force-based models. * Implementation of classes for Gompertz Model
* Actually we've got two different models:
* 2. Gompertz Model
*
* *
**/ **/
...@@ -42,7 +40,15 @@ ...@@ -42,7 +40,15 @@
class Pedestrian; class Pedestrian;
class DirectionStrategy; class DirectionStrategy;
/*!
* \class GompertzModel
*
* \brief @todo
*
*\ingroup OperationalModels
*
* \author Mohcine Chraibi
*/
class GompertzModel : public OperationalModel { class GompertzModel : public OperationalModel {
private: private:
......
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
* \version v0.5 * \version v0.5
* \copyright <2009-2014> Forschungszentrum J�lich GmbH. All rights reserved. * \copyright <2009-2014> Forschungszentrum J�lich GmbH. All rights reserved.
* *
* \ingroup OperationalModels
*
* \section License * \section License
* This file is part of JuPedSim. * This file is part of JuPedSim.
* *
...@@ -42,6 +44,15 @@ class Pedestrian; ...@@ -42,6 +44,15 @@ class Pedestrian;
class DirectionStrategy; class DirectionStrategy;
/*!
* \class GradientModel
*
* \brief @todo
*
*\ingroup OperationalModels
*
* \author Arne graf
*/
class GradientModel : public OperationalModel { class GradientModel : public OperationalModel {
private: private:
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
* \date Jul 19, 2016 * \date Jul 19, 2016
* \version v0.7 * \version v0.7
* \copyright <2009-2015> Forschungszentrum Jülich GmbH. All rights reserved. * \copyright <2009-2015> Forschungszentrum Jülich GmbH. All rights reserved.
* \ingroup OperationalModels
* *
* \section License * \section License
* This file is part of JuPedSim. * This file is part of JuPedSim.
...@@ -21,10 +22,7 @@ ...@@ -21,10 +22,7 @@
* along with JuPedSim. If not, see <http://www.gnu.org/licenses/>. * along with JuPedSim. If not, see <http://www.gnu.org/licenses/>.
* *
* \section Description * \section Description
* Implementation of classes for force-based models. * Implementation of classes for force-based models.*
* Actually we've got two different models:
* 1. Generalized Centrifugal Force Model
*
* *
**/ **/
...@@ -44,6 +42,15 @@ class Pedestrian; ...@@ -44,6 +42,15 @@ class Pedestrian;
class DirectionStrategy; class DirectionStrategy;
/*!
* \class KrauszModel
*
* \brief @todo
*
*\ingroup OperationalModels
*
* \author Carlos
*/
class KrauszModel : public OperationalModel class KrauszModel : public OperationalModel
{ {
public: public:
......
...@@ -28,6 +28,14 @@ ...@@ -28,6 +28,14 @@
* *
**/ **/
/** @defgroup OperationalModels
* Collection of different operational models
* [documentation](http://www.jupedsim.org/jpscore/2016-11-01-operativ)
* @{
*/
/** @} */ // end of group
#ifndef OPERATIONALMODEL_H_ #ifndef OPERATIONALMODEL_H_
#define OPERATIONALMODEL_H_ #define OPERATIONALMODEL_H_
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
* \date Apr 15, 2014 * \date Apr 15, 2014
* \version v0.8 * \version v0.8
* \copyright <2009-2015> Forschungszentrum Jülich GmbH. All rights reserved. * \copyright <2009-2015> Forschungszentrum Jülich GmbH. All rights reserved.
* \ingroup OperationalModels
* *
* \section License * \section License
* This file is part of JuPedSim. * This file is part of JuPedSim.
...@@ -43,8 +44,8 @@ struct sort_pred ...@@ -43,8 +44,8 @@ struct sort_pred
{ {
bool operator () (const my_pair& left, const my_pair& right) bool operator () (const my_pair& left, const my_pair& right)
{ {
return (left.first == right.first) ? return (left.first == right.first) ?
(left.second > right.second) : (left.second > right.second) :
(left.first < right.first); (left.first < right.first);
} }
}; };
...@@ -54,7 +55,15 @@ struct sort_pred ...@@ -54,7 +55,15 @@ struct sort_pred
class Pedestrian; class Pedestrian;
class DirectionStrategy; class DirectionStrategy;
/*!
* \class VelocityModel
*
* \brief @todo
*
*\ingroup OperationalModels
*
* \author Mohcine Chraibi
*/
class VelocityModel : public OperationalModel { class VelocityModel : public OperationalModel {
private: private:
...@@ -83,19 +92,19 @@ private: ...@@ -83,19 +92,19 @@ private:
* @param room: Pointer to room * @param room: Pointer to room
* *
* @return Point * @return Point
*/ */
Point e0(Pedestrian *ped, Room* room) const; Point e0(Pedestrian *ped, Room* room) const;
/** /**
* Get the spacing between ped1 and ped2 * Get the spacing between ped1 and ped2
* *
* @param ped1 Pointer to Pedestrian: First pedestrian * @param ped1 Pointer to Pedestrian: First pedestrian
* @param ped2 Pointer to Pedestrian: Second pedestrian * @param ped2 Pointer to Pedestrian: Second pedestrian
* @param ei the direction of pedestrian. * @param ei the direction of pedestrian.
* This direction is: \f$ e_0 + \sum_j{R(spacing_{ij})*e_{ij}}\f$ * This direction is: \f$ e_0 + \sum_j{R(spacing_{ij})*e_{ij}}\f$
* and should be calculated *before* calling OptimalSpeed * and should be calculated *before* calling OptimalSpeed
* @return Point * @return Point
*/ */
my_pair GetSpacing(Pedestrian* ped1, Pedestrian* ped2, Point ei, int periodic) const; my_pair GetSpacing(Pedestrian* ped1, Pedestrian* ped2, Point ei, int periodic) const;
/** /**
* Repulsive force between two pedestrians ped1 and ped2 according to * Repulsive force between two pedestrians ped1 and ped2 according to
* the Velocity model (to be published in TGF15) * the Velocity model (to be published in TGF15)
...@@ -132,11 +141,11 @@ public: ...@@ -132,11 +141,11 @@ public:
double awall, double Dwall); double awall, double Dwall);
virtual ~VelocityModel(void); virtual ~VelocityModel(void);
std::shared_ptr<DirectionStrategy> GetDirection() const; std::shared_ptr<DirectionStrategy> GetDirection() const;
/** /**
* ToDO: What is this parameter doing? * @todo What is this parameter doing?
* *
* @return double * @return double
* *
...@@ -144,21 +153,21 @@ public: ...@@ -144,21 +153,21 @@ public:
double GetaPed() const; double GetaPed() const;
/** /**
* ToDO: What is this parameter doing? * @todo What is this parameter doing?
* *
* @return double * @return double
*/ */
double GetDPed() const; double GetDPed() const;
/** /**
* ToDO: What is this parameter doing? * @todo What is this parameter doing?
* *
* @return double * @return double
*/ */
double GetaWall() const; double GetaWall() const;
/** /**
* ToDO: What is this parameter doing? * @todo What is this parameter doing?
* *
* @return double * @return double
*/ */
...@@ -187,4 +196,4 @@ public: ...@@ -187,4 +196,4 @@ public:
}; };
#endif /* GOMPERTZMODEL_H_ */ #endif
...@@ -39,6 +39,12 @@ class Building; ...@@ -39,6 +39,12 @@ class Building;
class Pedestrian; class Pedestrian;
class Router { class Router {
/** @defgroup Router
* Collection of different router classes
* [documentation](http://www.jupedsim.org/jpscore/2016-11-03-routing.html)
* @{
*/
/** @} */ // end of group
private: private:
/// routing strategy ID as defined in the Macros.h file /// routing strategy ID as defined in the Macros.h file
...@@ -136,4 +142,3 @@ public: ...@@ -136,4 +142,3 @@ public:
}; };
#endif /* _ROUTING_H */ #endif /* _ROUTING_H */
...@@ -42,16 +42,15 @@ class AIBrainStorage; ...@@ -42,16 +42,15 @@ class AIBrainStorage;
class NavLine; class NavLine;
/**
* @brief Routing Engine for Cognitive Map/ Smoke Sensor / Perception Abilities
*
*
*/
//c++11 alias: Container to store options for the router (i. a. sensors) //c++11 alias: Container to store options for the router (i. a. sensors)
using optStorage = std::unordered_map<std::string,std::vector<std::string> >; using optStorage = std::unordered_map<std::string,std::vector<std::string> >;
/**
* @brief Routing Engine for Cognitive Map/ Smoke Sensor / Perception Abilities
* \ingroup Router
*
*/
class AIRouter: public Router { class AIRouter: public Router {
public: public:
AIRouter(); AIRouter();
......
...@@ -78,6 +78,7 @@ extern OutputHandler* Log; ...@@ -78,6 +78,7 @@ extern OutputHandler* Log;
* *
* \brief router using floor fields to measure distances of doors, no hlines * \brief router using floor fields to measure distances of doors, no hlines
* *
*\ingroup Router
* This router is an update of the former Router.{cpp, h} - Global-, Quickest * This router is an update of the former Router.{cpp, h} - Global-, Quickest
* Router System. In the __former__ version, a graph was created with doors and * Router System. In the __former__ version, a graph was created with doors and
* hlines as nodes and the distances of (doors, hlines), connected with a line- * hlines as nodes and the distances of (doors, hlines), connected with a line-
......