Handle(AIS_InteractiveContext) con = myDocument->getContext();
for(con->InitSelected(); con->MoreSelected(); con->NextSelected())
{
if(con->SelectedInteractive()->IsKind(STANDARD_TYPE(AIS_Shape)))
{
Handle(AIS_Shape) aisShape= Handle(AIS_Shape)::DownCast(con->SelectedInteractive());
qDebug() << "Selected is Shape";
TopoDS_Shape shape = con->SelectedShape();
qDebug() << "shape type:" << TopAbs::ShapeTypeToString(shape.ShapeType());
TopoDS_Shape parentShape = aisShape->Shape();
qDebug() << "parent type:" << TopAbs::ShapeTypeToString(parentShape.ShapeType());
}
}