Get the two parts resulting from a splitting operation?

Hello

After I perform a splitting operation, how can I get the two sets of parts of the separately? I realize that if I start with one solid and split it, I can ask the resulting TopoDS_Shapes for the two shapes but if it is a more complex shapes (with multiple subshapes), how can I get two separate sets with the appropriate grouping? The only thing I can think of is to do a geometric check (see if the center of mass of each shape is in front of the plane or behind) but it would be nice to avoid doing that check myself.

Rao