Function bodies 2,155 total
VertexGDir method · c · L276-L278 (3 LOC)include/G2oTypes.h
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
VertexGDir(){}VertexGDir method · c · L279-L281 (3 LOC)include/G2oTypes.h
VertexGDir(Eigen::Matrix3d pRwg){
setEstimate(GDirection(pRwg));
}setToOriginImpl method · c · L285-L287 (3 LOC)include/G2oTypes.h
virtual void setToOriginImpl() {
}oplusImpl method · c · L288-L292 (5 LOC)include/G2oTypes.h
virtual void oplusImpl(const double* update_){
_estimate.Update(update_);
updateCache();
}VertexScale class · c · L296-L317 (22 LOC)include/G2oTypes.h
class VertexScale : public g2o::BaseVertex<1,double>
{
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
VertexScale(){
setEstimate(1.0);
}
VertexScale(double ps){
setEstimate(ps);
}
virtual bool read(std::istream& is){return false;}
virtual bool write(std::ostream& os) const{return false;}
virtual void setToOriginImpl(){
setEstimate(1.0);
}
virtual void oplusImpl(const double *update_){
setEstimate(estimate()*exp(*update_));
}
};VertexScale method · c · L298-L302 (5 LOC)include/G2oTypes.h
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
VertexScale(){
setEstimate(1.0);
}VertexScale method · c · L303-L305 (3 LOC)include/G2oTypes.h
VertexScale(double ps){
setEstimate(ps);
}About: code-quality intelligence by Repobility · https://repobility.com
setToOriginImpl method · c · L309-L312 (4 LOC)include/G2oTypes.h
virtual void setToOriginImpl(){
setEstimate(1.0);
}oplusImpl method · c · L313-L316 (4 LOC)include/G2oTypes.h
virtual void oplusImpl(const double *update_){
setEstimate(estimate()*exp(*update_));
}VertexInvDepth class · c · L321-L340 (20 LOC)include/G2oTypes.h
class VertexInvDepth : public g2o::BaseVertex<1,InvDepthPoint>
{
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
VertexInvDepth(){}
VertexInvDepth(double invDepth, double u, double v, KeyFrame* pHostKF){
setEstimate(InvDepthPoint(invDepth, u, v, pHostKF));
}
virtual bool read(std::istream& is){return false;}
virtual bool write(std::ostream& os) const{return false;}
virtual void setToOriginImpl() {
}
virtual void oplusImpl(const double* update_){
_estimate.Update(update_);
updateCache();
}
};VertexInvDepth method · c · L323-L325 (3 LOC)include/G2oTypes.h
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
VertexInvDepth(){}VertexInvDepth method · c · L326-L328 (3 LOC)include/G2oTypes.h
VertexInvDepth(double invDepth, double u, double v, KeyFrame* pHostKF){
setEstimate(InvDepthPoint(invDepth, u, v, pHostKF));
}setToOriginImpl method · c · L332-L334 (3 LOC)include/G2oTypes.h
virtual void setToOriginImpl() {
}oplusImpl method · c · L335-L339 (5 LOC)include/G2oTypes.h
virtual void oplusImpl(const double* update_){
_estimate.Update(update_);
updateCache();
}EdgeMono class · c · L341-L388 (48 LOC)include/G2oTypes.h
class EdgeMono : public g2o::BaseBinaryEdge<2,Eigen::Vector2d,g2o::VertexSBAPointXYZ,VertexPose>
{
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
EdgeMono(int cam_idx_=0): cam_idx(cam_idx_){
}
virtual bool read(std::istream& is){return false;}
virtual bool write(std::ostream& os) const{return false;}
void computeError(){
const g2o::VertexSBAPointXYZ* VPoint = static_cast<const g2o::VertexSBAPointXYZ*>(_vertices[0]);
const VertexPose* VPose = static_cast<const VertexPose*>(_vertices[1]);
const Eigen::Vector2d obs(_measurement);
_error = obs - VPose->estimate().Project(VPoint->estimate(),cam_idx);
}
virtual void linearizeOplus();
bool isDepthPositive()
{
const g2o::VertexSBAPointXYZ* VPoint = static_cast<const g2o::VertexSBAPointXYZ*>(_vertices[0]);
const VertexPose* VPose = static_cast<const VertexPose*>(_vertices[1]);
return VPose->estimate().isDepthPositive(VPoint->estimate(),cam_idx);
Repobility · code-quality intelligence · https://repobility.com
computeError method · c · L352-L358 (7 LOC)include/G2oTypes.h
void computeError(){
const g2o::VertexSBAPointXYZ* VPoint = static_cast<const g2o::VertexSBAPointXYZ*>(_vertices[0]);
const VertexPose* VPose = static_cast<const VertexPose*>(_vertices[1]);
const Eigen::Vector2d obs(_measurement);
_error = obs - VPose->estimate().Project(VPoint->estimate(),cam_idx);
}isDepthPositive method · c · L362-L368 (7 LOC)include/G2oTypes.h
bool isDepthPositive()
{
const g2o::VertexSBAPointXYZ* VPoint = static_cast<const g2o::VertexSBAPointXYZ*>(_vertices[0]);
const VertexPose* VPose = static_cast<const VertexPose*>(_vertices[1]);
return VPose->estimate().isDepthPositive(VPoint->estimate(),cam_idx);
}GetJacobian method · c · L369-L376 (8 LOC)include/G2oTypes.h
Eigen::Matrix<double,2,9> GetJacobian(){
linearizeOplus();
Eigen::Matrix<double,2,9> J;
J.block<2,3>(0,0) = _jacobianOplusXi;
J.block<2,6>(0,3) = _jacobianOplusXj;
return J;
}GetHessian method · c · L377-L384 (8 LOC)include/G2oTypes.h
Eigen::Matrix<double,9,9> GetHessian(){
linearizeOplus();
Eigen::Matrix<double,2,9> J;
J.block<2,3>(0,0) = _jacobianOplusXi;
J.block<2,6>(0,3) = _jacobianOplusXj;
return J.transpose()*information()*J;
}EdgeMonoOnlyPose class · c · L389-L423 (35 LOC)include/G2oTypes.h
class EdgeMonoOnlyPose : public g2o::BaseUnaryEdge<2,Eigen::Vector2d,VertexPose>
{
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
EdgeMonoOnlyPose(const Eigen::Vector3f &Xw_, int cam_idx_=0):Xw(Xw_.cast<double>()),
cam_idx(cam_idx_){}
virtual bool read(std::istream& is){return false;}
virtual bool write(std::ostream& os) const{return false;}
void computeError(){
const VertexPose* VPose = static_cast<const VertexPose*>(_vertices[0]);
const Eigen::Vector2d obs(_measurement);
_error = obs - VPose->estimate().Project(Xw,cam_idx);
}
virtual void linearizeOplus();
bool isDepthPositive()
{
const VertexPose* VPose = static_cast<const VertexPose*>(_vertices[0]);
return VPose->estimate().isDepthPositive(Xw,cam_idx);
}
Eigen::Matrix<double,6,6> GetHessian(){
linearizeOplus();
return _jacobianOplusXi.transpose()*information()*_jacobianOplusXi;
}
public:
const Eigen::Vector3d Xw;
computeError method · c · L400-L405 (6 LOC)include/G2oTypes.h
void computeError(){
const VertexPose* VPose = static_cast<const VertexPose*>(_vertices[0]);
const Eigen::Vector2d obs(_measurement);
_error = obs - VPose->estimate().Project(Xw,cam_idx);
}isDepthPositive method · c · L408-L413 (6 LOC)include/G2oTypes.h
bool isDepthPositive()
{
const VertexPose* VPose = static_cast<const VertexPose*>(_vertices[0]);
return VPose->estimate().isDepthPositive(Xw,cam_idx);
}GetHessian method · c · L414-L418 (5 LOC)include/G2oTypes.h
Eigen::Matrix<double,6,6> GetHessian(){
linearizeOplus();
return _jacobianOplusXi.transpose()*information()*_jacobianOplusXi;
}Same scanner, your repo: https://repobility.com — Repobility
EdgeStereo class · c · L424-L463 (40 LOC)include/G2oTypes.h
class EdgeStereo : public g2o::BaseBinaryEdge<3,Eigen::Vector3d,g2o::VertexSBAPointXYZ,VertexPose>
{
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
EdgeStereo(int cam_idx_=0): cam_idx(cam_idx_){}
virtual bool read(std::istream& is){return false;}
virtual bool write(std::ostream& os) const{return false;}
void computeError(){
const g2o::VertexSBAPointXYZ* VPoint = static_cast<const g2o::VertexSBAPointXYZ*>(_vertices[0]);
const VertexPose* VPose = static_cast<const VertexPose*>(_vertices[1]);
const Eigen::Vector3d obs(_measurement);
_error = obs - VPose->estimate().ProjectStereo(VPoint->estimate(),cam_idx);
}
virtual void linearizeOplus();
Eigen::Matrix<double,3,9> GetJacobian(){
linearizeOplus();
Eigen::Matrix<double,3,9> J;
J.block<3,3>(0,0) = _jacobianOplusXi;
J.block<3,6>(0,3) = _jacobianOplusXj;
return J;
}
Eigen::Matrix<double,9,9> GetHessian(){
linearizeOplus();
computeError method · c · L434-L440 (7 LOC)include/G2oTypes.h
void computeError(){
const g2o::VertexSBAPointXYZ* VPoint = static_cast<const g2o::VertexSBAPointXYZ*>(_vertices[0]);
const VertexPose* VPose = static_cast<const VertexPose*>(_vertices[1]);
const Eigen::Vector3d obs(_measurement);
_error = obs - VPose->estimate().ProjectStereo(VPoint->estimate(),cam_idx);
}GetJacobian method · c · L444-L451 (8 LOC)include/G2oTypes.h
Eigen::Matrix<double,3,9> GetJacobian(){
linearizeOplus();
Eigen::Matrix<double,3,9> J;
J.block<3,3>(0,0) = _jacobianOplusXi;
J.block<3,6>(0,3) = _jacobianOplusXj;
return J;
}GetHessian method · c · L452-L459 (8 LOC)include/G2oTypes.h
Eigen::Matrix<double,9,9> GetHessian(){
linearizeOplus();
Eigen::Matrix<double,3,9> J;
J.block<3,3>(0,0) = _jacobianOplusXi;
J.block<3,6>(0,3) = _jacobianOplusXj;
return J.transpose()*information()*J;
}EdgeStereoOnlyPose class · c · L464-L493 (30 LOC)include/G2oTypes.h
class EdgeStereoOnlyPose : public g2o::BaseUnaryEdge<3,Eigen::Vector3d,VertexPose>
{
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
EdgeStereoOnlyPose(const Eigen::Vector3f &Xw_, int cam_idx_=0):
Xw(Xw_.cast<double>()), cam_idx(cam_idx_){}
virtual bool read(std::istream& is){return false;}
virtual bool write(std::ostream& os) const{return false;}
void computeError(){
const VertexPose* VPose = static_cast<const VertexPose*>(_vertices[0]);
const Eigen::Vector3d obs(_measurement);
_error = obs - VPose->estimate().ProjectStereo(Xw, cam_idx);
}
virtual void linearizeOplus();
Eigen::Matrix<double,6,6> GetHessian(){
linearizeOplus();
return _jacobianOplusXi.transpose()*information()*_jacobianOplusXi;
}
public:
const Eigen::Vector3d Xw; // 3D point coordinates
const int cam_idx;
};computeError method · c · L476-L481 (6 LOC)include/G2oTypes.h
void computeError(){
const VertexPose* VPose = static_cast<const VertexPose*>(_vertices[0]);
const Eigen::Vector3d obs(_measurement);
_error = obs - VPose->estimate().ProjectStereo(Xw, cam_idx);
}GetHessian method · c · L484-L488 (5 LOC)include/G2oTypes.h
Eigen::Matrix<double,6,6> GetHessian(){
linearizeOplus();
return _jacobianOplusXi.transpose()*information()*_jacobianOplusXi;
}EdgeInertial class · c · L494-L544 (51 LOC)include/G2oTypes.h
class EdgeInertial : public g2o::BaseMultiEdge<9,Vector9d>
{
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
EdgeInertial(IMU::Preintegrated* pInt);
virtual bool read(std::istream& is){return false;}
virtual bool write(std::ostream& os) const{return false;}
void computeError();
virtual void linearizeOplus();
Eigen::Matrix<double,24,24> GetHessian(){
linearizeOplus();
Eigen::Matrix<double,9,24> J;
J.block<9,6>(0,0) = _jacobianOplus[0];
J.block<9,3>(0,6) = _jacobianOplus[1];
J.block<9,3>(0,9) = _jacobianOplus[2];
J.block<9,3>(0,12) = _jacobianOplus[3];
J.block<9,6>(0,15) = _jacobianOplus[4];
J.block<9,3>(0,21) = _jacobianOplus[5];
return J.transpose()*information()*J;
}
Eigen::Matrix<double,18,18> GetHessianNoPose1(){
linearizeOplus();
Eigen::Matrix<double,9,18> J;
J.block<9,3>(0,0) = _jacobianOplus[1];
J.block<9,3>(0,3) = _jacobianOplus[2];
J.Repobility analyzer · published findings · https://repobility.com
GetHessian method · c · L507-L518 (12 LOC)include/G2oTypes.h
Eigen::Matrix<double,24,24> GetHessian(){
linearizeOplus();
Eigen::Matrix<double,9,24> J;
J.block<9,6>(0,0) = _jacobianOplus[0];
J.block<9,3>(0,6) = _jacobianOplus[1];
J.block<9,3>(0,9) = _jacobianOplus[2];
J.block<9,3>(0,12) = _jacobianOplus[3];
J.block<9,6>(0,15) = _jacobianOplus[4];
J.block<9,3>(0,21) = _jacobianOplus[5];
return J.transpose()*information()*J;
}GetHessianNoPose1 method · c · L519-L529 (11 LOC)include/G2oTypes.h
Eigen::Matrix<double,18,18> GetHessianNoPose1(){
linearizeOplus();
Eigen::Matrix<double,9,18> J;
J.block<9,3>(0,0) = _jacobianOplus[1];
J.block<9,3>(0,3) = _jacobianOplus[2];
J.block<9,3>(0,6) = _jacobianOplus[3];
J.block<9,6>(0,9) = _jacobianOplus[4];
J.block<9,3>(0,15) = _jacobianOplus[5];
return J.transpose()*information()*J;
}GetHessian2 method · c · L530-L537 (8 LOC)include/G2oTypes.h
Eigen::Matrix<double,9,9> GetHessian2(){
linearizeOplus();
Eigen::Matrix<double,9,9> J;
J.block<9,6>(0,0) = _jacobianOplus[4];
J.block<9,3>(0,6) = _jacobianOplus[5];
return J.transpose()*information()*J;
}EdgeInertialGS class · c · L548-L631 (84 LOC)include/G2oTypes.h
class EdgeInertialGS : public g2o::BaseMultiEdge<9,Vector9d>
{
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
// EdgeInertialGS(IMU::Preintegrated* pInt);
EdgeInertialGS(IMU::Preintegrated* pInt);
virtual bool read(std::istream& is){return false;}
virtual bool write(std::ostream& os) const{return false;}
void computeError();
virtual void linearizeOplus();
const Eigen::Matrix3d JRg, JVg, JPg;
const Eigen::Matrix3d JVa, JPa;
IMU::Preintegrated* mpInt;
const double dt;
Eigen::Vector3d g, gI;
Eigen::Matrix<double,27,27> GetHessian(){
linearizeOplus();
Eigen::Matrix<double,9,27> J;
J.block<9,6>(0,0) = _jacobianOplus[0];
J.block<9,3>(0,6) = _jacobianOplus[1];
J.block<9,3>(0,9) = _jacobianOplus[2];
J.block<9,3>(0,12) = _jacobianOplus[3];
J.block<9,6>(0,15) = _jacobianOplus[4];
J.block<9,3>(0,21) = _jacobianOplus[5];
J.block<9,2>(0,24) = _jacobianOplus[6];
J.block<9GetHessian method · c · L567-L580 (14 LOC)include/G2oTypes.h
Eigen::Matrix<double,27,27> GetHessian(){
linearizeOplus();
Eigen::Matrix<double,9,27> J;
J.block<9,6>(0,0) = _jacobianOplus[0];
J.block<9,3>(0,6) = _jacobianOplus[1];
J.block<9,3>(0,9) = _jacobianOplus[2];
J.block<9,3>(0,12) = _jacobianOplus[3];
J.block<9,6>(0,15) = _jacobianOplus[4];
J.block<9,3>(0,21) = _jacobianOplus[5];
J.block<9,2>(0,24) = _jacobianOplus[6];
J.block<9,1>(0,26) = _jacobianOplus[7];
return J.transpose()*information()*J;
}GetHessian2 method · c · L581-L594 (14 LOC)include/G2oTypes.h
Eigen::Matrix<double,27,27> GetHessian2(){
linearizeOplus();
Eigen::Matrix<double,9,27> J;
J.block<9,3>(0,0) = _jacobianOplus[2];
J.block<9,3>(0,3) = _jacobianOplus[3];
J.block<9,2>(0,6) = _jacobianOplus[6];
J.block<9,1>(0,8) = _jacobianOplus[7];
J.block<9,3>(0,9) = _jacobianOplus[1];
J.block<9,3>(0,12) = _jacobianOplus[5];
J.block<9,6>(0,15) = _jacobianOplus[0];
J.block<9,6>(0,21) = _jacobianOplus[4];
return J.transpose()*information()*J;
}GetHessian3 method · c · L595-L604 (10 LOC)include/G2oTypes.h
Eigen::Matrix<double,9,9> GetHessian3(){
linearizeOplus();
Eigen::Matrix<double,9,9> J;
J.block<9,3>(0,0) = _jacobianOplus[2];
J.block<9,3>(0,3) = _jacobianOplus[3];
J.block<9,2>(0,6) = _jacobianOplus[6];
J.block<9,1>(0,8) = _jacobianOplus[7];
return J.transpose()*information()*J;
}GetHessianScale method · c · L605-L612 (8 LOC)include/G2oTypes.h
Eigen::Matrix<double,1,1> GetHessianScale(){
linearizeOplus();
Eigen::Matrix<double,9,1> J = _jacobianOplus[7];
return J.transpose()*information()*J;
}About: code-quality intelligence by Repobility · https://repobility.com
GetHessianBiasGyro method · c · L613-L618 (6 LOC)include/G2oTypes.h
Eigen::Matrix<double,3,3> GetHessianBiasGyro(){
linearizeOplus();
Eigen::Matrix<double,9,3> J = _jacobianOplus[2];
return J.transpose()*information()*J;
}GetHessianBiasAcc method · c · L619-L624 (6 LOC)include/G2oTypes.h
Eigen::Matrix<double,3,3> GetHessianBiasAcc(){
linearizeOplus();
Eigen::Matrix<double,9,3> J = _jacobianOplus[3];
return J.transpose()*information()*J;
}GetHessianGDir method · c · L625-L630 (6 LOC)include/G2oTypes.h
Eigen::Matrix<double,2,2> GetHessianGDir(){
linearizeOplus();
Eigen::Matrix<double,9,2> J = _jacobianOplus[6];
return J.transpose()*information()*J;
}EdgeGyroRW class · c · L632-L668 (37 LOC)include/G2oTypes.h
class EdgeGyroRW : public g2o::BaseBinaryEdge<3,Eigen::Vector3d,VertexGyroBias,VertexGyroBias>
{
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
EdgeGyroRW(){}
virtual bool read(std::istream& is){return false;}
virtual bool write(std::ostream& os) const{return false;}
void computeError(){
const VertexGyroBias* VG1= static_cast<const VertexGyroBias*>(_vertices[0]);
const VertexGyroBias* VG2= static_cast<const VertexGyroBias*>(_vertices[1]);
_error = VG2->estimate()-VG1->estimate();
}
virtual void linearizeOplus(){
_jacobianOplusXi = -Eigen::Matrix3d::Identity();
_jacobianOplusXj.setIdentity();
}
Eigen::Matrix<double,6,6> GetHessian(){
linearizeOplus();
Eigen::Matrix<double,3,6> J;
J.block<3,3>(0,0) = _jacobianOplusXi;
J.block<3,3>(0,3) = _jacobianOplusXj;
return J.transpose()*information()*J;
}
Eigen::Matrix3d GetHessian2(){
linearizeOplus();
returEdgeGyroRW method · c · L637-L640 (4 LOC)include/G2oTypes.h
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
EdgeGyroRW(){}computeError method · c · L644-L649 (6 LOC)include/G2oTypes.h
void computeError(){
const VertexGyroBias* VG1= static_cast<const VertexGyroBias*>(_vertices[0]);
const VertexGyroBias* VG2= static_cast<const VertexGyroBias*>(_vertices[1]);
_error = VG2->estimate()-VG1->estimate();
}linearizeOplus method · c · L650-L654 (5 LOC)include/G2oTypes.h
virtual void linearizeOplus(){
_jacobianOplusXi = -Eigen::Matrix3d::Identity();
_jacobianOplusXj.setIdentity();
}GetHessian method · c · L655-L662 (8 LOC)include/G2oTypes.h
Eigen::Matrix<double,6,6> GetHessian(){
linearizeOplus();
Eigen::Matrix<double,3,6> J;
J.block<3,3>(0,0) = _jacobianOplusXi;
J.block<3,3>(0,3) = _jacobianOplusXj;
return J.transpose()*information()*J;
}Repobility · code-quality intelligence · https://repobility.com
GetHessian2 method · c · L663-L667 (5 LOC)include/G2oTypes.h
Eigen::Matrix3d GetHessian2(){
linearizeOplus();
return _jacobianOplusXj.transpose()*information()*_jacobianOplusXj;
}EdgeAccRW class · c · L669-L704 (36 LOC)include/G2oTypes.h
class EdgeAccRW : public g2o::BaseBinaryEdge<3,Eigen::Vector3d,VertexAccBias,VertexAccBias>
{
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
EdgeAccRW(){}
virtual bool read(std::istream& is){return false;}
virtual bool write(std::ostream& os) const{return false;}
void computeError(){
const VertexAccBias* VA1= static_cast<const VertexAccBias*>(_vertices[0]);
const VertexAccBias* VA2= static_cast<const VertexAccBias*>(_vertices[1]);
_error = VA2->estimate()-VA1->estimate();
}
virtual void linearizeOplus(){
_jacobianOplusXi = -Eigen::Matrix3d::Identity();
_jacobianOplusXj.setIdentity();
}
Eigen::Matrix<double,6,6> GetHessian(){
linearizeOplus();
Eigen::Matrix<double,3,6> J;
J.block<3,3>(0,0) = _jacobianOplusXi;
J.block<3,3>(0,3) = _jacobianOplusXj;
return J.transpose()*information()*J;
}
Eigen::Matrix3d GetHessian2(){
linearizeOplus();
return _jacobiEdgeAccRW method · c · L673-L676 (4 LOC)include/G2oTypes.h
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
EdgeAccRW(){}