How to recover a Geom_Surface object original data value?

My question is when i have transformed a Geom_Surface object with a gp_trsf a for acquiring the face data in the new location,how can i recover te Geom_Surface object to its original value?

I have tried to use another transformation b=a.Inverted() ,but the result is not the same as before.

Who can help me?
THANKS.

JiangMing's picture

THE CODE IS AS FOLLOWS:
TopLoc_Location l;
Handle(Geom_Surface) aaface,aface;
TopoDS_Face aaab=(TopoDS_Face&)(ashape);
aface= BRep_Tool::Surface((TopoDS_Face&)(ashape),l
aface->Transform(workertrsf.GetAt(sel));//THEN aface data was transformed //how can i recover aface to its original data