fix bugs with new ramps
This commit is contained in:
parent
5eb7cd363c
commit
bbbdfd15fb
6 changed files with 25 additions and 13 deletions
|
@ -4,6 +4,7 @@ from itertools import chain
|
|||
import numpy as np
|
||||
|
||||
from c3nav.mapdata.models import AltitudeArea
|
||||
from c3nav.mapdata.models.geometry.level import AltitudeAreaPoint
|
||||
from c3nav.mapdata.render.geometry.hybrid import HybridGeometry
|
||||
|
||||
|
||||
|
@ -11,8 +12,10 @@ class AltitudeAreaGeometries:
|
|||
def __init__(self, altitudearea=None, colors=None, obstacles=None):
|
||||
if altitudearea is not None:
|
||||
self.geometry = altitudearea.geometry
|
||||
self.altitude = int(altitudearea.altitude * 1000)
|
||||
self.points = altitudearea.points
|
||||
self.altitude = None if altitudearea.altitude is None else int(altitudearea.altitude * 1000)
|
||||
self.points = None if altitudearea.points is None else [AltitudeAreaPoint(coordinates=p.coordinates,
|
||||
altitude=int(p.altitude*2))
|
||||
for p in altitudearea.points]
|
||||
else:
|
||||
self.geometry = None
|
||||
self.altitude = None
|
||||
|
@ -22,6 +25,14 @@ class AltitudeAreaGeometries:
|
|||
self.colors = colors
|
||||
self.obstacles = obstacles
|
||||
|
||||
@property
|
||||
def min_altitude(self):
|
||||
return self.altitude if self.altitude is not None else min(p.altitude for p in self.points)
|
||||
|
||||
@property
|
||||
def max_altitude(self):
|
||||
return self.altitude if self.altitude is not None else max(p.altitude for p in self.points)
|
||||
|
||||
def get_altitudes(self, points):
|
||||
# noinspection PyCallByClass,PyTypeChecker
|
||||
return AltitudeArea.get_altitudes(self, points/1000).astype(np.int32)
|
||||
|
|
|
@ -250,9 +250,9 @@ class LevelGeometries:
|
|||
geoms.base_altitude = int(level.base_altitude * 1000)
|
||||
geoms.default_height = int(level.default_height * 1000)
|
||||
geoms.door_height = int(level.door_height * 1000)
|
||||
geoms.min_altitude = (min(area.altitude for area in geoms.altitudeareas)
|
||||
geoms.min_altitude = (min(area.min_altitude for area in geoms.altitudeareas)
|
||||
if geoms.altitudeareas else geoms.base_altitude)
|
||||
geoms.max_altitude = (max(area.altitude for area in geoms.altitudeareas)
|
||||
geoms.max_altitude = (max(area.max_altitude for area in geoms.altitudeareas)
|
||||
if geoms.altitudeareas else geoms.base_altitude)
|
||||
geoms.max_height = (min(height for area, height in geoms.heightareas)
|
||||
if geoms.heightareas else geoms.default_height)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue