from .base_path import BasePath
from popcornn.tools import Images, wrap_positions


class LinearPath(BasePath):
    """
    Linear path class for generating linear interpolation paths.
    """
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.vec = self.final_position - self.initial_position

    def get_positions(self, time: float):
        """
        Generates a geometric path using the MLP.

        Args:
            time (float): Time parameter for generating the path.
            *args: Additional arguments.

        Returns:
            torch.Tensor: The geometric path generated by the MLP.
        """
        return self.initial_position + time * self.vec