Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Stack Of Tasks
dynamic-graph
Commits
180a42c4
Commit
180a42c4
authored
Oct 02, 2019
by
Joseph Mirabel
Browse files
Update documentation of SignalTimeDependent + fix doxygen errors.
parent
5f7dd3f2
Changes
8
Hide whitespace changes
Inline
Side-by-side
doc/Doxyfile.extra.in
View file @
180a42c4
...
...
@@ -6,4 +6,6 @@ IMAGE_PATH = @CMAKE_SOURCE_DIR@/doc/pictures \
FILE_PATTERNS = *.cc *.cpp *.h *.hh *.hxx
TAGFILES = \
"@CMAKE_INSTALL_PREFIX@/share/doc/dynamic-graph-python.doxytag = @CMAKE_INSTALL_PREFIX@/share/doc/dynamic-graph-python"
\ No newline at end of file
"@CMAKE_INSTALL_PREFIX@/share/doc/dynamic-graph-python.doxytag = @CMAKE_INSTALL_PREFIX@/share/doc/dynamic-graph-python"
EXAMPLE_PATH = @CMAKE_SOURCE_DIR@
doc/additionalDoc/debug-doc.h
View file @
180a42c4
...
...
@@ -13,6 +13,6 @@ WARNING, ERROR). It is described in details here: \subpage subp_logger
int: \subpage subp_dbg_trace
- If you just need to collect informations from signals (like rosbag). You can
use an entity called Tracer inside the graph:\subpage tracerdoc . <br> A real
time version exists to write directly inside a memory buffer
\subpage
tracerrealtimedoc
time version exists to write directly inside a memory buffer
\subpage
tracerrealtimedoc
**/
doc/additionalDoc/debug-trace-doc.h
View file @
180a42c4
...
...
@@ -65,5 +65,5 @@ test \endcode
\section subp_dbg_trace_wrk_exp Working example
A full working example is given here:
\include
../
tests/debug-trace.cpp
\include tests/debug-trace.cpp
*/
doc/additionalDoc/package.h
View file @
180a42c4
...
...
@@ -22,8 +22,8 @@ The software graph structure is detailled in \subpage p_graph
For debugging your entities detailed instructions are given in \subpage debug
For citing the software in your research work please refer to
\subpage
subp_references
For citing the software in your research work please refer to
\subpage
subp_references
\namespace dynamicgraph This is the namespace where every object and class of
this library is located.
...
...
include/dynamic-graph/entity.h
View file @
180a42c4
...
...
@@ -85,7 +85,7 @@ public:
/** \name Logger related methods */
/** \{*/
/// \brief Send messages \
param
msg with level t.
/// \brief Send messages \
c
msg with level
\c
t.
/// Add string file and line to message.
void
sendMsg
(
const
std
::
string
&
msg
,
MsgType
t
=
MSG_TYPE_INFO
,
const
char
*
file
=
""
,
int
line
=
0
);
...
...
include/dynamic-graph/null-ptr.hh
View file @
180a42c4
...
...
@@ -5,6 +5,7 @@
#define DYNAMIC_GRAPH_NULL_PTR_HH
namespace
dynamicgraph
{
/// \cond
const
class
{
public:
template
<
class
T
>
operator
T
*
()
const
{
return
0
;
}
...
...
@@ -14,6 +15,7 @@ public:
private:
void
operator
&
()
const
;
}
nullptr
=
{};
/// \endcond
}
// end of namespace dynamicgraph.
...
...
include/dynamic-graph/process-list.hh
View file @
180a42c4
...
...
@@ -22,7 +22,7 @@ public:
ProcessList
();
};
///
\class
This class gather information on a specific CPU.
/// This class gather information on a specific CPU.
///
class
DYNAMIC_GRAPH_DLLAPI
CPUData
{
public:
...
...
@@ -123,7 +123,7 @@ public:
}
};
///
\class
This class gathers information on a computer.
/// This class gathers information on a computer.
/// This includes a list of CPU
class
DYNAMIC_GRAPH_DLLAPI
System
{
private:
...
...
include/dynamic-graph/signal-time-dependent.h
View file @
180a42c4
...
...
@@ -13,16 +13,49 @@ namespace dynamicgraph {
signals,
making sure its inputs are up to date on access, using a incrementing time
tick as reference.
It works this way: for a given SignalTimeDependent S, the user manually
adds dependent signals through the
use of the addDependency function. On access (calling the signal S
operator () or access(Time) function),
if the dependent signals are not up-to-date, i.e. if their [last update]
time is less than the
current time, their value will be access ()'ed to bring them up-to-date.
Thus, the value of dependent
signals can be accessed \b quickly and \b repeatedly through the
accessCopy () function.
It works this way. For a given SignalTimeDependent S,
- the user manually adds dependent signals through the use of the SignalTimeDependent::addDependency function.
- On access (calling the signal S SignalTimeDependent::operator()(const Time&) or
SignalTimeDependent::access(const Time&) function), if the dependent signals are not
up-to-date, i.e. if their [last update] time is less than the current time,
their value will be SignalTimeDependent::access ()'ed to bring them up-to-date.
Thus, the value of dependent signals can be accessed \b quickly and
\b repeatedly through the Signal::accessCopy () function.
An example:
\code
class MyEntity : public Entity {
public:
// Some signal dependencies
SignalPtr<T,int> dep1, dep2;
SignalTimeDependent<T,int> signal;
MyEntity (const std::string& name)
: Entity (name)
, signal (
// Set the function that computes the signal value
boost::bind (&Entity::computeSignal, this, _1, _2),
// Declare the dependencies
dep1 << dep2,
"signalname")
{}
T& computeSignal (T& res, int time)
{
// The accesses below update the signal if necessary.
dep1(time);
dep1.access(time);
dep1.recompute(time);
// If dep1 and dep2 are already up-to-date, for a faster access, use
dep1.accessCopy();
dep2.accessCopy();
// Compute res
return res;
}
\endcode
*/
template
<
class
T
,
class
Time
>
class
SignalTimeDependent
:
public
virtual
Signal
<
T
,
Time
>
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment