def world_coords(self):
        """
        :return: world coordinates of mate.
        :rtype: :class:`CoordSystem <cqparts.utils.geometry.CoordSystem>`
        :raises ValueError: if ``.component`` does not have valid world coordinates.

        If ``.component`` is ``None``, then the ``.local_coords`` are returned.
        """
        if self.component is None:
            # no component, world == local
            return copy(self.local_coords)
        else:
            cmp_origin = self.component.world_coords
            if cmp_origin is None:
                raise ValueError(
                    "mate's component does not have world coordinates; "
                    "cannot get mate's world coordinates"
                )

            return cmp_origin + self.local_coords
def world_coords ( self ) : if self . component is None : return copy ( self . local_coords ) else : cmp_origin = self . component . world_coords if cmp_origin is None : raise ValueError ( "mate's component does not have world coordinates; " "cannot get mate's world coordinates" ) return cmp_origin + self . local_coords
:return: world coordinates of mate.
        :rtype: :class:`CoordSystem <cqparts.utils.geometry.CoordSystem>`
        :raises ValueError: if ``.component`` does not have valid world coordinates.

        If ``.component`` is ``None``, then the ``.local_coords`` are returned.