6 #include <gmapping/utils/utils_export.h> 12 double UTILS_EXPORT
sampleGaussian(
double sigma,
unsigned long int S=0);
20 Covariance3
operator + (
const Covariance3 & cov)
const;
39 void computeFromSamples(
const std::vector<OrientedPoint> & poses);
40 void computeFromSamples(
const std::vector<OrientedPoint> & poses,
const std::vector<double>& weights );
43 template<
typename Po
intIterator,
typename WeightIterator>
49 WeightIterator wt=weightBegin;
50 double *w=
new double();
52 for (PointIterator pt=pointBegin; pt!=pointEnd; pt++){
70 for (PointIterator pt=pointBegin; pt!=pointEnd; pt++){
75 cov.xx+=*w*delta.
x*delta.
x;
76 cov.yy+=*w*delta.
y*delta.
y;
78 cov.xy+=*w*delta.
x*delta.
y;
79 cov.yt+=*w*delta.
y*delta.
theta;
80 cov.xt+=*w*delta.
x*delta.
theta;
98 template<
typename Po
intIterator>
105 for (PointIterator pt=pointBegin; pt!=pointEnd; pt++){
120 for (PointIterator pt=pointBegin; pt!=pointEnd; pt++){
124 cov.xx+=delta.
x*delta.
x;
125 cov.yy+=delta.
y*delta.
y;
127 cov.xy+=delta.
x*delta.
y;
128 cov.yt+=delta.
y*delta.
theta;
129 cov.xt+=delta.
x*delta.
theta;
const char *const *argv double delta
double UTILS_EXPORT sampleUniformDouble(double min, double max)
point< T > min(const point< T > &p1, const point< T > &p2)
Covariance3 operator+(const Covariance3 &cov) const
Gaussian3 computeGaussianFromSamples(PointIterator &pointBegin, PointIterator &pointEnd, WeightIterator &weightBegin, WeightIterator &weightEnd)
double UTILS_EXPORT sampleGaussian(double sigma, unsigned long int S=0)
point< T > max(const point< T > &p1, const point< T > &p2)
double UTILS_EXPORT evalGaussian(double sigmaSquare, double delta)
double UTILS_EXPORT evalLogGaussian(double sigmaSquare, double delta)
int UTILS_EXPORT sampleUniformInt(int max)
EigenCovariance3 covariance
orientedpoint< double, double > OrientedPoint