GTSAM
4.0.2
C++ library for smoothing and mapping (SAM)
|
DotWriter is a helper class for writing graphviz .dot files. More...
#include <DotWriter.h>
Public Member Functions | |
DotWriter (double figureWidthInches=5, double figureHeightInches=5, bool plotFactorPoints=true, bool connectKeysToFactor=true, bool binaryEdges=false) | |
void | graphPreamble (std::ostream *os) const |
Write out preamble for graph, including size. | |
void | digraphPreamble (std::ostream *os) const |
Write out preamble for digraph, including size. | |
void | drawVariable (Key key, const KeyFormatter &keyFormatter, const std::optional< Vector2 > &position, std::ostream *os) const |
Create a variable dot fragment. | |
std::optional< Vector2 > | variablePos (Key key) const |
Return variable position or none. | |
void | processFactor (size_t i, const KeyVector &keys, const KeyFormatter &keyFormatter, const std::optional< Vector2 > &position, std::ostream *os) const |
Draw a single factor, specified by its index i and its variable keys. | |
Static Public Member Functions | |
static void | DrawFactor (size_t i, const std::optional< Vector2 > &position, std::ostream *os) |
Create factor dot. | |
Public Attributes | |
double | figureWidthInches |
The figure width on paper in inches. | |
double | figureHeightInches |
The figure height on paper in inches. | |
bool | plotFactorPoints |
Plots each factor as a dot between the variables. | |
bool | connectKeysToFactor |
bool | binaryEdges |
just use non-dotted edges for binary factors | |
std::map< Key, Vector2 > | variablePositions |
std::map< char, double > | positionHints |
std::set< Key > | boxes |
std::map< size_t, Vector2 > | factorPositions |
DotWriter is a helper class for writing graphviz .dot files.
std::set<Key> gtsam::DotWriter::boxes |
A set of keys that will be displayed as a box
bool gtsam::DotWriter::connectKeysToFactor |
Draw a line from each key within a factor to the dot of the factor
std::map<size_t, Vector2> gtsam::DotWriter::factorPositions |
Factor positions can be optionally specified and will be included in the dot file with a "!' sign, so "neato" can use it to render them.
std::map<char, double> gtsam::DotWriter::positionHints |
The position hints allow one to use symbol character and index to specify position. Unless variable positions are specified, if a hint is present for a given symbol, it will be used to calculate the positions as (index,hint).
std::map<Key, Vector2> gtsam::DotWriter::variablePositions |
Variable positions can be optionally specified and will be included in the dot file with a "!' sign, so "neato" can use it to render them.