def get_tagged_planes(self, obj: bpy.types.Object, tags: set, fast=True):
        """
        get all unique planes formed by faces tagged with tags
        """

        tags = t.to_tag_set(tags)

        mask = tagging.tagged_face_mask(obj, tags)
        if not mask.any():
            obj_tags = tagging.union_object_tags(obj)
            logger.warning(
                f"Attempted to get_tagged_planes {obj.name=} {tags=} but mask was empty, {obj_tags=}"
            )
            return []

        if fast:
            planes = self.get_all_planes_cached(obj, mask)
        else:
            planes = self.compute_all_planes_fast(obj, mask)
        return planes

        get all unique planes formed by faces tagged with tags
        
infinigen/core/constraints/example_solver/geometry/planes.py