stairs have no direction anymore, our altitude system replaces this

This commit is contained in:
Laura Klünder 2017-08-06 17:07:01 +02:00
parent d4c6f1ed9d
commit 822e3ed819
3 changed files with 9 additions and 33 deletions

View file

@ -181,15 +181,10 @@ class EditorViewSet(ViewSet):
graphedges,
graphnodes
)
return Response(sum([self._get_geojsons(obj) for obj in results], ()))
return Response([obj.to_geojson(instance=obj) for obj in results])
else:
raise ValidationError('No level or space specified.')
@staticmethod
def _get_geojsons(obj):
return (((obj.to_shadow_geojson(),) if hasattr(obj, 'to_shadow_geojson') else ()) +
(obj.to_geojson(instance=obj),))
@list_route(methods=['get'])
def geometrystyles(self, request, *args, **kwargs):
return Response({
@ -198,7 +193,7 @@ class EditorViewSet(ViewSet):
'hole': 'rgba(255, 0, 0, 0.3)',
'door': '#ffffff',
'area': 'rgba(85, 170, 255, 0.2)',
'stair': 'rgba(160, 0, 160, 0.5)',
'stair': '#a000a0',
'obstacle': '#999999',
'lineobstacle': '#999999',
'column': '#888888',

View file

@ -415,15 +415,19 @@ editor = {
}
},
_weight_for_zoom: function() {
return Math.pow(2, editor.map.getZoom())*0.3;
return Math.pow(2, editor.map.getZoom())*0.1;
},
_adjust_line_zoom: function() {
var weight = Math.pow(2, editor.map.getZoom())*0.3,
var weight = Math.pow(2, editor.map.getZoom())*0.1,
factor = Math.pow(2, editor.map.getZoom());
editor._arrow_colors = [];
for(var i=0;i<editor._line_geometries.length;i++) {
var layer = editor._line_geometries[i];
layer.setStyle({weight: weight});
if (layer.feature.properties.type === 'stair') {
layer.setStyle({weight: weight/2});
} else {
layer.setStyle({weight: weight});
}
if (layer.feature.properties.type === 'graphedge') {
var start_pos = 0.4,
end_pos = layer.length-0.4,

View file

@ -1,5 +1,3 @@
from collections import OrderedDict
from django.db import models
from django.utils.translation import ugettext_lazy as _
from shapely.geometry import CAP_STYLE, JOIN_STYLE, mapping
@ -70,27 +68,6 @@ class Stair(SpaceGeometryMixin, models.Model):
verbose_name_plural = _('Stairs')
default_related_name = 'stairs'
def to_geojson(self, *args, **kwargs):
result = super().to_geojson(*args, **kwargs)
original_geometry = result['geometry']
draw = self.geometry.buffer(0.05, join_style=JOIN_STYLE.mitre, cap_style=CAP_STYLE.flat)
result['geometry'] = format_geojson(mapping(draw))
result['original_geometry'] = original_geometry
return result
def to_shadow_geojson(self):
shadow = self.geometry.parallel_offset(0.03, 'right', join_style=JOIN_STYLE.mitre)
shadow = shadow.buffer(0.019, join_style=JOIN_STYLE.mitre, cap_style=CAP_STYLE.flat)
return OrderedDict((
('type', 'Feature'),
('properties', OrderedDict((
('type', 'shadow'),
('original_type', self.__class__.__name__.lower()),
('original_id', self.id),
))),
('geometry', format_geojson(mapping(shadow), round=False)),
))
class Obstacle(SpaceGeometryMixin, models.Model):
"""