State:Closed|icon_bug|icon_katana|database:public|Resolution:Fixed|TargetRelease:3.5v4|BugID:433277|
Problem summary:
When using the Geolib3-MT runtime, any action that causes the Op execution root to be reset (e.g. calling Cook Interface `resetRoot()`) is ineffective for input-scene-derived locations below immediate children. The reset should persist for all descendants.
Steps to reproduce:
1. Add a PrimitiveCreate that creates a mesh at /root/world/geo/a/b/c
2. Add an OpScript with executionMode set to "immediate" and applyWhere set to "at all locations".
if Interface.GetOutputLocationPath() == "/root/world/geo" then
Interface.ResetRoot()
end
print("Abs Path: " .. Interface.GetOutputLocationPath())
print("Rel Path: " .. Interface.GetRelativeOutputLocationPath() .. "\n")
Interface.SetAttr("relativeOutputLocationPath", StringAttribute(Interface.GetRelativeOutputLocationPath())) Add the necessary CameraCreate node and a RenderSettings node (and any other configuration) and render with both the 'Geolib3-MT' and 'Classic' runtimes in turn.
Expected behaviour:
All paths should match across runtimes.
The relative output location paths printed for descendants of /root/world/geo should all be relative to that location (i.e. 'a', 'a/b' and 'a/b/c').
Actual behaviour:
The 'Classic' runtime prints correct paths for all locations, but 'Geolib3-MT' prints the relative path from /root for 'b' and 'c' (i.e. 'world/geo/a/b' and 'world/geo/a/b/c').
Workaround:
No known workaround.
Tested versions/platforms:
Introduced with 'Geolib3-MT' runtime.
We're sorry to hear that
Please tell us why