draw correct altitude-based shadows
This commit is contained in:
parent
5948c09f92
commit
0e10eeabb8
1 changed files with 11 additions and 4 deletions
|
@ -206,10 +206,17 @@ class SVGImage:
|
||||||
return
|
return
|
||||||
|
|
||||||
if altitude is not None or elevation is not None:
|
if altitude is not None or elevation is not None:
|
||||||
|
if elevation is not None:
|
||||||
elevation = float(1 if elevation is None else elevation)
|
elevation = float(1 if elevation is None else elevation)
|
||||||
if elevation:
|
if elevation:
|
||||||
shadow = self.get_shadow(geometry, elevation)
|
shadow = self.get_shadow(geometry, elevation)
|
||||||
self.g.append(shadow)
|
self.g.append(shadow)
|
||||||
|
else:
|
||||||
|
for other_altitude, other_geom in self.altitudes.items():
|
||||||
|
shadow_clip = self.register_geometry(other_geom, as_clip_path=True)
|
||||||
|
shadow = self.get_shadow(geometry, altitude-other_altitude)
|
||||||
|
shadow.set('clip-path', 'url(#'+shadow_clip+')')
|
||||||
|
self.g.append(shadow)
|
||||||
|
|
||||||
self.clip_altitudes(geometry, altitude)
|
self.clip_altitudes(geometry, altitude)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue