I'm using OCC 6.6.0; I build up a vector of TopoDS_Shape objects from the IGES reader class, meshing any TopoDS_Faces, and then store each individual object in a separate wrapper object. In each case I pass and store the TopoDS_Shape by value, so I would not expect there to be any memory shared. However, if I delete the original vector I built up, then I get an access violation exception when I later delete my wrapper object; if I reverse the order and refrain from deleting the vector until the wrapper object, then I get an error as soon as I delete the vector.
Is TopoDS_Face somehow sharing memory between instances? If so, is there a way to either suppress this behavior or otherwise fix my issue? Currently I am not deleting the vector, but this is causing a very bad memory leak. It seems that no matter when I try to remove data from the vector or delete it, it causes an issue.