-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Milestone
Description
EDIT: some of the actually verbs like update
have now been dropped. But the philosophy aspect of this ticket remains a central objective for DFG v1. For latest updates to verbs, see either the dictionary:
- https://github.com/JuliaRobotics/DistributedFactorGraphs.jl/wiki/Standard-Definitions-of-API-via-verbNoun-structure
or ongoing work: - Review verbs for DFG v1.0 #1085
- Review verbNoun of solveKey #1083
Philosophy Still Valid (ticket contents has been duplicated elsewhere as work progressed)
DFG is about having access to various graphing technologies in a way that allows info/data/etc to be easily transferred between technologies in a standard way. For example:
# copy from one dfg to another, regardless of different SolverParams types
copyGraph!(localdfg, cgdfg, args...)
merge!(CloudDFG, FileDFG)
merge!(FileDFG, CloudDFG)
merge!(CloudDFG, LightDFG)
merge!(GraphsDFG, LightDFG)
merge!(GraffDFG, CloudDFG) # seems excessive, but its about the philosophy
# ...
updateVariables!(LigthDFG, CloudDFG)
updateVariables!(FileDFG, GraphDFG) # to illustrate point
updateVariables!(FuseDFG, LightDFG) # to illustrate point
# ...
buildSubgraph(::LightDFG, GraphDFG, ...)
buildSubgraph(::CloudDFG, LightDFG, ...)
buildSubgraph(::FileDFG, CloudDFG, ...)
# ...
Originates from hard discussions on:
- [BUG] subgraph functions not working for LightDFG #261
- Mini cleanup on solvable for GetSubgraphAroundNode on LightGraphs #214
- Copying CGDFG -> local fails with cryptic error #507
EDIT: GraphsDFG has since been archived in favor of LightDFG.