31 using namespace Eigen;
44 assert(to && to->
vertex());
46 VertexType::EstimateType pose=v->estimate();
47 VertexType::EstimateType delta =
_sensorPose.inverse()*pose;
48 Vector3d translation=delta;
49 double range2=translation.squaredNorm();
54 translation.normalize();
56 double bearing=acos(translation.z());
57 if (fabs(bearing)>
_fov)
81 std::list<PoseObject*>::reverse_iterator it=r->
trajectory().rbegin();
83 while (it!=r->
trajectory().rend() && count < 1){
92 for (std::set<BaseWorldObject*>::iterator it=
world()->objects().begin();
virtual void setMeasurement(const Vector3D &m)
void addNoise(EdgeType *e)
virtual bool setMeasurementFromState()
WorldObjectType::VertexType VertexType
bool addParameter(Parameter *p)
SensorPointXYZDepth(const std::string &name_)
ParameterSE3Offset * _offsetParam
InformationType _information
const Isometry3D & offset() const
rotation of the offset as 3x3 rotation matrix
GaussianSampler< typename EdgeType::ErrorVector, InformationType > _sampler
BaseEdge< D, Vector3D >::ErrorVector ErrorVector
SampleType generateSample()
bool setParameterId(int argNum, int paramId)
const InformationType & information()
EIGEN_STRONG_INLINE void setInformation(const InformationType &information)
TrajectoryType & trajectory()
PoseObject * _robotPoseObject
virtual void addParameters()
OptimizableGraph * graph()
std::set< BaseWorldObject * > & objects()
bool isVisible(WorldObjectType *to)
virtual bool addEdge(HyperGraph::Edge *e)
RobotPoseType _sensorPose
void setInformation(const InformationType &information_)
EdgeType * mkEdge(WorldObjectType *object)
EIGEN_STRONG_INLINE const Measurement & measurement() const
accessor functions for the measurement represented by the edge