AIS_InteractiveContext and TDocStd_Document's Tree structure node transformation problem

I am using XCAF to build TDocStd_Application and TDocStd_Document TDocStd_Document is responsible for importing Step and exporting Step files The Step file has a tree structure assembly like the following

|-chassis
----|-wheel-axle
--------|-wheel
--------|-wheel
--------|-axle
----|-wheel-axle
--------|-wheel
--------|-wheel
--------|-axle

I import the Step file into TDocStd_Document, recursively traverse the nodes to get the TopoDS_Shape of each node. To display the model in the AIS_InteractiveContext, I convert the TopoDS_Shape to AIS_Shape. I want to modify the position of a node(such as wheel-axle) to modifying its own and its children's nodes, both the position displayed in AIS and the position of the TDocStd_Document file node (to export the new position to STEP files). My idea is to modify the position of AIS_Shape, because I want to use AIS_Manipulator to modify its position.

My question is, how can I update the position to TDocStd_Document?

The attached step file is an assembly tree structure model.

Attachments: 
Кирилл Жильников's picture

It would be so cool if you send me the example of your code, where you import the Step file into TDocStd_Document and recursively traverse the nodes to get the TopoDS_Shape of each node because I am searching for the solution about making a tree view out of a step model almost for a week. Thank you in advance!