33 using namespace Eigen;
36 cerr <<
"I am the constructor" << endl;
49 assert(to && to->
vertex());
54 p1 = iRobot * v->estimateP1();
55 p2 = iRobot * v->estimateP2();
57 Vector3d vp1(p1.x(), p1.y(), 0.);
58 Vector3d vp2(p2.x(), p2.y(), 0.);
59 Vector3d cp=vp1.cross(vp2);
64 bool clip1=
false, clip2=
false;
97 if (!clip1 && !clip2){
107 std::list<PoseObject*>::reverse_iterator it=r->
trajectory().rbegin();
109 while (it!=r->
trajectory().rend() && count < 1){
bool isVisible(WorldObjectType *to)
WorldObjectType::VertexType VertexType
virtual void addNoise(EdgeType *e)
int clipSegmentCircle(Eigen::Vector2d &p1, Eigen::Vector2d &p2, double r)
int clipSegmentFov(Eigen::Vector2d &p1, Eigen::Vector2d &p2, double min, double max)
GaussianSampler< typename EdgeType::ErrorVector, InformationType > _sampler
BaseEdge< D, Vector4D >::ErrorVector ErrorVector
SampleType generateSample()
virtual void setMeasurement(const Measurement &m)
EIGEN_MAKE_ALIGNED_OPERATOR_NEW SensorSegment2D(const std::string &name_)
virtual G2O_TYPES_SLAM2D_ADDONS_API bool setMeasurementFromState()
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