Manifold traits
parent
57e28c1731
commit
fe7b280879
|
|
@ -20,6 +20,7 @@
|
||||||
|
|
||||||
#include <gtsam/base/Manifold.h>
|
#include <gtsam/base/Manifold.h>
|
||||||
#include <gtsam/base/Testable.h>
|
#include <gtsam/base/Testable.h>
|
||||||
|
#include <gtsam/base/OptionalJacobian.h>
|
||||||
#include <boost/concept/assert.hpp>
|
#include <boost/concept/assert.hpp>
|
||||||
|
|
||||||
namespace gtsam {
|
namespace gtsam {
|
||||||
|
|
@ -63,7 +64,7 @@ struct BearingRange
|
||||||
// if (H2) *H2 << HB2, HR2;
|
// if (H2) *H2 << HB2, HR2;
|
||||||
// return BearingRange(b, r);
|
// return BearingRange(b, r);
|
||||||
// }
|
// }
|
||||||
//
|
|
||||||
void print(const std::string& str = "") const {
|
void print(const std::string& str = "") const {
|
||||||
traits<B>::Print(this->first, str);
|
traits<B>::Print(this->first, str);
|
||||||
traits<R>::Print(this->second, str);
|
traits<R>::Print(this->second, str);
|
||||||
|
|
@ -86,8 +87,7 @@ struct BearingRange
|
||||||
|
|
||||||
template <typename A1, typename A2>
|
template <typename A1, typename A2>
|
||||||
struct traits<BearingRange<A1, A2> >
|
struct traits<BearingRange<A1, A2> >
|
||||||
: Testable<BearingRange<A1, A2> >
|
: Testable<BearingRange<A1, A2> >,
|
||||||
// : internal::ManifoldTraits<BearingRange<A1, A2> >
|
internal::ManifoldTraits<BearingRange<A1, A2> > {};
|
||||||
{};
|
|
||||||
|
|
||||||
} // namespace gtsam
|
} // namespace gtsam
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,14 @@ BearingRange2D br2D(1, 2);
|
||||||
typedef BearingRange<Pose3, Point3> BearingRange3D;
|
typedef BearingRange<Pose3, Point3> BearingRange3D;
|
||||||
BearingRange3D br3D(Pose3().bearing(Point3(1, 0, 0)), 1);
|
BearingRange3D br3D(Pose3().bearing(Point3(1, 0, 0)), 1);
|
||||||
|
|
||||||
|
//******************************************************************************
|
||||||
|
TEST(BearingRange2D, Concept) {
|
||||||
|
BOOST_CONCEPT_ASSERT((IsManifold<BearingRange2D>));
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ************************************************************************* */
|
||||||
|
TEST(BearingRange, 2D) {}
|
||||||
|
|
||||||
/* ************************************************************************* */
|
/* ************************************************************************* */
|
||||||
TEST(BearingRange, Serialization2D) {
|
TEST(BearingRange, Serialization2D) {
|
||||||
EXPECT(equalsObj<BearingRange2D>(br2D));
|
EXPECT(equalsObj<BearingRange2D>(br2D));
|
||||||
|
|
@ -40,8 +48,13 @@ TEST(BearingRange, Serialization2D) {
|
||||||
EXPECT(equalsBinary<BearingRange2D>(br2D));
|
EXPECT(equalsBinary<BearingRange2D>(br2D));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//******************************************************************************
|
||||||
|
TEST(BearingRange3D, Concept) {
|
||||||
|
BOOST_CONCEPT_ASSERT((IsManifold<BearingRange3D>));
|
||||||
|
}
|
||||||
|
|
||||||
/* ************************************************************************* */
|
/* ************************************************************************* */
|
||||||
TEST(BearingRange, 2D) {}
|
TEST(BearingRange, 3D) {}
|
||||||
|
|
||||||
/* ************************************************************************* */
|
/* ************************************************************************* */
|
||||||
TEST(BearingRange, Serialization3D) {
|
TEST(BearingRange, Serialization3D) {
|
||||||
|
|
@ -50,9 +63,6 @@ TEST(BearingRange, Serialization3D) {
|
||||||
EXPECT(equalsBinary<BearingRange3D>(br3D));
|
EXPECT(equalsBinary<BearingRange3D>(br3D));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ************************************************************************* */
|
|
||||||
TEST(BearingRange, 3D) {}
|
|
||||||
|
|
||||||
/* ************************************************************************* */
|
/* ************************************************************************* */
|
||||||
int main() {
|
int main() {
|
||||||
TestResult tr;
|
TestResult tr;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue