I displaying an arrow in a Graphic3d_ArrayOfTriangles.
Handle(Graphic3d_Structure) arrow3DStructure = new Graphic3d_Structure(myViewer()->StructureManager());
Handle(Graphic3d_Group) group = arrow3DStructure->NewGroup();
activeArrowGroup() = group; //NCollection_Haft<Handle(Graphic3d_Group)>
Then I've also got this which is called when I want to clear that arrow:
This does not clear it. It persists forever. I have also tried adding a NCollection_Haft<Handle(Graphic3d_Structure)> for the structure and assigning it and calling Remove and Erase on it.