class IntersectionComputedUseCase:
    def call(parts):
        import FreeCAD as App

        App.activeDocument().addObject("Part::MultiCommon", "Common")
        App.activeDocument().Common.Shapes = [parts[0], parts[1]]
        App.activeDocument().getObject("Common").ViewObject.ShapeColor = getattr(
            parts[0].getLinkedObject(True).ViewObject,
            "ShapeColor",
            App.activeDocument().getObject("Common").ViewObject.ShapeColor,
        )
        App.activeDocument().getObject("Common").ViewObject.DisplayMode = getattr(
            parts[0].getLinkedObject(True).ViewObject,
            "DisplayMode",
            App.activeDocument().getObject("Common").ViewObject.DisplayMode,
        )
        App.ActiveDocument.recompute()
        area = App.activeDocument().getObject("Common").Shape.Area
        App.ActiveDocument.removeObject("Common")
        return area
