:py:mod:`starling_sim.basemodel.agent.stations.vehicle_sharing_station` ======================================================================= .. py:module:: starling_sim.basemodel.agent.stations.vehicle_sharing_station Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: starling_sim.basemodel.agent.stations.vehicle_sharing_station.VehicleSharingStation .. py:class:: VehicleSharingStation(simulation_model, agent_id, origin, capacity, stock_generation=None, **kwargs) Bases: :py:obj:`starling_sim.basemodel.agent.stations.station.Station` Station dedicated to a shared vehicle system .. py:attribute:: SCHEMA .. py:attribute:: check .. py:method:: __str__() Give a string display to the simulation element .. py:method:: create_station_based_vehicles(stock_generation) .. py:method:: get_store() Returns the station's store :return: .. py:method:: nb_products() Returns the number of products in store :return: .. py:method:: get_from_store(agent) Requests a product from the station's store :param agent: requesting agent :return: StationRequest object .. py:method:: check(product) :staticmethod: Tests the type of the product according to the type of store This method must be extended for specific stations :param product: product to be tester :return: .. py:method:: return_to_store(agent, product) Tries to return a product in the station's store :param agent: agent returning product :param product: returned product :return: StationRequest object .. py:method:: set_products(products) Sets the products contained in the store :param products: list of products, type is not checked :return: .. py:method:: loop_() This method represents the life cycle of an agent. The loop process will be added to the simulation environment after the agent creation. Agents may perform actions that have a duration. They must then yield other processes such as waiting or moving, and will resume at the end of their action. The loop must be extended to represent a specific behavior, using possibly inherited methods.