Repository: ManimCommunity/manim
File: manim/mobject/mobject.py (Python)

Code before:
        -------
        :class:`Mobject`
            ``self``

        See also
        --------
        :meth:`move_to`
        """

        if config["use_opengl_renderer"]:
            self.apply_points_function(
                lambda points: points + vectors[0],
                about_edge=None,
                works_on_bounding_box=True,
            )
            return self
        else:
            total_vector = reduce(op.add, vectors)
            for mob in self.family_members_with_points():
                mob.points = mob.points.astype("float")
                mob.points += total_vector
                if hasattr(mob, "data") and "points" in mob.data:
                    mob.data["points"] += total_vector
            return self

    def scale(self, scale_factor, **kwargs) -> "Mobject":
        """Scale the size by a factor.

        Default behavior is to scale about the center of the mobject.

        Parameters
        ----------
        scale_factor : :class:`float`
            The scaling factor. Values 0 < |`scale_factor`| < 1 will shrink the mobject, 1 < |`scale_factor`| will increase it's size. A `scale_factor`<0 resuls in  additionally flipping by 180°.
        kwargs :
            Additional keyword arguments passed to :meth:`apply_points_function_about_point`.

        Returns
        -------
        :class:`Mobject`
            ``self``

        See also
        --------
        :meth:`move_to`

        """
        if config["use_opengl_renderer"]:
            self.apply_points_function(
                lambda points: scale_factor * points,
                works_on_bounding_box=True,

Review comment (suggestion):
```suggestion
    def scale(self, scale_factor: float, **kwargs) -> "Mobject":
```

Code after:

        Parameters
        ----------
        vectors
            Vectors to shift by. If multiple vectors are given, they are added together.

        Returns
        -------
        :class:`Mobject`
            ``self``

        See also
        --------
        :meth:`move_to`
        """

        if config["use_opengl_renderer"]:
            self.apply_points_function(
                lambda points: points + vectors[0],
                about_edge=None,
                works_on_bounding_box=True,
            )
            return self
        else:
            total_vector = reduce(op.add, vectors)
            for mob in self.family_members_with_points():
                mob.points = mob.points.astype("float")
                mob.points += total_vector
                if hasattr(mob, "data") and "points" in mob.data:
                    mob.data["points"] += total_vector
            return self

    def scale(self, scale_factor: float, **kwargs) -> "Mobject":
        """Scale the size by a factor.

        Default behavior is to scale about the center of the mobject.

        Parameters
        ----------
        scale_factor
            The scaling factor. Values 0 < |`scale_factor`| < 1 will shrink the mobject, 1 < |`scale_factor`| will increase it's size. A `scale_factor`<0 resuls in  additionally flipping by 180°.
        kwargs :
            Additional keyword arguments passed to :meth:`apply_points_function_about_point`.

        Returns
        -------
        :class:`Mobject`
            ``self``

        See also
        --------