Loading...
Searching...
No Matches
pg-manager.h
Go to the documentation of this file.
1/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 * Copyright Projet JRL-Japan, 2007
3 *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4 *
5 * File: PGManager.h
6 * Project: SOT
7 * Author: Nicolas Mansard, Olivier Stasse, Paul Evrard
8 *
9 * Version control
10 * ===============
11 *
12 * $Id$
13 *
14 * Description
15 * ============
16 *
17 * PGManager entity: configures the PG and sends steps.
18 *
19 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
20
21#ifndef __SOT_PG_MANAGER_H__
22#define __SOT_PG_MANAGER_H__
23
24/* --------------------------------------------------------------------- */
25/* --- INCLUDE --------------------------------------------------------- */
26/* --------------------------------------------------------------------- */
27
28#include <pinocchio/fwd.hpp>
29
30/* Matrix */
31#include <Eigen/Dense>
32
33/* SOT */
34#include <dynamic-graph/entity.h>
35#include <dynamic-graph/signal-ptr.h>
36#include <dynamic-graph/signal-time-dependent.h>
39
40/* --------------------------------------------------------------------- */
41/* --- API ------------------------------------------------------------- */
42/* --------------------------------------------------------------------- */
43
44#if defined(WIN32)
45#if defined(pg_manager_EXPORTS)
46#define PGManager_EXPORT __declspec(dllexport)
47#else
48#define PGManager_EXPORT __declspec(dllimport)
49#endif
50#else
51#define PGManager_EXPORT
52#endif
53
54namespace dynamicgraph {
55namespace sot {
56
57/* --------------------------------------------------------------------- */
58/* --- CLASS ----------------------------------------------------------- */
59/* --------------------------------------------------------------------- */
60
61class StepQueue;
62class PatternGenerator;
63
65class PGManager_EXPORT PGManager : public Entity {
66 public: // Entity name
68
69 public: // Construction
70 PGManager(const std::string &name);
71
72 void startSequence(const StepQueue &seq);
73 void stopSequence(const StepQueue &seq);
75 double changeNextStep(StepQueue &queue);
76
77 public: // Entity
78 virtual void display(std::ostream &os) const;
79 virtual void commandLine(const std::string &cmdLine,
80 std::istringstream &cmdArgs, std::ostream &os);
81
82 private:
83 std::vector<FootPrint> stepbuf_;
84 PatternGenerator *spg_;
85 PatternGeneratorJRL::PatternGeneratorInterface *pgi_;
86};
87
88} // namespace sot
89} // namespace dynamicgraph
90
91#endif
Finds the PG and sends steps to the PG.
Definition pg-manager.h:65
void stopSequence(const StepQueue &seq)
PGManager(const std::string &name)
void startSequence(const StepQueue &seq)
virtual void commandLine(const std::string &cmdLine, std::istringstream &cmdArgs, std::ostream &os)
virtual void display(std::ostream &os) const
void introduceStep(StepQueue &queue)
double changeNextStep(StepQueue &queue)
This class provides dynamically stable CoM, ZMP, feet trajectories. It wraps up the algorithms implem...
Definition pg.h:84
A step queue in the preview window.
Definition step-queue.h:77
Definition exception-pg.h:47
#define PGManager_EXPORT
Definition pg-manager.h:51