State:Closed|icon_bug|icon_katana|database:public|Resolution:Fixed|TargetRelease:2.5v4|BugID:234065|
Problem summary:
The ScenegraphXML file format supports associating an AttributeFile with a location. Our SGXML readers (i.e. either the ScenegraphXml_In node or ScenegraphXML Scene Graph Generator plug-in) declare these modifier in an `attributeModifiers` attribute group in the scene graph. There are two problems with this:
Steps to reproduce:
Expected behaviour:
The location has a `param` attribute set to `mat1`.
Actual behaviour:
The `param` attribute is not set.
Workaround:
The following OpScript modifies the attributes into the correct convention:
local attributeModifiersAttr = Interface.GetAttr("attributeModifiers")if attributeModifiersAttr ~= nil then for i = 0, attributeModifiersAttr:getNumberOfChildren() - 1 do local modifierAttr = attributeModifiersAttr:getChildByIndex(i) local modifierName = attributeModifiersAttr:getChildName(i) if modifierAttr:getChildByName("type"):getValue() == "AttributeFile" then local gb = GroupBuilder() gb:set("opType", StringAttribute("AttributeFile_In")) gb:set("opArgs", modifierAttr:getChildByName("args")) gb:set("recursiveEnable", modifierAttr:getChildByName("recursiveEnable")) Interface.SetAttr("ops." .. modifierName, gb:build()) Interface.DeleteAttr("attributeModifiers." .. modifierName) end endend Reproduced versions/platforms:
Customer version/platform:
2.5v3/Linux
We're sorry to hear that
Please tell us why