Loading...
Searching...
No Matches
step-computer-pos.h
Go to the documentation of this file.
1/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 * Copyright Projet JRL-Japan, 2007
3 *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4 *
5 * File: StepComputer.h
6 * Project: SOT
7 * Author: Paul Evrard, Nicolas Mansard
8 *
9 * Version control
10 * ===============
11 *
12 * $Id$
13 *
14 * Description
15 * ============
16 *
17 *
18 * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
19
20#ifndef __SOT_StepComputer_FORCE_H__
21#define __SOT_StepComputer_FORCE_H__
22
23/* --------------------------------------------------------------------- */
24/* --- INCLUDE --------------------------------------------------------- */
25/* --------------------------------------------------------------------- */
26
27/* SOT */
28#include <dynamic-graph/entity.h>
29#include <dynamic-graph/signal-ptr.h>
30#include <dynamic-graph/signal-time-dependent.h>
34
35#include <sot/core/matrix-geometry.hh>
36/* STD */
37#include <deque>
38#include <fstream>
39#include <string>
40
41/* --------------------------------------------------------------------- */
42/* --- API ------------------------------------------------------------- */
43/* --------------------------------------------------------------------- */
44
45#if defined(WIN32)
46#if defined(step_computer_pos_EXPORTS)
47#define StepComputerFORCE_EXPORT __declspec(dllexport)
48#else
49#define StepComputerFORCE_EXPORT __declspec(dllimport)
50#endif
51#else
52#define StepComputerFORCE_EXPORT
53#endif
54
55namespace dynamicgraph {
56namespace sot {
57
58/* --------------------------------------------------------------------- */
59/* --- CLASS ----------------------------------------------------------- */
60/* --------------------------------------------------------------------- */
61
62class StepQueue;
63
66 public StepComputer {
67 public:
68 static const std::string CLASS_NAME;
69 virtual const std::string &getClassName(void) const { return CLASS_NAME; }
70
71 public: // Construction
72 StepComputerPos(const std::string &name);
73
74 public: // Methods
75 void changeFirstStep(StepQueue &queue, int timeCurr);
76 void nextStep(StepQueue &queue, int timeCurr);
77
78 public: // Signals
79 SignalPtr<MatrixHomogeneous, int> referencePositionLeftSIN;
80 SignalPtr<MatrixHomogeneous, int> referencePositionRightSIN;
81 SignalPtr<unsigned, int> contactFootSIN;
82
83 public: // Entity
84 virtual void display(std::ostream &os) const;
85 virtual void commandLine(const std::string &cmdLine,
86 std::istringstream &cmdArgs, std::ostream &os);
87
88 private: // Reference frame
89 MatrixHomogeneous rfMref0;
90 MatrixHomogeneous lfMref0;
91 StepObserver *twoHandObserver;
92 StepChecker checker;
93
94 void thisIsZero();
95
96 private: // Debug
97 std::ofstream logChanges;
98 std::ofstream logPreview;
99};
100
101} // namespace sot
102} // namespace dynamicgraph
103
104#endif // #ifndef __SOT_STEPCOMPUTER_H__
Definition: step-checker.h:41
Generates footsteps.
Definition: step-computer-pos.h:66
virtual void commandLine(const std::string &cmdLine, std::istringstream &cmdArgs, std::ostream &os)
SignalPtr< unsigned, int > contactFootSIN
Definition: step-computer-pos.h:81
static const std::string CLASS_NAME
Definition: step-computer-pos.h:68
void nextStep(StepQueue &queue, int timeCurr)
void changeFirstStep(StepQueue &queue, int timeCurr)
virtual void display(std::ostream &os) const
virtual const std::string & getClassName(void) const
Definition: step-computer-pos.h:69
SignalPtr< MatrixHomogeneous, int > referencePositionLeftSIN
Definition: step-computer-pos.h:79
SignalPtr< MatrixHomogeneous, int > referencePositionRightSIN
Definition: step-computer-pos.h:80
StepComputerPos(const std::string &name)
Generates footsteps.
Definition: step-computer.h:53
Definition: step-observer.h:59
A step queue in the preview window.
Definition: step-queue.h:77
Definition: exception-pg.h:47
#define StepComputerFORCE_EXPORT
Definition: step-computer-force.h:52