GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: include/sot/core/feature-line-distance.hh Lines: 0 3 0.0 %
Date: 2023-03-13 12:09:37 Branches: 0 0 - %

Line Branch Exec Source
1
/*
2
 * Copyright 2010,
3
 * François Bleibel,
4
 * Olivier Stasse,
5
 *
6
 * CNRS/AIST
7
 *
8
 */
9
10
#ifndef __SOT_FEATURE_LINEDISTANCE_HH__
11
#define __SOT_FEATURE_LINEDISTANCE_HH__
12
13
/* --------------------------------------------------------------------- */
14
/* --- INCLUDE --------------------------------------------------------- */
15
/* --------------------------------------------------------------------- */
16
17
/* SOT */
18
#include <sot/core/exception-task.hh>
19
#include <sot/core/feature-abstract.hh>
20
#include <sot/core/matrix-geometry.hh>
21
/* --------------------------------------------------------------------- */
22
/* --- API ------------------------------------------------------------- */
23
/* --------------------------------------------------------------------- */
24
25
#if defined(WIN32)
26
#if defined(feature_line_distance_EXPORTS)
27
#define SOTFEATURELINEDISTANCE_EXPORT __declspec(dllexport)
28
#else
29
#define SOTFEATURELINEDISTANCE_EXPORT __declspec(dllimport)
30
#endif
31
#else
32
#define SOTFEATURELINEDISTANCE_EXPORT
33
#endif
34
35
/* --------------------------------------------------------------------- */
36
/* --- CLASS ----------------------------------------------------------- */
37
/* --------------------------------------------------------------------- */
38
39
namespace dynamicgraph {
40
namespace sot {
41
42
/*!
43
  \class FeatureLineDistance
44
  \brief Class that defines point-3d control feature
45
*/
46
class SOTFEATURELINEDISTANCE_EXPORT FeatureLineDistance
47
    : public FeatureAbstract {
48
 public:
49
  static const std::string CLASS_NAME;
50
  virtual const std::string &getClassName(void) const { return CLASS_NAME; }
51
52
 protected:
53
  /* --- SIGNALS ------------------------------------------------------------ */
54
 public:
55
  dynamicgraph::SignalPtr<MatrixHomogeneous, int> positionSIN;
56
  dynamicgraph::SignalPtr<dynamicgraph::Matrix, int> articularJacobianSIN;
57
  dynamicgraph::SignalPtr<dynamicgraph::Vector, int> positionRefSIN;
58
  dynamicgraph::SignalPtr<dynamicgraph::Vector, int> vectorSIN;
59
  dynamicgraph::SignalTimeDependent<dynamicgraph::Vector, int> lineSOUT;
60
61
  using FeatureAbstract::errorSOUT;
62
  using FeatureAbstract::jacobianSOUT;
63
  using FeatureAbstract::selectionSIN;
64
65
  /*! \name Dealing with the reference value to be reach with this feature.
66
    @{
67
  */
68
  DECLARE_NO_REFERENCE;
69
  /*! @} */
70
71
 public:
72
  FeatureLineDistance(const std::string &name);
73
  virtual ~FeatureLineDistance(void) {}
74
75
  virtual unsigned int &getDimension(unsigned int &dim, int time);
76
77
  virtual dynamicgraph::Vector &computeError(dynamicgraph::Vector &res,
78
                                             int time);
79
  virtual dynamicgraph::Matrix &computeJacobian(dynamicgraph::Matrix &res,
80
                                                int time);
81
  dynamicgraph::Vector &computeLineCoordinates(dynamicgraph::Vector &cood,
82
                                               int time);
83
84
  virtual void display(std::ostream &os) const;
85
};
86
87
} /* namespace sot */
88
} /* namespace dynamicgraph */
89
90
#endif  // #ifndef __SOT_FEATURE_LINEDISTANCE_HH__
91
92
/*
93
 * Local variables:
94
 * c-basic-offset: 2
95
 * End:
96
 */