Skip to content

Commit d6c4208

Browse files
committed
Ensure consistency when setting RTHS properties.
1 parent d006ad0 commit d6c4208

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

src/planners/rths.jl

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,8 +197,25 @@ function Base.getproperty(planner::P, name::Symbol) where {P <: RTHS}
197197
end
198198

199199
function Base.setproperty!(planner::P, name::Symbol, val) where {P <: RTHS}
200-
hasfield(P, name) ?
201-
setfield!(planner, name, val) : setproperty!(planner.planner, name, val)
200+
if name == :reuse_search
201+
setfield!(planner, name, val)
202+
if val
203+
planner.planner.refine_method = :reroot
204+
planner.planner.save_parents = true
205+
planner.planner.save_children = true
206+
planner.planner.save_search = true
207+
else
208+
planner.planner.refine_method = :restart
209+
end
210+
elseif name == :update_method
211+
if val == :dijkstra
212+
planner.planner.save_parents = true
213+
end
214+
elseif hasfield(P, name)
215+
setfield!(planner, name, val)
216+
else
217+
setproperty!(planner.planner, name, val)
218+
end
202219
end
203220

204221
function Base.hasproperty(planner::P, name::Symbol) where {P <: RTHS}

0 commit comments

Comments
 (0)