ipkiss3.all.FlipV

class ipkiss3.all.FlipV(flipped, *args)

Specifies that a vertically mirrored version of the instance must be placed.

If the instance has transformations, then these transformations are taken into account when the instance is flipped.

#
###
#####
------
#####
###
#

See also

FlipH

Examples

>>> i3.FlipV(['inst1', 'inst2', 'inst3'])
>>> i3.FlipV('inst1', 'inst2', 'inst3')
>>> i3.FlipV('inst1')
import ipkiss3.all as i3

wg_bend = i3.RoundedWaveguide().Layout(
  bend_radius=15.,
  shape=[
    (0, 0),
    (5, 0),
    (15, 5),
    (25, 5),
])

gap = 1
insts = i3.place_insts({
  'east_top': wg_bend,
  'west_top': wg_bend,
  'east_bottom': wg_bend,
  'west_bottom': wg_bend,
}, [
  i3.FlipH('west_top'),
  i3.FlipV('east_bottom'),
  i3.FlipV('west_bottom'),
  i3.FlipH('west_bottom'),
  i3.Place('east_top:in', (0, gap / 2.)),
  i3.Place('east_bottom:in', (0, -gap / 2.)),
  i3.Join([
     ('west_top:in', 'east_top:in'),
     ('west_bottom:in', 'east_bottom:in'),
  ])
])

lv = i3.LayoutCell().Layout(instances=insts)
lv.visualize(annotate=True)
../../../_images/ipkiss3-all-FlipV-1.png