30 using namespace Eigen;
47 assert(to && to->
vertex());
52 p1 = iRobot * v->estimateP1();
53 p2 = iRobot * v->estimateP2();
55 Vector3d vp1(p1.x(), p1.y(), 0.);
56 Vector3d vp2(p2.x(), p2.y(), 0.);
57 Vector3d cp=vp1.cross(vp2);
62 bool clip1=
false, clip2=
false;
105 std::list<PoseObject*>::reverse_iterator it=r->
trajectory().rbegin();
107 while (it!=r->
trajectory().rend() && count < 1){
WorldObjectType::VertexType VertexType
int clipSegmentCircle(Eigen::Vector2d &p1, Eigen::Vector2d &p2, double r)
bool isVisible(WorldObjectType *to)
int clipSegmentFov(Eigen::Vector2d &p1, Eigen::Vector2d &p2, double min, double max)
virtual G2O_TYPES_SLAM2D_ADDONS_API bool setMeasurementFromState()
virtual void addNoise(EdgeType *e)
GaussianSampler< typename EdgeType::ErrorVector, InformationType > _sampler
BaseEdge< D, Vector2D >::ErrorVector ErrorVector
SampleType generateSample()
virtual void setMeasurement(const Measurement &m)
const InformationType & information()
EIGEN_STRONG_INLINE void setInformation(const InformationType &information)
TrajectoryType & trajectory()
PoseObject * _robotPoseObject
OptimizableGraph * graph()
std::set< BaseWorldObject * > & objects()
virtual bool addEdge(HyperGraph::Edge *e)
EdgeType * mkEdge(WorldObjectType *object)
EIGEN_STRONG_INLINE const Measurement & measurement() const
accessor functions for the measurement represented by the edge