0030738: Data Exchange - XCAFDoc_ShapeTool::updateComponent() is too long
authorkgv <kgv@opencascade.com>
Thu, 23 May 2019 19:46:58 +0000 (22:46 +0300)
committerbugmaster <bugmaster@opencascade.com>
Fri, 24 May 2019 13:44:30 +0000 (16:44 +0300)
commitf6973d90548ca5c12b3f325168f1fa64e71c7c98
treec3842eab86bee9b5b5e9ac02ad350aaeaa2028b4
parent9369e98a623f5ffac1af4f63f7cf6fbb9eb8e056
0030738: Data Exchange - XCAFDoc_ShapeTool::updateComponent() is too long

Cache subshapes list into map instead of re-iterating it multiple times within the loop.
Avoid iteration at all if modified state has been already detected.

XCAFDoc now returns GUIDs by const reference instead of a copy.
src/XCAFDoc/XCAFDoc.cxx
src/XCAFDoc/XCAFDoc.hxx
src/XCAFDoc/XCAFDoc_ShapeTool.cxx