00001 /* 00002 * landmark.h 00003 * 00004 * Created on: Jun 1, 2012 00005 * Author: Nikolas Engelhard 00006 */ 00007 00008 #ifndef LANDMARK_H_ 00009 #define LANDMARK_H_ 00010 00011 #include "node.h" // DO_FEATURE_OPTIMIZATION is defined there 00012 00013 //#include "g2o/types/slam3d/edge_se3_pointxyz_depth.h" 00014 #include "g2o/types/slam3d/edge_se3_pointxyz_depth.h" 00015 //#include "g2o/types/slam3d/vertex_pointxyz.h" 00016 00017 #include "g2o/types/slam3d/vertex_pointxyz.h" 00018 //#include "g2o/types/sba/types_sba.h" 00019 00020 #include "g2o/types/slam3d/se3quat.h" 00021 #include "matching_result.h" 00022 00023 typedef g2o::VertexPointXYZ LM_vertex_type; 00024 typedef g2o::EdgeSE3PointXYZDepth Proj_edge_type; 00025 00026 struct Landmark { 00027 00028 int id; 00029 00030 LM_vertex_type* g2o_vertex; 00031 std::map<int,int> observations; // maps node_id to keypt_id (if landmark was seen in this image) 00032 // std::map<int,int> observations_with_edges; // maps node_id to keypt_id (if landmark was seen in this image) 00033 // g2o::HyperGraph::EdgeSet proj_edges; 00034 00035 Landmark(){ 00036 g2o_vertex = NULL; 00037 } 00038 }; 00039 00040 00041 #endif /* LANDMARK_H_ */