35 namespace deprecated {
47 J.block<3,3>(0,0) = -Eigen::Matrix3d::Identity();
66 for (
int i=0; i<3; i++) is >> meas[i];
70 for (
int i=0; i<
information().rows() && is.good(); i++)
71 for (
int j=i; j<
information().cols() && is.good(); j++){
87 for (
int i=0; i<3; i++) os <<
measurement()[i] <<
" ";
99 const Eigen::Vector3d& pt = point->
estimate();
112 Eigen::Vector3d p =
cache->
w2i() * pt;
114 Eigen::Vector3d perr;
115 perr.head<2>() = p.head<2>()/p(2);
123 #ifdef EDGE_PROJECT_DISPARITY_ANALYTIC_JACOBIAN 140 const Eigen::Vector3d& pt = vp->
estimate();
160 Eigen::Matrix<double, 3, 9> Jhom;
161 Eigen::Vector3d Zprime =
cache->
w2i() * pt;
163 Jhom.block<2,9>(0,0) = 1/(Zprime(2)*Zprime(2)) * (Jprime.block<2,9>(0,0)*Zprime(2) - Zprime.head<2>() * Jprime.block<1,9>(2,0));
164 Jhom.block<1,9>(2,0) = - 1/(Zprime(2)*Zprime(2)) * Jprime.block<1,9>(2,0);
175 const Eigen::Vector3d &pt = point->
estimate();
182 Eigen::Vector3d p =
cache->
w2i() * pt;
184 Eigen::Vector3d perr;
185 perr.head<2>() = p.head<2>()/p(2);
197 assert(from.size() == 1 && from.count(
_vertices[0]) == 1 &&
"Can not initialize VertexDepthCam position by VertexTrackXYZ");
206 const Eigen::Matrix<double, 3, 3>& invKcam =
params->
invKcam();
217 #ifdef G2O_HAVE_OPENGL 223 if (
typeid(*element).name()!=_typeName)
228 glColor3f(0.4f,0.4f,0.2f);
229 glPushAttrib(GL_ENABLE_BIT);
230 glDisable(GL_LIGHTING);
bool installParameter(ParameterType *&p, size_t argNo, int paramId=-1)
const Vertex * vertex(size_t i) const
const Eigen::Matrix3d & invKcam() const
virtual void linearizeOplus()
Abstract action that operates on a graph entity.
std::set< Vertex * > VertexSet
const Eigen::Affine3d & w2i() const
return the world to image transform
virtual void initialEstimate(const OptimizableGraph::VertexSet &from, OptimizableGraph::Vertex *to)
JacobianXiOplusType _jacobianOplusXi
bool setParameterId(int argNum, int paramId)
const Eigen::Isometry3d & offsetMatrix() const
rotation of the offset as 3x3 rotation matrix
void resolveCache(CacheType *&cache, OptimizableGraph::Vertex *, const std::string &_type, const ParameterVector ¶meters)
std::vector< Parameter * > ParameterVector
const Eigen::Matrix3d & Kcam_inverseOffsetR() const
Eigen::Matrix< double, 3, 9 > J
3D pose Vertex, (x,y,z,qw,qx,qy,qz) the parameterization for the increments constructed is a 6d vecto...
void setEstimate(const EstimateType &et)
set the estimate for the vertex also calls updateCache()
A general case Vertex for optimization.
void resizeParameters(size_t newSize)
const Eigen::Isometry3d & w2lMatrix() const
EIGEN_STRONG_INLINE const InformationType & information() const
information matrix of the constraint
const EstimateType & estimate() const
return the current estimate of the vertex
EdgeSE3PointXYZDisparity()
JacobianXjOplusType _jacobianOplusXj
virtual bool write(std::ostream &os) const
write the vertex to a stream
virtual bool resolveCaches()
virtual void setMeasurement(const Eigen::Vector3d &m)
EIGEN_STRONG_INLINE const Measurement & measurement() const
accessor functions for the measurement represented by the edge
virtual bool read(std::istream &is)
read the vertex from a stream, i.e., the internal state of the vertex
virtual bool setMeasurementFromState()
const Vector3D & translation() const
VertexContainer _vertices