clamp-workspace.hh
Go to the documentation of this file.
1 /*
2  * Copyright 2010,
3  * François Bleibel,
4  * Olivier Stasse,
5  *
6  * CNRS/AIST
7  *
8  */
9 
10 #ifndef __SOT_CLAMP_WORKSPACE_HH__
11 #define __SOT_CLAMP_WORKSPACE_HH__
12 
13 /* STL */
14 #include <utility>
15 
16 /* Matrix */
18 
19 /* SOT */
21 #include <dynamic-graph/entity.h>
22 
25 
26 /* --------------------------------------------------------------------- */
27 /* --- API ------------------------------------------------------------- */
28 /* --------------------------------------------------------------------- */
29 
30 #if defined(WIN32)
31 #if defined(clamp_workspace_EXPORTS)
32 #define SOTCLAMPWORKSPACE_EXPORT __declspec(dllexport)
33 #else
34 #define SOTCLAMPWORKSPACE_EXPORT __declspec(dllimport)
35 #endif
36 #else
37 #define SOTCLAMPWORKSPACE_EXPORT
38 #endif
39 
40 namespace dynamicgraph {
41 namespace sot {
42 
43 /* --------------------------------------------------------------------- */
44 /* --- CLASS ----------------------------------------------------------- */
45 /* --------------------------------------------------------------------- */
46 
48  public:
49  static const std::string CLASS_NAME;
50  virtual const std::string &getClassName(void) const { return CLASS_NAME; }
51 
52  /* --- SIGNALS ------------------------------------------------------------ */
53  public:
60 
61  public:
62  ClampWorkspace(const std::string &name);
63  virtual ~ClampWorkspace(void) {}
64 
65  void update(sigtime_t time);
66 
67  virtual dynamicgraph::Matrix &computeOutput(dynamicgraph::Matrix &res,
68  sigtime_t time);
69  virtual dynamicgraph::Matrix &computeOutputBar(dynamicgraph::Matrix &res,
70  sigtime_t time);
71  virtual MatrixHomogeneous &computeRef(MatrixHomogeneous &res, sigtime_t time);
72 
73  virtual void display(std::ostream &) const;
74 
75  private:
77 
84 
85  double beta;
86  double scale;
87  double dm_min;
88  double dm_max;
89  double dm_min_yaw;
90  double dm_max_yaw;
91  double theta_min;
92  double theta_max;
94 
95  enum { FRAME_POINT, FRAME_REF } frame;
96 
97  std::pair<double, double> bounds[3];
98 };
99 
100 } /* namespace sot */
101 } /* namespace dynamicgraph */
102 
103 #endif
dynamicgraph::sot::ClampWorkspace::positionrefSIN
dynamicgraph::SignalPtr< MatrixHomogeneous, sigtime_t > positionrefSIN
Definition: clamp-workspace.hh:54
dynamicgraph::sot::ClampWorkspace::alphabarSOUT
dynamicgraph::SignalTimeDependent< dynamicgraph::Matrix, sigtime_t > alphabarSOUT
Definition: clamp-workspace.hh:58
dynamicgraph::sot::MatrixHomogeneous
Eigen::Transform< double, 3, Eigen::Affine > SOT_CORE_EXPORT MatrixHomogeneous
Definition: matrix-geometry.hh:75
dynamicgraph::sot::ClampWorkspace::timeUpdate
sigtime_t timeUpdate
Definition: clamp-workspace.hh:76
dynamicgraph::SignalPtr< MatrixHomogeneous, sigtime_t >
dynamicgraph
dynamicgraph::sot::ClampWorkspace::theta_min
double theta_min
Definition: clamp-workspace.hh:91
dynamicgraph::Entity
dynamicgraph::sot::ClampWorkspace::alphaSOUT
dynamicgraph::SignalTimeDependent< dynamicgraph::Matrix, sigtime_t > alphaSOUT
Definition: clamp-workspace.hh:56
dynamicgraph::sot::ClampWorkspace::beta
double beta
Definition: clamp-workspace.hh:85
dynamicgraph::sot::ClampWorkspace::dm_min
double dm_min
Definition: clamp-workspace.hh:87
dynamicgraph::sot::ClampWorkspace::mode
size_type mode
Definition: clamp-workspace.hh:93
dynamicgraph::Matrix
Eigen::MatrixXd Matrix
dynamicgraph::sot::ClampWorkspace::positionSIN
dynamicgraph::SignalPtr< MatrixHomogeneous, sigtime_t > positionSIN
Definition: clamp-workspace.hh:55
dynamicgraph::sot::ClampWorkspace::alpha
dynamicgraph::Matrix alpha
Definition: clamp-workspace.hh:78
dynamicgraph::sot::ClampWorkspace::handref
MatrixHomogeneous handref
Definition: clamp-workspace.hh:83
dynamicgraph::sot::ClampWorkspace
Definition: clamp-workspace.hh:47
dynamicgraph::sot::ClampWorkspace::dm_min_yaw
double dm_min_yaw
Definition: clamp-workspace.hh:89
dynamicgraph::sot::ClampWorkspace::alphabar
dynamicgraph::Matrix alphabar
Definition: clamp-workspace.hh:79
dynamicgraph::sigtime_t
int64_t sigtime_t
dynamicgraph::sot::ClampWorkspace::getClassName
virtual const std::string & getClassName(void) const
Definition: clamp-workspace.hh:50
dynamicgraph::sot::ClampWorkspace::pd
dynamicgraph::Vector pd
Definition: clamp-workspace.hh:81
dynamicgraph::sot::ClampWorkspace::dm_max_yaw
double dm_max_yaw
Definition: clamp-workspace.hh:90
dynamicgraph::sot::ClampWorkspace::CLASS_NAME
static const std::string CLASS_NAME
Definition: clamp-workspace.hh:49
dynamicgraph::sot::ClampWorkspace::Rd
MatrixRotation Rd
Definition: clamp-workspace.hh:82
all-signals.h
dynamicgraph::size_type
Matrix::Index size_type
display
dynamicgraph::Vector
Eigen::VectorXd Vector
update
AABB & update(const Vec3f &a, const Vec3f &b)
dynamicgraph::sot::ClampWorkspace::prefMp
MatrixHomogeneous prefMp
Definition: clamp-workspace.hh:80
linear-algebra.h
dynamicgraph::sot::ClampWorkspace::dm_max
double dm_max
Definition: clamp-workspace.hh:88
dynamicgraph::sot::ClampWorkspace::theta_max
double theta_max
Definition: clamp-workspace.hh:92
matrix-geometry.hh
exception-task.hh
dynamicgraph::SignalTimeDependent< dynamicgraph::Matrix, sigtime_t >
SOTCLAMPWORKSPACE_EXPORT
#define SOTCLAMPWORKSPACE_EXPORT
Definition: clamp-workspace.hh:37
dynamicgraph::sot::MatrixRotation
Eigen::Matrix< double, 3, 3 > SOT_CORE_EXPORT MatrixRotation
Definition: matrix-geometry.hh:76
dynamicgraph::sot::ClampWorkspace::handrefSOUT
dynamicgraph::SignalTimeDependent< MatrixHomogeneous, sigtime_t > handrefSOUT
Definition: clamp-workspace.hh:59
bounds
list bounds
dynamicgraph::sot::ClampWorkspace::scale
double scale
Definition: clamp-workspace.hh:86
compile.name
name
Definition: compile.py:23
dynamicgraph::sot::ClampWorkspace::~ClampWorkspace
virtual ~ClampWorkspace(void)
Definition: clamp-workspace.hh:63


sot-core
Author(s): Olivier Stasse, ostasse@laas.fr
autogenerated on Tue Oct 24 2023 02:26:31