31 #ifdef G2O_HAVE_OPENGL 38 using namespace Eigen;
41 namespace deprecated {
61 for (
int i=0; i<7; i++)
65 for (
int i=0; i<6; i++)
66 for (
int j=i; j<6; j++) {
76 for (
int i=0; i<7; i++)
78 for (
int i=0; i<6; i++)
79 for (
int j=i; j<6; j++){
89 if (from_.count(from) > 0) {
95 #ifdef EDGE_SE3_QUAT_ANALYTIC_JACOBIAN 104 Matrix3d iRiRj = iXiXj.
rotation().toRotationMatrix();
108 izR(0,0), izR(0,1), izR(0,2), izt(0),
109 izR(1,0), izR(1,1), izR(1,2), izt(1),
110 izR(2,0), izR(2,1), izR(2,2), izt(2),
111 iRiRj(0,0), iRiRj(0,1), iRiRj(0,2), ititj(0),
112 iRiRj(1,0), iRiRj(1,1), iRiRj(1,2), ititj(1),
113 iRiRj(2,0), iRiRj(2,1), iRiRj(2,2), ititj(2));
145 *(params->
os) << std::endl;
149 #ifdef G2O_HAVE_OPENGL 156 refreshPropertyPtrs(params_);
157 if (! _previousParams)
160 if (_show && !_show->value())
166 glColor3f(0.5f,0.5f,0.8f);
167 glPushAttrib(GL_ENABLE_BIT);
168 glDisable(GL_LIGHTING);
const Vertex * vertex(size_t i) const
#define __PRETTY_FUNCTION__
Abstract action that operates on a graph entity.
std::set< Vertex * > VertexSet
void jacobian_3d_qman(Eigen::MatrixBase< Derived > &Ji, Eigen::MatrixBase< Derived > &Jj, const double &z11, const double &z12, const double &z13, const double &z14, const double &z21, const double &z22, const double &z23, const double &z24, const double &z31, const double &z32, const double &z33, const double &z34, const double &xab11, const double &xab12, const double &xab13, const double &xab14, const double &xab21, const double &xab22, const double &xab23, const double &xab24, const double &xab31, const double &xab32, const double &xab33, const double &xab34)
Eigen::Matrix< double, 7, 1 > Vector7d
const std::string & name() const
returns the name of an action, e.g "draw"
JacobianXiOplusType _jacobianOplusXi
virtual bool setMeasurementFromState()
SE3Quat _inverseMeasurement
virtual HyperGraphElementAction * operator()(HyperGraph::HyperGraphElement *element, HyperGraphElementAction::Parameters *params_)
redefine this to do the action stuff. If successful, the action returns a pointer to itself ...
virtual void linearizeOplus()
3D edge between two VertexSE3
const Eigen::Quaterniond & rotation() const
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.
EIGEN_STRONG_INLINE const InformationType & information() const
information matrix of the constraint
const EstimateType & estimate() const
return the current estimate of the vertex
virtual void initialEstimate(const OptimizableGraph::VertexSet &from, OptimizableGraph::Vertex *to)
JacobianXjOplusType _jacobianOplusXj
virtual bool read(std::istream &is)
read the vertex from a stream, i.e., the internal state of the vertex
virtual void setMeasurement(const SE3Quat &m)
EIGEN_STRONG_INLINE const Measurement & measurement() const
accessor functions for the measurement represented by the edge
virtual bool write(std::ostream &os) const
write the vertex to a stream
const Vector3D & translation() const
EdgeSE3WriteGnuplotAction()
VertexContainer _vertices