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
							 | 
						||
| 
								 | 
							
								
							 |