@@ -484,9 +484,23 @@ listVariables(dfg, r"l", tags=[:APRILTAG;])
484
484
Related:
485
485
- ls
486
486
"""
487
- function listVariables (dfg:: G , regexFilter:: Union{Nothing, Regex} = nothing ; tags:: Vector{Symbol} = Symbol[], solvable:: Int = 0 ) where G <: AbstractDFG
487
+ function listVariables (dfg:: AbstractDFG ,
488
+ regexFilter:: Union{Nothing, Regex} = nothing ;
489
+ tags:: Vector{Symbol} = Symbol[],
490
+ solvable:: Int = 0 )
491
+ #
488
492
vars = getVariables (dfg, regexFilter, tags= tags, solvable= solvable)
489
- return map (v -> v. label, vars)
493
+ return map (v -> v. label, vars):: Vector{Symbol}
494
+ end
495
+
496
+ # to be consolidated, see #612
497
+ function listVariables (dfg:: AbstractDFG ,
498
+ typeFilter:: Type{<:InferenceVariable} ;
499
+ tags:: Vector{Symbol} = Symbol[],
500
+ solvable:: Int = 0 )
501
+ #
502
+ retlist:: Vector{Symbol} = ls (dfg, typeFilter)
503
+ 0 < length (tags) || solvable != 0 ? intersect (retlist, ls (dfg, tags= tags, solvable= solvable)) : retlist
490
504
end
491
505
492
506
"""
@@ -495,7 +509,7 @@ Get a list of the IDs (labels) of the DFGFactors in the DFG.
495
509
Optionally specify a label regular expression to retrieves a subset of the factors.
496
510
"""
497
511
function listFactors (dfg:: G , regexFilter:: Union{Nothing, Regex} = nothing ; tags:: Vector{Symbol} = Symbol[], solvable:: Int = 0 ):: Vector{Symbol} where G <: AbstractDFG
498
- return map (f -> f. label, getFactors (dfg, regexFilter, tags= tags, solvable= solvable))
512
+ return map (f -> f. label, getFactors (dfg, regexFilter, tags= tags, solvable= solvable))
499
513
end
500
514
501
515
"""
@@ -506,9 +520,14 @@ Related
506
520
507
521
listSupersolves, getSolverDataDict, listVariables
508
522
"""
509
- function listSolveKeys (dfg:: AbstractDFG )
523
+ function listSolveKeys (dfg:: AbstractDFG ,
524
+ fltr:: Union{Type{<:InferenceVariable},Regex, Nothing} = nothing ;
525
+ tags:: Vector{Symbol} = Symbol[],
526
+ solvable:: Int = 0 )
527
+ #
510
528
skeys = Set {Symbol} ()
511
- for vs in listVariables (dfg), ky in keys (getSolverDataDict (getVariable (dfg, vs)))
529
+ varList = listVariables (dfg, fltr, tags= tags, solvable= solvable)
530
+ for vs in varList, ky in keys (getSolverDataDict (getVariable (dfg, vs)))
512
531
push! (skeys, ky)
513
532
end
514
533
return skeys
0 commit comments