Source code for morse.sensors.gps

import logging; logger = logging.getLogger("morse." + __name__)
import morse.core.sensor
from morse.helpers.components import add_data

[docs]class GPS(morse.core.sensor.Sensor): """ This sensor emulates a GPS, providing the exact coordinates in the Blender scene. The coordinates provided by the GPS are with respect to the origin of the Blender coordinate reference. """ _name = "GPS" add_data('x', 0.0, "float", \ 'x coordinate of the sensor, in world coordinate, in meter') add_data('y', 0.0, "float", \ 'y coordinate of the sensor, in world coordinate, in meter') add_data('z', 0.0, "float", \ 'z coordinate of the sensor, in world coordinate, in meter') def __init__(self, obj, parent=None): """ Constructor method. Receives the reference to the Blender object. The second parameter should be the name of the object's parent. """ logger.info('%s initialization' % obj.name) # Call the constructor of the parent class super(self.__class__, self).__init__(obj, parent) logger.info('Component initialized, runs at %.2f Hz', self.frequency)
[docs] def default_action(self): """ Main function of this component. """ x = self.position_3d.x y = self.position_3d.y z = self.position_3d.z # Store the data acquired by this sensor that could be sent # via a middleware. self.local_data['x'] = float(x) self.local_data['y'] = float(y) self.local_data['z'] = float(z)