This class defines linear curvature elementary paths, for which the curvature derivative (with respect to the arc length) is constant.
More...
#include <LinCurvPath.hpp>
|
| LinCurvPath () |
| The default constructor should only be used for array initializations: it generates a path starting from default configuration, with constant curvature and zero length. More...
|
|
| LinCurvPath (const iSeeML::rob::CurvConfig &start, const double &sharpness=0, const double &length=0) |
| The main constructor. More...
|
|
const iSeeML::rob::CurvConfig & | start () const |
| Description method, giving the path's starting configuration. More...
|
|
const iSeeML::rob::CurvConfig & | end () const |
| Description method, giving the path's final configuration (as a configuration for mobile robot with curvature). More...
|
|
const double & | sharpness () const |
| Description method, giving the path's constant curvature derivative with respect to the arc length. More...
|
|
double | length () const |
| Description method, giving the path's length. More...
|
|
double | deflection () const |
| Description method, giving the path's deflection (change of orientation). More...
|
|
iSeeML::Object & | clone () const |
| Description method, giving a copy of the current linear curvature path. More...
|
|
void | writeTo (ostream &O) const |
| Description method, writing a description of the path in a given output stream. More...
|
|
iSeeML::rob::CurvConfig | operator[] (const double &s) const |
| Description method, giving a configuration at a given arc length along the path. More...
|
|
bool | operator< (const Path &other) const |
| Order operator, defining an order relation on the paths' set, based on the path's length. More...
|
|
virtual | ~Object () |
| This virtual class needs a virtual destructor.
|
|
virtual const string | className () const |
| Description method, giving the object's class name. More...
|
|
bool | sameClass (const iSeeML::Object &other) |
| Method verifying that a given object has the same type (same class name) than the current one. More...
|
|
|
static const string | ClassName |
| The class name is public, as this class can be instanced. More...
|
|
|
template<class T > |
static const T & | min (const T &a, const T &b) |
| Method giving the minimum of two elements. More...
|
|
template<class T > |
static const T & | max (const T &a, const T &b) |
| Method giving the maximum of two elements. More...
|
|
static double | sqr (const double &x) |
| Method giving the square of a double. More...
|
|
static double | mod2pi (const double &theta) |
| Method giving the angle between - (excluded) and (included), which is equal to a given angle modulo 2 . More...
|
|
static double | rad2deg (const double &theta) |
| Method transforming an angle in radian, with between -1 (excluded) and 1 (included), into its equivalent in degree, i.e. More...
|
|
static double | deg2rad (const double &theta) |
| Method transforming an angle in degree, with between -1 (excluded) and 1 (included), into its equivalent in radian, i.e. More...
|
|
static bool | isPositive (const double &x) |
| Method telling whether a double is strictly positive. More...
|
|
static bool | isNegative (const double &x) |
| Method telling whether a double is strictly negative. More...
|
|
static bool | isZero (const double &x) |
| Method comparing a double to zero. More...
|
|
static int | sign (const double &x) |
| Method giving the sign of a double. More...
|
|
virtual int | algDimension () const |
| Description method for algebraic vectors, giving the dimension of the containing space (default is zero). More...
|
|
virtual double | algCoord (const int) const |
| Description method for algebraic vectors, giving coordinate of given index for this vector. More...
|
|
virtual void | algWriteTo (ostream &O) const |
| Description method for algebraic vectors, writing this vector in a given output stream: coordinates for each dimension are written, between paranthesis and separated by commas. More...
|
|
ostream & | operator<< (ostream &O, const iSeeML::Object &o) |
| Modification method, writing a description of a ISeeML object in a given output stream. More...
|
|
This class defines linear curvature elementary paths, for which the curvature derivative (with respect to the arc length) is constant.
These are the only elementary paths of ISeeML, the other paths being made of paths of this kind (they are compound paths).
- Author
- Alexis Scheuer.
- Version
- 1.0
- Examples:
- wxGuiFwd.cpp.
iSeeML::rob::LinCurvPath::LinCurvPath |
( |
| ) |
|
|
inline |
The default constructor should only be used for array initializations: it generates a path starting from default configuration, with constant curvature and zero length.
- See also
- default constructor of iSeeML::rob::CurvConfig.
iSeeML::rob::LinCurvPath::LinCurvPath |
( |
const iSeeML::rob::CurvConfig & |
start, |
|
|
const double & |
sharpness = 0 , |
|
|
const double & |
length = 0 |
|
) |
| |
|
inline |
The main constructor.
- Parameters
-
start | the starting configuration, |
sharpness | the constant curvature derivative with respect to the arc length (default value is zero), |
length | the length of the path (default value is zero). |
- See also
- operator[].
Description method, giving a copy of the current linear curvature path.
This clone is dynamically allocated (using default copy constructor), it has to be deleted later.
- Returns
- a copy/clone of the current linear curvature path.
Implements iSeeML::Object.
double iSeeML::rob::LinCurvPath::deflection |
( |
| ) |
const |
|
inlinevirtual |
Description method, giving the path's deflection (change of orientation).
- Returns
- the path's deflection.
Implements iSeeML::rob::Path.
Description method, giving the path's final configuration (as a configuration for mobile robot with curvature).
- Returns
- the path's final configuration.
Implements iSeeML::rob::Path.
- Examples:
- wxGuiFwd.cpp.
double iSeeML::rob::LinCurvPath::length |
( |
| ) |
const |
|
inlinevirtual |
Description method, giving a configuration at a given arc length along the path.
- Parameters
-
- Precondition
- the given arc length should be positive and less than the path's length. If this is not true, an error message is generated if
ISEEML_CHECK_LIN_PATH_PRECOND
is defined, and the arc length is considered as zero if smaller and as path's length if bigger, if ISEEML_CHECK_ARRAY_ELEMT
is defined (see CompilerFlags.h).
- Returns
- the configuration at given arc length along the path.
Implements iSeeML::rob::Path.
const double& iSeeML::rob::LinCurvPath::sharpness |
( |
| ) |
const |
|
inline |
Description method, giving the path's constant curvature derivative with respect to the arc length.
- Returns
- the path's curvature derivative.
- Examples:
- wxGuiFwd.cpp.
Description method, giving the path's starting configuration.
(as a configuration for mobile robot with curvature).
- Returns
- the path's starting configuration.
Implements iSeeML::rob::Path.
- Examples:
- wxGuiFwd.cpp.
void iSeeML::rob::LinCurvPath::writeTo |
( |
ostream & |
O | ) |
const |
|
inlinevirtual |
Description method, writing a description of the path in a given output stream.
The starting configuration is given, then the path parameters (sharpness and length) between braces, then the final configuration, the whole between brackets.
- Parameters
-
O | the output stream in which description is written. |
Implements iSeeML::Object.
const string iSeeML::rob::LinCurvPath::ClassName |
|
static |
The class name is public, as this class can be instanced.
- See also
- className.
The documentation for this class was generated from the following file:
- /home/ajs/Loria/Local/Compte/Recherche/Prog/C++/ISeeML/include/iSeeML/rob/LinCurvPath.hpp