RDK2::Geometry Namespace Reference


Data Structures

class  DNotInvertibleMatrixException
class  DIncompatibleMatrixException
class  DNotSquareMatrixException
class  DMatrix
struct  PolarPoint
struct  AppliedVector
struct  PGMFile
struct  Point2
class  Point2o
class  Point3
class  Point3o
struct  PoseNormalDist
class  Quaternion
struct  Segment2
class  Viewport
class  AffineView
class  CircleWalk
class  Line2
class  LineWalk
class  QuadWalk

Typedefs

typedef DMatrix< doubleDMatrixD
typedef std::vector< PolarPointPPVec
typedef std::vector< Point2odOPVec
typedef std::vector
< AppliedVector
AVV
typedef Point2< int > Point2i
typedef Point2< doublePoint2d
typedef Point3< doublePoint3d
typedef Point2o< doublePoint2od
typedef Point3o< doublePoint3od
typedef Quaternion< doubleQuaterniond
typedef Segment2< int > Segment2i
typedef Segment2< doubleSegment2d
typedef Line2< doubleLine2d
typedef Line2< int > Line2i

Functions

double angNorm2PiUnsig (double ang)
double angNormPiSig (double ang)
double angDiff (double ang1, double ang2)
double norm (double t, double range)
double norm2PI (double t)
double normPI (double t)
double normPIX (double t)
double norm2PIX (double t)
double angleDiff (double Angle1, double Angle2)
double angleWeightedMean (double Angle1, double Angle2, double alpha)
template<class X>
std::ostream & operator<< (std::ostream &os, const DMatrix< X > &m)
template<class X>
DMatrix< X > MRot (X theta)
bool parseMatrix (const std::vector< std::string > &sv, int start_index, int rows, int columns, DMatrix< double > &d, std::string *error=NULL)
DMatrix< doublerot3z (double theta)
bool isDefinitePositive (const DMatrixD &m)
bool isSemiDefinitePositive (const DMatrixD &m)
DMatrix< doublereassembleFromEig (double lambda1, Point2d v1, double lambda2, Point2d v2)
void copy (const DMatrix< double > &m, gsl_matrix *gslm)
double uncertainty (const DMatrixD &m)
bool eig22_gsl (const DMatrix< double > &m, double &lambda1, Point2d &v1, double &lambda2, Point2d &v2)
bool getWhiteningMatrix22 (const DMatrix< double > &m, DMatrix< double > &w)
template<class X>
DMatrix< X > matrix22 (const X &a, const X &b, const X &c, const X &d)
template<class X>
DMatrix< X > matrix33 (X &topleft, const DMatrix< X > &d22, X pad=0)
template<class X>
DMatrix< X > matrix33 (const DMatrix< X > &topleft22, X &bottomright, X pad=0)
double uncertainty (const DMatrix< double > &m)
 DEPRECATED.
template<typename Numeric>
bool loadPGM (std::istream &is, DMatrix< Numeric > &matrix)
template<typename Numeric>
bool loadPGM (const char *file, DMatrix< Numeric > &matrix)
template<typename Numeric>
bool savePGM (const DMatrix< Numeric > &matrix, std::ostream &os)
template<class Numeric>
bool savePGM (std::string file, const DMatrix< Numeric > &matrix)
template<class X, class Y>
Point2< X > operator* (const DMatrix< Y > &m, const Point2< X > &p)
template<class X, class Y>
Point3< X > operator* (const DMatrix< Y > &m, const Point3< X > &p)
template<typename X, typename Y>
void normalize (const X *x, size_t length, Y *y, Y nMin, Y nMax)
template<typename X, typename Y>
void normalize_sum (const X *x, size_t length, Y *y, Y tot)
template<class Numeric>
Numeric modulus (Numeric a, Numeric b)
template<class E, class F, class R>
mult (const E *r1, const F *r2, int size)
template<class E, class F, class R>
void cross_correlation (const E *r1, int r1_size, const F *r2, int r2_size, int deltaMin, int deltaMax, R *result)
template<typename X, typename Y>
DMatrix< Y > normalize (const DMatrix< X > &m, Y nMin, Y nMax)
template<class X>
std::vector< X > getAsVector (DMatrix< X > &m)
template<class X, class Y, class Z>
void convolve (const DMatrix< X > &x, const DMatrix< Y > &y, DMatrix< Z > &z)
template<class X>
computeAverage (const std::vector< X > &values)
template<class X>
computeVariance (const std::vector< X > &values)
template<class X>
computeSigma (const std::vector< X > &values)
Point2d projectPointOntoLineOrSegment (const Point2d &p, const Segment2d &segm, bool itIsALine)
Point2d projectPointOntoLine (const Point2d &p, const Segment2d &segm)
Point2d projectPointOntoSegment (const Point2d &p, const Segment2d &segm)
double pointDistFromLine (const Point2d &p, const Segment2d &segm)
double pointDistFromSegment (const Point2d &p, const Segment2d &segm)
vector< Segment2drecursiveLineFitting (const vector< Point2d > &points, double maxErrorAllowed)
Point2d toLocalReferenceSystem (const Point2d &point, const Point2od &localReferenceSystem)
Point2od toLocalReferenceSystem (const Point2od &point, const Point2od &localReferenceSystem)
Point2d toGlobalReferenceSystem (const Point2d &point, const Point2od &localReferenceSystem)
Point2od toGlobalReferenceSystem (const Point2od &point, const Point2od &localReferenceSystem)
double getMaxRho (const AVV &v)
AVV filterMax (const AVV &, double max)
 Filters out points whose norm is < max.
AVV filterMin (const AVV &v, double min)
 Filters out points whose norm is < min.
Point2d min (AVV &v)
Point2d max (AVV &v)
Viewport getBounds (AVV &v)
double maxWeight (const AppliedVector *v, int size)
void output (const PPVec &vec, const char *filename)
void output (const std::string &file, const AVV &v, bool normalize, double scale)
void output (const std::string &file, const AppliedVector *v, int size, bool normalize, double scale)
void output (const std::string &file, const OPVec &v, double scale)
void outputNormal (ostream &os, const AVV &v, bool norm, double s)
void outputNormal (const std::string &file, const AVV &v, bool norm, double s)
void outputNormal (const std::string &file, const AppliedVector *v, int size, bool norm, double s)
void outputNormal (ostream &ofs, const AppliedVector *v, int size, bool norm, double s)
void outputNormal (const std::string &file, const OPVec &v)
void outputGaussian (std::ostream &ofs, Point2d estimate, DMatrix< double > variance)
template<class T>
bool readVariable (istream &is, cstr name, T &t)
bool parsePoint (const std::string &sx, const std::string &sy, const std::string &stheta, Point2od &p, std::string *error=NULL)
void regression (const std::vector< RDK2::Geometry::Point2d > &points, double &theta, double &rho, double &error)
Point2od mm2m (const Point2od &p)
Point3od mm2m (const Point3od &p)
Point3d Trans3d (const Point3od &pose, const Point3d &point)
template<class Numeric>
std::ostream & operator<< (std::ostream &os, const Point2< Numeric > &p)
template<class Numeric>
std::istream & operator>> (std::istream &is, Point2< Numeric > &p)
template<class Numeric>
Point2o< Numeric > weightedMean (const Point2o< Numeric > &p1, const Point2o< Numeric > &p2, double alpha)
template<class Numeric>
Point3o< Numeric > weightedMean (const Point3o< Numeric > &p1, const Point3o< Numeric > &p2, double alpha)
PoseNormalDist addNormalDist (const PoseNormalDist &start, const PoseNormalDist &increment)
PolarPoint translateTo (PolarPoint p, Point2od ds)
PPVec translateTo (const PPVec &vec, Point2od ds)
Point2d changeRef (Point2od newReference, Point2d p)
PolarPoint changeRef (Point2od newReference, PolarPoint pp)
AppliedVector changeRef (Point2od newReference, AppliedVector ov)
Point2od local2world (Point2od ref, Point2od p)
AppliedVector local2world (Point2od ref, AppliedVector p)
template<class X>
std::vector< X > changeRef (Point2od newReference, const std::vector< X > &vec)
template<class X>
void changeRef (Point2od newReference, const std::vector< X > &vec, std::vector< X > &out)
template<class X>
void local2world (Point2od ref, const std::vector< X > &vec, std::vector< X > &out)
bool diff (const Point2od &pose_old, const Point2od &pose_new, double &speed, double &jog)
Point2od difference (Point2od p0, Point2od p1)
Point2od add (Point2od p0, Point2od diff)
int sedgewick_ccw (const Point2d &p0, const Point2d &p1, const Point2d &p2)
bool sedgewickIntersect (const Point2d &s0p0, const Point2d &s0p1, const Point2d &s1p0, const Point2d &s1p1)
bool string2float (const std::string &s, float &v)
 Parsing tenendo conto di RDK_NAN_STRING, RDK_INF_STRING.
bool string2float (const std::string &s, double &v)
 Parsing tenendo conto di RDK_NAN_STRING, RDK_INF_STRING.
double deg2rad (double d)
double rad2deg (double d)
double m2mm (double m)
double mm2m (double mm)
template<class X>
int sgn (X d)
template<class X>
square (const X &x)
template<typename T>
bool RDK_ISNAN (T a)
 Testa se un numero � not-a-number.
bool RDK_ISINF (double a)
 Testa se un numero � infinito.
bool RDK_ISINF (float a)
 Testa se un numero � infinito.
template<typename T>
bool sameFloat (T a, T b, T epsilon=0)
template<typename T>
std::string float2string (T v)
void basic_w2b (const Point2d &rmin, const Point2d &rmax, const double &x, const double &y, const int bufferWidth, const int bufferHeight, int &bufferX, int &bufferY, bool exception_if_outside) throw (std::invalid_argument)
 If exception_if_outside, an exception is thrown if it is outside :-).
void basic_b2w (const Point2d &rmin, const Point2d &rmax, const int bx, const int by, const int bufferWidth, const int bufferHeight, double &wx, double &wy)
Viewport basic_cellBB (const Point2d &rmin, const Point2d &rmax, const int bx, const int by, const int bufferWidth, const int bufferHeight)
Standard I/O as space separated
template<class Numeric>
std::ostream & operator<< (std::ostream &os, const Point2o< Numeric > &p)
template<class Numeric>
std::istream & operator>> (std::istream &is, Point2o< Numeric > &p)
Standard I/O as space separated
template<class Numeric>
std::ostream & operator<< (std::ostream &os, const Point3o< Numeric > &p)
template<class Numeric>
std::istream & operator>> (std::istream &is, Point3o< Numeric > &p)


Typedef Documentation

typedef std::vector<AppliedVector> RDK2::Geometry::AVV

Definition at line 90 of file otherpoints.h.

Definition at line 190 of file dmatrix.h.

Definition at line 42 of file walk_line.h.

Definition at line 43 of file walk_line.h.

typedef std::vector<Point2od> RDK2::Geometry::OPVec

Definition at line 80 of file otherpoints.h.

Definition at line 41 of file point.h.

Definition at line 40 of file point.h.

Definition at line 43 of file point.h.

Definition at line 42 of file point.h.

Definition at line 44 of file point.h.

typedef std::vector<PolarPoint> RDK2::Geometry::PPVec

Definition at line 79 of file otherpoints.h.

Definition at line 131 of file quaternion.h.

Definition at line 29 of file segment.h.

Definition at line 28 of file segment.h.


Function Documentation

Point2od RDK2::Geometry::add ( Point2od  p0,
Point2od  diff 
)

Inverse of difference: diff is a translation+rotation applied to p0

Definition at line 53 of file robotmodels.cpp.

References diff(), RDK2::Geometry::Point2< Numeric >::x, and RDK2::Geometry::Point2< Numeric >::y.

Here is the call graph for this function:

PoseNormalDist RDK2::Geometry::addNormalDist ( const PoseNormalDist &  start,
const PoseNormalDist &  increment 
)

Definition at line 31 of file posenormaldist.cpp.

References RDK2::Geometry::PoseNormalDist::mu, rot3z(), RDK2::Geometry::PoseNormalDist::sigma, and RDK2::Geometry::Point2o< Numeric >::theta.

Here is the call graph for this function:

double RDK2::Geometry::angDiff ( double  ang1,
double  ang2 
) [inline]

Definition at line 51 of file angle.h.

References angNorm2PiUnsig(), and angNormPiSig().

Here is the call graph for this function:

double RDK2::Geometry::angleDiff ( double  Angle1,
double  Angle2 
) [inline]

You want the difference to be normalized between -pi and pi

Definition at line 78 of file angle.h.

References norm2PI(), and norm2PIX().

Referenced by diff().

Here is the call graph for this function:

double RDK2::Geometry::angleWeightedMean ( double  Angle1,
double  Angle2,
double  alpha 
) [inline]

Definition at line 83 of file angle.h.

Referenced by weightedMean().

double RDK2::Geometry::angNorm2PiUnsig ( double  ang  )  [inline]

Returns an angle that is 0 <= angle < 2 * PI

Definition at line 33 of file angle.h.

References RDK2::Statistics::r.

Referenced by angDiff().

double RDK2::Geometry::angNormPiSig ( double  ang  )  [inline]

returns an angle that is -PI <= angle <= PI

Definition at line 42 of file angle.h.

References RDK2::Statistics::r.

Referenced by angDiff().

void RDK2::Geometry::basic_b2w ( const Point2d &  rmin,
const Point2d &  rmax,
const int  bx,
const int  by,
const int  bufferWidth,
const int  bufferHeight,
double wx,
double wy 
)

Viewport RDK2::Geometry::basic_cellBB ( const Point2d &  rmin,
const Point2d &  rmax,
const int  bx,
const int  by,
const int  bufferWidth,
const int  bufferHeight 
)

void RDK2::Geometry::basic_w2b ( const Point2d &  rmin,
const Point2d &  rmax,
const double x,
const double y,
const int  bufferWidth,
const int  bufferHeight,
int &  bufferX,
int &  bufferY,
bool  exception_if_outside 
) throw (std::invalid_argument)

If exception_if_outside, an exception is thrown if it is outside :-).

Definition at line 27 of file viewport.cpp.

References RDK2::TextUtils::toString().

Referenced by RDK2::Geometry::Viewport::w2b(), and RDK2::Geometry::Viewport::w2b_ani().

Here is the call graph for this function:

template<class X>
void RDK2::Geometry::changeRef ( Point2od  newReference,
const std::vector< X > &  vec,
std::vector< X > &  out 
) [inline]

Definition at line 53 of file reference.h.

References changeRef().

Here is the call graph for this function:

template<class X>
std::vector<X> RDK2::Geometry::changeRef ( Point2od  newReference,
const std::vector< X > &  vec 
) [inline]

Definition at line 45 of file reference.h.

References changeRef().

Here is the call graph for this function:

AppliedVector RDK2::Geometry::changeRef ( Point2od  newReference,
AppliedVector  p 
)

Ritorna p visto da newReference

Definition at line 46 of file reference.cpp.

References changeRef(), RDK2::Geometry::Point2o< Numeric >::theta, RDK2::Geometry::AppliedVector::theta, RDK2::Geometry::AppliedVector::weight, and RDK2::Geometry::AppliedVector::where.

Here is the call graph for this function:

PolarPoint RDK2::Geometry::changeRef ( Point2od  newReference,
PolarPoint  p 
)

Ritorna p visto da newReference

Definition at line 42 of file reference.cpp.

References changeRef(), and RDK2::Geometry::PolarPoint::getCartesian().

Here is the call graph for this function:

Point2d RDK2::Geometry::changeRef ( Point2od  newReference,
Point2d  p 
)

Metodi per il cambio del sistema di riferimento.

I metodi changeRef() si dovevano chiamare world2local Ritorna p visto da newReference

Definition at line 38 of file reference.cpp.

References RDK2::Geometry::Point2< Numeric >::rot(), and RDK2::Geometry::Point2o< Numeric >::theta.

Referenced by changeRef().

Here is the call graph for this function:

template<class X>
X RDK2::Geometry::computeAverage ( const std::vector< X > &  values  )  [inline]

Definition at line 168 of file dsp.h.

Referenced by computeVariance().

template<class X>
X RDK2::Geometry::computeSigma ( const std::vector< X > &  values  )  [inline]

Definition at line 189 of file dsp.h.

References computeVariance().

Here is the call graph for this function:

template<class X>
X RDK2::Geometry::computeVariance ( const std::vector< X > &  values  )  [inline]

Definition at line 179 of file dsp.h.

References computeAverage(), and square().

Referenced by computeSigma().

Here is the call graph for this function:

template<class X, class Y, class Z>
void RDK2::Geometry::convolve ( const DMatrix< X > &  x,
const DMatrix< Y > &  y,
DMatrix< Z > &  z 
) [inline]

Convolve matrix y (big) over matrix x (big). y should be squared with an odd number of rows. Result z is as big as x.

Definition at line 144 of file dsp.h.

References RDK2::Geometry::DMatrix< X >::around(), RDK2::Geometry::DMatrix< X >::columns(), RDK2::Geometry::DMatrix< X >::product(), and RDK2::Geometry::DMatrix< X >::rows().

Here is the call graph for this function:

void RDK2::Geometry::copy ( const DMatrix< double > &  m,
gsl_matrix *  gslm 
)

Definition at line 72 of file dmatrix_algebra.cpp.

References RDK2::Geometry::DMatrix< X >::columns(), and RDK2::Geometry::DMatrix< X >::rows().

Referenced by eig22_gsl().

Here is the call graph for this function:

template<class E, class F, class R>
void RDK2::Geometry::cross_correlation ( const E *  r1,
int  r1_size,
const F *  r2,
int  r2_size,
int  deltaMin,
int  deltaMax,
R *  result 
) [inline]

Compute cross correlation between two arrays. This function was a pain to write. result should have size deltaMax-deltaMin+1

Definition at line 96 of file dsp.h.

References diff(), and min().

Here is the call graph for this function:

double RDK2::Geometry::deg2rad ( double  d  )  [inline]

bool RDK2::Geometry::diff ( const Point2od &  pose_old,
const Point2od &  pose_new,
double speed,
double jog 
)

Point2od RDK2::Geometry::difference ( Point2od  p0,
Point2od  p1 
)

Decomposes robot path as 1 translation + 1 rotation (first translation, then rotation)

Definition at line 47 of file robotmodels.cpp.

References RDK2::Geometry::Point2o< Numeric >::theta, RDK2::Geometry::Point2< Numeric >::x, and RDK2::Geometry::Point2< Numeric >::y.

bool RDK2::Geometry::eig22_gsl ( const DMatrix< double > &  m,
double lambda1,
Point2d &  v1,
double lambda2,
Point2d &  v2 
)

Returns eigenvectors and eigenvalues for a 2x2 matrix

Definition at line 86 of file dmatrix_algebra.cpp.

References RDK2::Geometry::DMatrix< X >::columns(), copy(), and RDK2::Geometry::DMatrix< X >::rows().

Referenced by getWhiteningMatrix22(), isDefinitePositive(), isSemiDefinitePositive(), outputGaussian(), and uncertainty().

Here is the call graph for this function:

AVV RDK2::Geometry::filterMax ( const AVV &  v,
double  max 
)

Filters out points whose norm is < max.

Definition at line 31 of file otherpoints.cpp.

References RDK2::Statistics::r.

AVV RDK2::Geometry::filterMin ( const AVV &  v,
double  min 
)

Filters out points whose norm is < min.

Definition at line 39 of file otherpoints.cpp.

References RDK2::Statistics::r.

template<typename T>
std::string RDK2::Geometry::float2string ( v  )  [inline]

Definition at line 87 of file geometry/utils.h.

References RDK_INF_STRING, RDK_ISINF(), RDK_ISNAN(), and RDK_NAN_STRING.

Referenced by string2val2string(), and val2string2val().

Here is the call graph for this function:

template<class X>
std::vector<X> RDK2::Geometry::getAsVector ( DMatrix< X > &  m  )  [inline]

Returns the elements of a dmatrix as a std::vector

Definition at line 133 of file dsp.h.

References RDK2::Geometry::DMatrix< X >::columns(), and RDK2::Geometry::DMatrix< X >::rows().

Here is the call graph for this function:

Viewport RDK2::Geometry::getBounds ( AVV &  v  ) 

Definition at line 63 of file otherpoints.cpp.

References max(), and min().

Here is the call graph for this function:

double RDK2::Geometry::getMaxRho ( const AVV &  v  ) 

Definition at line 24 of file otherpoints.cpp.

References max().

Here is the call graph for this function:

bool RDK2::Geometry::getWhiteningMatrix22 ( const DMatrix< double > &  m,
DMatrix< double > &  w 
)

bool RDK2::Geometry::isDefinitePositive ( const DMatrixD &  m  ) 

Definition at line 44 of file dmatrix_algebra.cpp.

References eig22_gsl().

Here is the call graph for this function:

bool RDK2::Geometry::isSemiDefinitePositive ( const DMatrixD &  m  ) 

Definition at line 50 of file dmatrix_algebra.cpp.

References eig22_gsl().

Here is the call graph for this function:

template<typename Numeric>
bool RDK2::Geometry::loadPGM ( const char *  file,
DMatrix< Numeric > &  matrix 
) [inline]

Definition at line 112 of file dmatrix_pgm.h.

References loadPGM().

Here is the call graph for this function:

template<typename Numeric>
bool RDK2::Geometry::loadPGM ( std::istream &  is,
DMatrix< Numeric > &  matrix 
) [inline]

Definition at line 51 of file dmatrix_pgm.h.

References RDK2::TextUtils::consumeWhitespace(), and EXPECT_MAXVAL.

Referenced by loadPGM().

Here is the call graph for this function:

template<class X>
void RDK2::Geometry::local2world ( Point2od  ref,
const std::vector< X > &  vec,
std::vector< X > &  out 
) [inline]

Definition at line 65 of file reference.h.

References local2world().

Here is the call graph for this function:

AppliedVector RDK2::Geometry::local2world ( Point2od  ref,
AppliedVector  p 
)

Point2od RDK2::Geometry::local2world ( Point2od  ref,
Point2od  p 
)

p � locale a ref, ritorna p in coordinate mondo

Definition at line 54 of file reference.cpp.

References RDK2::Geometry::Point2o< Numeric >::point2(), RDK2::Geometry::Point2< Numeric >::rot(), and RDK2::Geometry::Point2o< Numeric >::theta.

Referenced by local2world().

Here is the call graph for this function:

double RDK2::Geometry::m2mm ( double  m  )  [inline]

Definition at line 36 of file geometry/utils.h.

template<class X>
DMatrix<X> RDK2::Geometry::matrix22 ( const X &  a,
const X &  b,
const X &  c,
const X &  d 
) [inline]

Shortcut to build a 2x2 matrix

Definition at line 43 of file dmatrix_algebra.h.

template<class X>
DMatrix<X> RDK2::Geometry::matrix33 ( const DMatrix< X > &  topleft22,
X &  bottomright,
pad = 0 
) [inline]

Definition at line 67 of file dmatrix_algebra.h.

References Logging::pad().

Here is the call graph for this function:

template<class X>
DMatrix<X> RDK2::Geometry::matrix33 ( X &  topleft,
const DMatrix< X > &  d22,
pad = 0 
) [inline]

Shortcut to build a 3x3 matrix from a scalar and 2x2

Definition at line 54 of file dmatrix_algebra.h.

References Logging::pad().

Here is the call graph for this function:

Point2d RDK2::Geometry::max ( AVV &  v  ) 

double RDK2::Geometry::maxWeight ( const AppliedVector *  v,
int  size 
)

Definition at line 28 of file output.cpp.

References max().

Referenced by output(), and outputNormal().

Here is the call graph for this function:

Point2d RDK2::Geometry::min ( AVV &  v  ) 

double RDK2::Geometry::mm2m ( double  mm  )  [inline]

Definition at line 37 of file geometry/utils.h.

Point3od RDK2::Geometry::mm2m ( const Point3od &  p  ) 

Point2od RDK2::Geometry::mm2m ( const Point2od &  p  ) 

template<class Numeric>
Numeric RDK2::Geometry::modulus ( Numeric  a,
Numeric  b 
) [inline]

Definition at line 74 of file dsp.h.

template<class X>
DMatrix< X > RDK2::Geometry::MRot ( theta  )  [inline]

Rotation matrix 2x2

Definition at line 158 of file dmatrix_numeric.hpp.

template<class E, class F, class R>
R RDK2::Geometry::mult ( const E *  r1,
const F *  r2,
int  size 
) [inline]

Computes correlation between two arrays

Definition at line 80 of file dsp.h.

References RDK2::Statistics::r.

double RDK2::Geometry::norm ( double  t,
double  range 
) [inline]

Definition at line 61 of file angle.h.

Referenced by norm2PI(), norm2PIX(), normPI(), and normPIX().

double RDK2::Geometry::norm2PI ( double  t  )  [inline]

Between 0 and 2pi

Definition at line 66 of file angle.h.

References M_2PI, and norm().

Referenced by angleDiff().

Here is the call graph for this function:

double RDK2::Geometry::norm2PIX ( double  t  )  [inline]

Between -pi and pi

Definition at line 75 of file angle.h.

References M_2PI, and norm().

Referenced by angleDiff(), and RDK2::SensorData::LaserData::isInsideClearArea().

Here is the call graph for this function:

template<typename X, typename Y>
DMatrix<Y> RDK2::Geometry::normalize ( const DMatrix< X > &  m,
nMin,
nMax 
) [inline]

Normalizes the elements of a Matrix. See the other normalize().

Definition at line 125 of file dsp.h.

References RDK2::Geometry::DMatrix< X >::columns(), RDK2::Geometry::DMatrix< X >::getElems(), and RDK2::Geometry::DMatrix< X >::rows().

Referenced by RDK2::RepositoryNS::Url::contextualize(), and RDK2::RepositoryNS::Url::operator=().

Here is the call graph for this function:

template<typename X, typename Y>
void RDK2::Geometry::normalize ( const X *  x,
size_t  length,
Y *  y,
nMin,
nMax 
) [inline]

Normalizes an array, values in

Parameters:
x are copied in
y linearly mapped in nMin-nMax

Definition at line 36 of file dsp.h.

References max(), and min().

Referenced by savePGM().

Here is the call graph for this function:

template<typename X, typename Y>
void RDK2::Geometry::normalize_sum ( const X *  x,
size_t  length,
Y *  y,
tot 
) [inline]

Normalizes an array, values in

Parameters:
x >0 are copied in
y scaled such that sum is
tot. It is safe to be x=y.

Definition at line 59 of file dsp.h.

double RDK2::Geometry::normPI ( double  t  )  [inline]

Between 0 and pi

Definition at line 69 of file angle.h.

References norm().

Here is the call graph for this function:

double RDK2::Geometry::normPIX ( double  t  )  [inline]

Between -pi/2 and pi/2

Definition at line 72 of file angle.h.

References norm().

Here is the call graph for this function:

template<class X, class Y>
Point3<X> RDK2::Geometry::operator* ( const DMatrix< Y > &  m,
const Point3< X > &  p 
) [inline]

template<class X, class Y>
Point2<X> RDK2::Geometry::operator* ( const DMatrix< Y > &  m,
const Point2< X > &  p 
) [inline]

template<class Numeric>
std::ostream& RDK2::Geometry::operator<< ( std::ostream &  os,
const Point3o< Numeric > &  p 
) [inline]

Definition at line 157 of file point3o.h.

template<class Numeric>
std::ostream& RDK2::Geometry::operator<< ( std::ostream &  os,
const Point2o< Numeric > &  p 
) [inline]

Definition at line 149 of file point2o.h.

template<class Numeric>
std::ostream& RDK2::Geometry::operator<< ( std::ostream &  os,
const Point2< Numeric > &  p 
) [inline]

Definition at line 163 of file point2.h.

template<class X>
std::ostream & RDK2::Geometry::operator<< ( std::ostream &  os,
const DMatrix< X > &  m 
) [inline]

Definition at line 122 of file dmatrix_imp.hpp.

template<class Numeric>
std::istream& RDK2::Geometry::operator>> ( std::istream &  is,
Point3o< Numeric > &  p 
) [inline]

template<class Numeric>
std::istream& RDK2::Geometry::operator>> ( std::istream &  is,
Point2o< Numeric > &  p 
) [inline]

template<class Numeric>
std::istream& RDK2::Geometry::operator>> ( std::istream &  is,
Point2< Numeric > &  p 
) [inline]

void RDK2::Geometry::output ( const std::string &  file,
const OPVec &  v,
double  scale 
)

Definition at line 68 of file output.cpp.

References RDK2::Profiling::ofs, RDK2::Geometry::Point2< double >::vers(), RDK2::Geometry::Point2< Numeric >::x, and RDK2::Geometry::Point2< Numeric >::y.

Here is the call graph for this function:

void RDK2::Geometry::output ( const std::string &  file,
const AppliedVector *  v,
int  size,
bool  normalize,
double  scale 
)

void RDK2::Geometry::output ( const std::string &  file,
const AVV &  v,
bool  normalize = false,
double  scale = 1 
)

Metodi di output per scrivere su file vettori di punti (leggibili da gnuplot)

Definition at line 44 of file output.cpp.

References output().

Here is the call graph for this function:

void RDK2::Geometry::output ( const PPVec &  vec,
const char *  filename 
)

void RDK2::Geometry::outputGaussian ( std::ostream &  ofs,
Point2d  estimate,
DMatrix< double variance 
)

Draws gaussian ellipse (maybe broken)

Definition at line 129 of file output.cpp.

References eig22_gsl(), RDK2::Geometry::Point2< Numeric >::toString(), RDK2::Geometry::Point2< double >::vers(), RDK2::Geometry::Point2< Numeric >::x, and RDK2::Geometry::Point2< Numeric >::y.

Here is the call graph for this function:

void RDK2::Geometry::outputNormal ( const std::string &  file,
const OPVec &  v 
)

Definition at line 121 of file output.cpp.

References RDK2::Profiling::ofs.

void RDK2::Geometry::outputNormal ( ostream &  ofs,
const AppliedVector *  v,
int  size,
bool  norm,
double  s 
)

void RDK2::Geometry::outputNormal ( const std::string &  file,
const AppliedVector *  v,
int  size,
bool  norm,
double  s 
)

Definition at line 88 of file output.cpp.

References RDK2::Profiling::ofs, and outputNormal().

Here is the call graph for this function:

void RDK2::Geometry::outputNormal ( const std::string &  file,
const AVV &  v,
bool  norm,
double  s 
)

Definition at line 84 of file output.cpp.

References outputNormal().

Here is the call graph for this function:

void RDK2::Geometry::outputNormal ( ostream &  os,
const AVV &  v,
bool  norm,
double  s 
)

Definition at line 80 of file output.cpp.

Referenced by outputNormal().

bool RDK2::Geometry::parseMatrix ( const std::vector< std::string > &  sv,
int  start_index,
int  rows,
int  columns,
DMatrix< double > &  d,
std::string *  error = NULL 
)

Definition at line 109 of file geometry/utils.cpp.

References RDK2::TextUtils::toString().

Here is the call graph for this function:

bool RDK2::Geometry::parsePoint ( const std::string &  sx,
const std::string &  sy,
const std::string &  stheta,
Point2od &  p,
std::string *  error = NULL 
)

double RDK2::Geometry::pointDistFromLine ( const Point2d &  p,
const Segment2d &  segm 
)

Definition at line 62 of file geometryfunctions.cpp.

References RDK2::Geometry::Point2< Numeric >::distTo(), and projectPointOntoLine().

Referenced by recursiveLineFitting().

Here is the call graph for this function:

double RDK2::Geometry::pointDistFromSegment ( const Point2d &  p,
const Segment2d &  segm 
)

Definition at line 68 of file geometryfunctions.cpp.

References RDK2::Geometry::Point2< Numeric >::distTo(), and projectPointOntoSegment().

Here is the call graph for this function:

Point2d RDK2::Geometry::projectPointOntoLine ( const Point2d &  p,
const Segment2d &  segm 
)

Definition at line 52 of file geometryfunctions.cpp.

References projectPointOntoLineOrSegment().

Referenced by pointDistFromLine().

Here is the call graph for this function:

Point2d RDK2::Geometry::projectPointOntoLineOrSegment ( const Point2d &  p,
const Segment2d &  segm,
bool  itIsALine 
)

Point2d RDK2::Geometry::projectPointOntoSegment ( const Point2d &  p,
const Segment2d &  segm 
)

Definition at line 57 of file geometryfunctions.cpp.

References projectPointOntoLineOrSegment().

Referenced by pointDistFromSegment().

Here is the call graph for this function:

double RDK2::Geometry::rad2deg ( double  d  )  [inline]

bool RDK2::Geometry::RDK_ISINF ( float  a  )  [inline]

Testa se un numero � infinito.

Definition at line 69 of file geometry/utils.h.

References RDK_INF32.

Referenced by RDK2::Serialization::Binary::nbo_f64().

bool RDK2::Geometry::RDK_ISINF ( double  a  )  [inline]

Testa se un numero � infinito.

Definition at line 67 of file geometry/utils.h.

References RDK_INF64.

Referenced by float2string().

template<typename T>
bool RDK2::Geometry::RDK_ISNAN ( a  )  [inline]

Testa se un numero � not-a-number.

Definition at line 64 of file geometry/utils.h.

Referenced by float2string(), and sameFloat().

template<class T>
bool RDK2::Geometry::readVariable ( istream &  is,
cstr  name,
T &  t 
) [inline]

Definition at line 141 of file pgmfile.cpp.

DMatrix<double> RDK2::Geometry::reassembleFromEig ( double  lambda1,
Point2d  v1,
double  lambda2,
Point2d  v2 
)

vector<Segment2d> RDK2::Geometry::recursiveLineFitting ( const vector< Point2d > &  points,
double  maxErrorAllowed 
)

Definition at line 74 of file geometryfunctions.cpp.

References RDK2::Geometry::Segment2< Numeric >::p0, RDK2::Geometry::Segment2< Numeric >::p1, and pointDistFromLine().

Here is the call graph for this function:

void RDK2::Geometry::regression ( const std::vector< RDK2::Geometry::Point2d > &  points,
double theta,
double rho,
double error 
)

Line fitting: doesn't use error (=0) yet

Definition at line 80 of file geometry/utils.cpp.

References square().

Referenced by RDK2::SensorData::laserdata2avv().

Here is the call graph for this function:

DMatrix< double > RDK2::Geometry::rot3z ( double  theta  ) 

3x3 rotation matrix around Z

Definition at line 27 of file dmatrix_algebra.cpp.

Referenced by addNormalDist().

template<typename T>
bool RDK2::Geometry::sameFloat ( a,
b,
epsilon = 0 
) [inline]

Definition at line 75 of file geometry/utils.h.

References RDK_ISNAN().

Referenced by val2string2val().

Here is the call graph for this function:

template<class Numeric>
bool RDK2::Geometry::savePGM ( std::string  file,
const DMatrix< Numeric > &  matrix 
) [inline]

Your matrix will be normalized on black-white.

Definition at line 141 of file dmatrix_pgm.h.

References normalize(), RDK2::Profiling::ofs, and savePGM().

Here is the call graph for this function:

template<typename Numeric>
bool RDK2::Geometry::savePGM ( const DMatrix< Numeric > &  matrix,
std::ostream &  os 
) [inline]

Your matrix will *not* be normalized.

Definition at line 124 of file dmatrix_pgm.h.

References RDK2::Geometry::DMatrix< X >::columns(), and RDK2::Geometry::DMatrix< X >::rows().

Referenced by savePGM().

Here is the call graph for this function:

int RDK2::Geometry::sedgewick_ccw ( const Point2d &  p0,
const Point2d &  p1,
const Point2d &  p2 
)

bool RDK2::Geometry::sedgewickIntersect ( const Point2d &  s0p0,
const Point2d &  s0p1,
const Point2d &  s1p0,
const Point2d &  s1p1 
)

Definition at line 39 of file segment.cpp.

References sedgewick_ccw().

Referenced by RDK2::Geometry::Viewport::crossesSegment().

Here is the call graph for this function:

template<class X>
int RDK2::Geometry::sgn ( d  )  [inline]

Definition at line 40 of file geometry/utils.h.

Referenced by diff().

template<class X>
X RDK2::Geometry::square ( const X &  x  )  [inline]

bool RDK2::Geometry::string2float ( const std::string &  s,
double v 
)

Parsing tenendo conto di RDK_NAN_STRING, RDK_INF_STRING.

Definition at line 43 of file geometry/utils.cpp.

References RDK_INF64, RDK_INF_STRING, RDK_NAN, and RDK_NAN_STRING.

Referenced by string2val2string(), and val2string2val().

bool RDK2::Geometry::string2float ( const std::string &  s,
float &  v 
)

Parsing tenendo conto di RDK_NAN_STRING, RDK_INF_STRING.

Definition at line 37 of file geometry/utils.cpp.

References RDK_INF32, RDK_INF_STRING, RDK_NAN, and RDK_NAN_STRING.

Point2od RDK2::Geometry::toGlobalReferenceSystem ( const Point2od &  point,
const Point2od &  localReferenceSystem 
) [inline]

Point2d RDK2::Geometry::toGlobalReferenceSystem ( const Point2d &  point,
const Point2od &  localReferenceSystem 
) [inline]

Point2od RDK2::Geometry::toLocalReferenceSystem ( const Point2od &  point,
const Point2od &  localReferenceSystem 
) [inline]

Point2d RDK2::Geometry::toLocalReferenceSystem ( const Point2d &  point,
const Point2od &  localReferenceSystem 
) [inline]

Point3d RDK2::Geometry::Trans3d ( const Point3od &  pose,
const Point3d &  point 
)

PPVec RDK2::Geometry::translateTo ( const PPVec &  vec,
Point2od  ds 
)

Definition at line 31 of file reference.cpp.

References translateTo().

Here is the call graph for this function:

PolarPoint RDK2::Geometry::translateTo ( PolarPoint  p,
Point2od  ds 
)

Definition at line 25 of file reference.cpp.

References RDK2::Geometry::PolarPoint::getCartesian(), RDK2::Geometry::Point2< Numeric >::rot(), and RDK2::Geometry::Point2o< Numeric >::theta.

Referenced by translateTo().

Here is the call graph for this function:

double RDK2::Geometry::uncertainty ( const DMatrix< double > &  m  ) 

DEPRECATED.

Measure of uncertainty for covariance matrix

double RDK2::Geometry::uncertainty ( const DMatrixD &  m  ) 

Definition at line 78 of file dmatrix_algebra.cpp.

References eig22_gsl(), and max().

Here is the call graph for this function:

template<class Numeric>
Point3o<Numeric> RDK2::Geometry::weightedMean ( const Point3o< Numeric > &  p1,
const Point3o< Numeric > &  p2,
double  alpha 
) [inline]

template<class Numeric>
Point2o<Numeric> RDK2::Geometry::weightedMean ( const Point2o< Numeric > &  p1,
const Point2o< Numeric > &  p2,
double  alpha 
) [inline]

Definition at line 137 of file point2o.h.

References angleWeightedMean(), RDK2::Geometry::Point2o< Numeric >::theta, RDK2::Geometry::Point2< Numeric >::x, and RDK2::Geometry::Point2< Numeric >::y.

Here is the call graph for this function:


Generated on Tue Mar 3 15:05:52 2009 for OpenRDK by  doxygen 1.5.6