59 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C++
		
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C++
		
	
	
| /* ----------------------------------------------------------------------------
 | |
| 
 | |
|  * GTSAM Copyright 2010, Georgia Tech Research Corporation,
 | |
|  * Atlanta, Georgia 30332-0415
 | |
|  * All Rights Reserved
 | |
|  * Authors: Frank Dellaert, et al. (see THANKS for the full author list)
 | |
| 
 | |
|  * See LICENSE for the license information
 | |
| 
 | |
|  * -------------------------------------------------------------------------- */
 | |
| 
 | |
| /*
 | |
|  * QP.h
 | |
|  * @brief: Factor graphs of a Quadratic Programming problem
 | |
|  * @date: Dec 8, 2014
 | |
|  * @author: thduynguyen
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <gtsam/linear/GaussianFactorGraph.h>
 | |
| #include <gtsam_unstable/linear/LinearEqualityFactorGraph.h>
 | |
| #include <gtsam_unstable/linear/LinearInequalityFactorGraph.h>
 | |
| 
 | |
| namespace gtsam {
 | |
| 
 | |
| /**
 | |
|  * struct contains factor graphs of a Quadratic Programming problem
 | |
|  */
 | |
| struct QP {
 | |
|   GaussianFactorGraph cost; //!< Quadratic cost factors
 | |
|   LinearEqualityFactorGraph equalities; //!< linear equality constraints
 | |
|   LinearInequalityFactorGraph inequalities; //!< linear inequality constraints
 | |
| 
 | |
|   /** default constructor */
 | |
|   QP() :
 | |
|       cost(), equalities(), inequalities() {
 | |
|   }
 | |
| 
 | |
|   /** constructor */
 | |
|   QP(const GaussianFactorGraph& _cost,
 | |
|       const LinearEqualityFactorGraph& _linearEqualities,
 | |
|       const LinearInequalityFactorGraph& _linearInequalities) :
 | |
|       cost(_cost), equalities(_linearEqualities), inequalities(
 | |
|           _linearInequalities) {
 | |
|   }
 | |
| 
 | |
|   /** print */
 | |
|   void print(const std::string& s = "") {
 | |
|     std::cout << s << std::endl;
 | |
|     cost.print("Quadratic cost factors: ");
 | |
|     equalities.print("Linear equality factors: ");
 | |
|     inequalities.print("Linear inequality factors: ");
 | |
|   }
 | |
| };
 | |
| 
 | |
| } // namespace gtsam
 | |
| 
 |