summaryrefslogtreecommitdiff
path: root/src/feature.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/feature.cpp')
-rw-r--r--src/feature.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/feature.cpp b/src/feature.cpp
index 22bf776..66b0677 100644
--- a/src/feature.cpp
+++ b/src/feature.cpp
@@ -26,7 +26,7 @@
*--------------------------------------------------------------------------------------
*/
Feature::Feature ( int id, const Vector3d &xs, const Vector3d &xr,
- const Vector3d &xbw, const Quaterniond &q, double z)
+ const Vector3d &xbw, const Quaterniond &q, double z, Mat &p)
{
_id = id;
Vector3d xib;
@@ -35,6 +35,7 @@ Feature::Feature ( int id, const Vector3d &xs, const Vector3d &xr,
X0 = X;
xb0w = xbw;
q0 = q;
+ _patch = p;
} /* ----- end of method Feature::Feature (constructor) ----- */
/*
@@ -45,7 +46,7 @@ Feature::Feature ( int id, const Vector3d &xs, const Vector3d &xr,
*--------------------------------------------------------------------------------------
*/
Feature::Feature ( int id, const Vector3d &xs, const Vector3d &xbw,
- const Quaterniond &q)
+ const Quaterniond &q, Mat &p)
{
_id = id;
Vector3d xib, pib;
@@ -59,6 +60,7 @@ Feature::Feature ( int id, const Vector3d &xs, const Vector3d &xbw,
X0 = X;
xb0w = xbw;
q0 = q;
+ _patch = p;
}
@@ -953,11 +955,15 @@ Feature::P0 ( measurement_type t )
double p0 = FEATURECOVX;
double p1 = FEATURECOVY;
double p2;
+ if (t==REFLECTION) {
#ifdef INITDEPTH
p2 = FEATURECOVRHO;
#else
p2 = FEATURECOVRHO_MONO;
#endif
+ } else {
+ p2 = FEATURECOVRHO_MONO;
+ }
P << p0, 0., 0.,
0., p1, 0.,
0., 0., p2;
@@ -1107,3 +1113,9 @@ Feature::asVector ( const Vector3d &m )
return ;
} /* ----- end of method Feature::asVector ----- */
+Mat
+Feature::patch ( )
+{
+ return _patch ;
+} /* ----- end of method Feature::patch ----- */
+