Classes | Namespaces | Macros | Functions
graph.h File Reference
#include <fuse_core/constraint.h>
#include <fuse_core/fuse_macros.h>
#include <fuse_core/serialization.h>
#include <fuse_core/transaction.h>
#include <fuse_core/uuid.h>
#include <fuse_core/variable.h>
#include <boost/core/demangle.hpp>
#include <boost/range/any_range.hpp>
#include <boost/serialization/access.hpp>
#include <boost/type_index/stl_type_index.hpp>
#include <ceres/covariance.h>
#include <ceres/problem.h>
#include <ceres/solver.h>
#include <memory>
#include <numeric>
#include <ostream>
#include <string>
#include <utility>
#include <vector>
Include dependency graph for graph.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  fuse_core::Graph::ConstraintCost
 Structure containing the cost and residual information for a single constraint. More...
 
class  fuse_core::Graph
 This is an interface definition describing the collection of constraints and variables that form the factor graph, a graphical model of a nonlinear least-squares problem. More...
 

Namespaces

 fuse_core
 

Macros

#define FUSE_GRAPH_DEFINITIONS(...)
 Convenience function that creates the required pointer aliases, and type() method. More...
 
#define FUSE_GRAPH_SERIALIZE_DEFINITION(...)
 Implementation of the serialize() and deserialize() member functions for derived classes. More...
 
#define FUSE_GRAPH_TYPE_DEFINITION(...)
 Implements the type() member function using the suggested implementation. More...
 

Functions

std::ostream & fuse_core::operator<< (std::ostream &stream, const Graph &graph)
 

Macro Definition Documentation

◆ FUSE_GRAPH_DEFINITIONS

#define FUSE_GRAPH_DEFINITIONS (   ...)
Value:
FUSE_GRAPH_TYPE_DEFINITION(__VA_ARGS__) \
FUSE_GRAPH_SERIALIZE_DEFINITION(__VA_ARGS__)

Convenience function that creates the required pointer aliases, and type() method.

Usage:

class Derived : public Graph
{
public:
// The rest of the derived graph implementation
}

Definition at line 132 of file graph.h.

◆ FUSE_GRAPH_SERIALIZE_DEFINITION

#define FUSE_GRAPH_SERIALIZE_DEFINITION (   ...)
Value:
void serialize(fuse_core::BinaryOutputArchive& archive) const override \
{ \
archive << *this; \
} /* NOLINT */ \
void serialize(fuse_core::TextOutputArchive& archive) const override \
{ \
archive << *this; \
} /* NOLINT */ \
void deserialize(fuse_core::BinaryInputArchive& archive) override \
{ \
archive >> *this; \
} /* NOLINT */ \
void deserialize(fuse_core::TextInputArchive& archive) override \
{ \
archive >> *this; \
}

Implementation of the serialize() and deserialize() member functions for derived classes.

Usage:

class Derived : public Graph
{
public:
// The rest of the derived graph implementation
}

Definition at line 73 of file graph.h.

◆ FUSE_GRAPH_TYPE_DEFINITION

#define FUSE_GRAPH_TYPE_DEFINITION (   ...)
Value:
struct detail \
{ \
static std::string type() \
{ \
return boost::typeindex::stl_type_index::type_id<__VA_ARGS__>().pretty_name(); \
} /* NOLINT */ \
}; /* NOLINT */ \
std::string type() const override \
{ \
return detail::type(); \
}

Implements the type() member function using the suggested implementation.

Also creates a static detail::type() function that may be used without an object instance

Usage:

class Derived : public Graph
{
public:
// The rest of the derived graph implementation
}

Definition at line 106 of file graph.h.

deserialize
void deserialize(Stream &stream, boost::array< T, N > &t)
FUSE_GRAPH_DEFINITIONS
#define FUSE_GRAPH_DEFINITIONS(...)
Convenience function that creates the required pointer aliases, and type() method.
Definition: graph.h:132
FUSE_GRAPH_SERIALIZE_DEFINITION
#define FUSE_GRAPH_SERIALIZE_DEFINITION(...)
Implementation of the serialize() and deserialize() member functions for derived classes.
Definition: graph.h:73
fuse_core::TextInputArchive
boost::archive::text_iarchive TextInputArchive
Definition: serialization.h:62
fuse_core::BinaryOutputArchive
boost::archive::binary_oarchive BinaryOutputArchive
Definition: serialization.h:61
boost::serialization::serialize
void serialize(Archive &archive, ros::Time &stamp, const unsigned int)
Serialize a ros::Time variable using Boost Serialization.
Definition: serialization.h:153
FUSE_SMART_PTR_DEFINITIONS
#define FUSE_SMART_PTR_DEFINITIONS(...)
Definition: fuse_macros.h:85
FUSE_GRAPH_TYPE_DEFINITION
#define FUSE_GRAPH_TYPE_DEFINITION(...)
Implements the type() member function using the suggested implementation.
Definition: graph.h:106
fuse_core::TextOutputArchive
boost::archive::text_oarchive TextOutputArchive
Definition: serialization.h:63
fuse_core::BinaryInputArchive
boost::archive::binary_iarchive BinaryInputArchive
Definition: serialization.h:60


fuse_core
Author(s): Stephen Williams
autogenerated on Thu Apr 24 2025 02:18:55