30 using namespace Eigen;
46 assert(to && to->
vertex());
51 p1 = iRobot * v->estimateP1();
52 p2 = iRobot * v->estimateP2();
54 Vector3d vp1(p1.x(), p1.y(), 0.);
55 Vector3d vp2(p2.x(), p2.y(), 0.);
56 Vector3d cp=vp1.cross(vp2);
61 bool clip1=
false, clip2=
false;
94 if ((clip1 && !clip2)) {
98 if ((!clip1 && clip2)) {
109 std::list<PoseObject*>::reverse_iterator it=r->
trajectory().rbegin();
111 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 void addNoise(EdgeType *e)
GaussianSampler< typename EdgeType::ErrorVector, InformationType > _sampler
BaseEdge< D, Vector3D >::ErrorVector ErrorVector
SampleType generateSample()
virtual void setMeasurement(const Measurement &m)
virtual 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