GCC Code Coverage Report


Directory: ./
File: include/sot/core/feature-line-distance.hh
Date: 2024-11-13 12:35:17
Exec Total Coverage
Lines: 0 3 0.0%
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 */
97