Solved some linking problems

release/4.3a0
Frank Dellaert 2010-01-14 01:44:00 +00:00
parent 6c7dfabe5b
commit 5a02b36723
5 changed files with 560 additions and 544 deletions

1036
.cproject

File diff suppressed because it is too large Load Diff

View File

@ -7,6 +7,8 @@
#include "Pose2Graph.h"
#include "FactorGraph-inl.h"
#include "NonlinearFactorGraph-inl.h"
#include "NonlinearOptimizer-inl.h"
#include "NonlinearEquality.h"
#include "graph-inl.h"
using namespace std;
@ -14,17 +16,19 @@ using namespace gtsam;
namespace gtsam {
// explicit instantiation so all the code is there and we can link with it
template class FactorGraph<NonlinearFactor<Pose2Config> > ;
template class NonlinearFactorGraph<Pose2Config> ;
//template class NonlinearOptimizer<Pose2Graph, Pose2Config> ;
// explicit instantiation so all the code is there and we can link with it
template class FactorGraph<NonlinearFactor<Pose2Config> > ;
template class NonlinearFactorGraph<Pose2Config> ;
template class NonlinearEquality<Pose2Config,Pose2Config::Key,Pose2> ;
template class NonlinearOptimizer<Pose2Graph, Pose2Config>;
/* ************************************************************************* */
void Pose2Graph::addConstraint(const Pose2Config::Key& key, const Pose2& pose) {
push_back(sharedFactor(new NonlinearEquality<Pose2Config, Pose2Config::Key,
Pose2> (key, pose)));
}
bool Pose2Graph::equals(const Pose2Graph& p, double tol) const {
return false;
}
/* ************************************************************************* */
bool Pose2Graph::equals(const Pose2Graph& p, double tol) const {
return false;
}
} // namespace gtsam

View File

@ -8,9 +8,7 @@
#pragma once
#include "Pose2Factor.h"
#include "Pose2Config.h"
#include "NonlinearFactorGraph.h"
#include "NonlinearEquality.h"
namespace gtsam {
@ -43,9 +41,7 @@ namespace gtsam {
* @param key of pose
* @param pose which pose to constrain it to
*/
inline void addConstraint(const Pose2Config::Key& key, const Pose2& pose = Pose2()) {
push_back(sharedFactor(new NonlinearEquality<Pose2Config,Pose2Config::Key,Pose2>(key, pose)));
}
void addConstraint(const Pose2Config::Key& key, const Pose2& pose = Pose2());
private:
/** Serialization function */

View File

@ -3,20 +3,34 @@
* @brief A factor graph for the 2D PoseSLAM problem
* @authors Frank Dellaert, Viorela Ila
*/
//#include "NonlinearOptimizer-inl.h"
#include "Pose3Graph.h"
#include "FactorGraph-inl.h"
#include "NonlinearFactorGraph-inl.h"
#include "Pose3Graph.h"
#include "NonlinearOptimizer-inl.h"
#include "NonlinearEquality.h"
#include "graph-inl.h"
namespace gtsam {
// explicit instantiation so all the code is there and we can link with it
template class FactorGraph<NonlinearFactor<gtsam::Pose3Config> > ;
template class NonlinearFactorGraph<Pose3Config> ;
//template class NonlinearOptimizer<Pose3Graph, Pose3Config> ;
// explicit instantiation so all the code is there and we can link with it
template class FactorGraph<NonlinearFactor<gtsam::Pose3Config> > ;
template class NonlinearFactorGraph<Pose3Config> ;
template class NonlinearEquality<Pose3Config, Pose3Config::Key, Pose3> ;
template class NonlinearOptimizer<Pose3Graph, Pose3Config> ;
bool Pose3Graph::equals(const Pose3Graph& p, double tol) const {
return false;
}
bool Pose3Graph::equals(const Pose3Graph& p, double tol) const {
return false;
}
/**
* Add an equality constraint on a pose
* @param key of pose
* @param pose which pose to constrain it to
*/
void Pose3Graph::addConstraint(const Pose3Config::Key& key, const Pose3& pose) {
push_back(sharedFactor(new NonlinearEquality<Pose3Config, Pose3Config::Key,
Pose3> (key, pose)));
}
} // namespace gtsam

View File

@ -8,9 +8,7 @@
#pragma once
#include "Pose3Factor.h"
#include "Pose3Config.h"
#include "NonlinearFactorGraph.h"
#include "NonlinearEquality.h"
namespace gtsam {
@ -43,9 +41,7 @@ namespace gtsam {
* @param key of pose
* @param pose which pose to constrain it to
*/
inline void addConstraint(const Pose3Config::Key& key, const Pose3& pose =Pose3()) {
push_back(sharedFactor(new NonlinearEquality<Pose3Config,Pose3Config::Key,Pose3> (key, pose)));
}
void addConstraint(const Pose3Config::Key& key, const Pose3& pose =Pose3());
private:
/** Serialization function */