65 explicit DotWriter(
double figureWidthInches = 5,
66 double figureHeightInches = 5,
67 bool plotFactorPoints =
true,
68 bool connectKeysToFactor =
true,
bool binaryEdges =
false)
69 : figureWidthInches(figureWidthInches),
70 figureHeightInches(figureHeightInches),
71 plotFactorPoints(plotFactorPoints),
72 connectKeysToFactor(connectKeysToFactor),
73 binaryEdges(binaryEdges) {}
76 void graphPreamble(std::ostream* os)
const;
79 void digraphPreamble(std::ostream* os)
const;
83 const boost::optional<Vector2>& position,
84 std::ostream* os)
const;
87 static void DrawFactor(
size_t i,
const boost::optional<Vector2>& position,
91 boost::optional<Vector2> variablePos(
Key key)
const;
94 void processFactor(
size_t i,
const KeyVector& keys,
96 const boost::optional<Vector2>& position,
97 std::ostream* os)
const;
typedef and functions to augment Eigen's VectorXd
A thin wrapper around std::vector that uses a custom allocator.
Global functions in a separate testing namespace.
Definition chartTesting.h:28
FastVector< Key > KeyVector
Define collection type once and for all - also used in wrappers.
Definition Key.h:86
std::uint64_t Key
Integer nonlinear key type.
Definition types.h:100
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
Definition Key.h:35
DotWriter is a helper class for writing graphviz .dot files.
Definition DotWriter.h:35
double figureWidthInches
The figure width on paper in inches.
Definition DotWriter.h:36
bool plotFactorPoints
Plots each factor as a dot between the variables.
Definition DotWriter.h:38
bool connectKeysToFactor
Draw a line from each key within a factor to the dot of the factor.
Definition DotWriter.h:39
std::map< Key, Vector2 > variablePositions
Variable positions can be optionally specified and will be included in the dot file with a "!...
Definition DotWriter.h:47
bool binaryEdges
just use non-dotted edges for binary factors
Definition DotWriter.h:41
std::map< char, double > positionHints
The position hints allow one to use symbol character and index to specify position.
Definition DotWriter.h:54
std::set< Key > boxes
A set of keys that will be displayed as a box.
Definition DotWriter.h:57
std::map< size_t, Vector2 > factorPositions
Factor positions can be optionally specified and will be included in the dot file with a "!...
Definition DotWriter.h:63
double figureHeightInches
The figure height on paper in inches.
Definition DotWriter.h:37