Ejemplo n.º 1
0
    def _generate_env_properties(self):
        env_props = bpymorse.get_properties(self.env._bpy_object)
        longitude = env_props.get('longitude')
        geod_latitude = env_props.get('latitude')
        altitude = env_props.get('altitude')
        if 'angle_against_north' in env_props:
            angle = env_props.get('angle_against_north') - pi / 2
        else:
            angle = 0.0

        try:
            self.coord_conv = CoordinateConverter(geod_latitude, longitude,
                                                  altitude, angle)
        except:
            self.coord_conv = CoordinateConverter(geod_latitude, longitude,
                                                  altitude)

        geoc = self.coord_conv.ecef_to_geocentric(
            self.coord_conv.ltp_to_ecef(
                self.coord_conv.blender_to_ltp(numpy.matrix([0.0, 0.0, 0.0]))))
        geoc[0, 0] = degrees(geoc[0, 0])
        geoc[0, 1] = degrees(geoc[0, 1])
        geoc[0, 2] -= self.coord_conv.A

        self.properties['env'] = {
            'longitude': geoc[0, 0],
            'latitude': geoc[0, 1],
            'altitude': geoc[0, 2]
        }