69 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
| /**
 | |
|  * @file    VSLAMGraph.h
 | |
|  * @brief   A factor graph for the VSLAM problem
 | |
|  * @author  Alireza Fathi
 | |
|  * @author  Carlos Nieto
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <vector>
 | |
| #include <map>
 | |
| #include <set>
 | |
| #include <fstream>
 | |
| 
 | |
| #include "NonlinearFactorGraph.h"
 | |
| #include "FactorGraph-inl.h"
 | |
| #include "VSLAMFactor.h"
 | |
| #include "VSLAMConfig.h"
 | |
| #include "Testable.h"
 | |
| 
 | |
| namespace gtsam{
 | |
| 
 | |
| /**
 | |
|  * Non-linear factor graph for visual SLAM
 | |
|  */
 | |
| class VSLAMGraph : public gtsam::NonlinearFactorGraph<VSLAMConfig>{
 | |
| 
 | |
| public:
 | |
| 
 | |
|   /** default constructor is empty graph */
 | |
|   VSLAMGraph() {}
 | |
| 
 | |
|   /**
 | |
|    * print out graph
 | |
|    */
 | |
|   void print(const std::string& s = "") const {
 | |
|     gtsam::NonlinearFactorGraph<VSLAMConfig>::print(s);
 | |
|   }
 | |
| 
 | |
|   /**
 | |
|    * equals
 | |
|    */
 | |
|   bool equals(const VSLAMGraph& p, double tol=1e-9) const {
 | |
|   	return gtsam::NonlinearFactorGraph<VSLAMConfig>::equals(p, tol);
 | |
|   }
 | |
| 
 | |
|   /**
 | |
|    *  Add a constraint on a landmark (for now, *must* be satisfied in any Config)
 | |
|    *  @param j index of landmark
 | |
|    *  @param p to which point to constrain it to
 | |
|    */
 | |
|   void addLandmarkConstraint(int j, const Point3& p = Point3());
 | |
| 
 | |
|   /**
 | |
|    *  Add a constraint on a camera (for now, *must* be satisfied in any Config)
 | |
|    *  @param j index of camera
 | |
|    *  @param p to which pose to constrain it to
 | |
|    */
 | |
|   void addCameraConstraint(int j, const Pose3& p = Pose3());
 | |
| 
 | |
| private:
 | |
| 	/** Serialization function */
 | |
| 	friend class boost::serialization::access;
 | |
| 	template<class Archive>
 | |
| 	void serialize(Archive & ar, const unsigned int version) {}
 | |
| };
 | |
| 
 | |
| } // namespace gtsam
 |