ipkiss3.all.FlipH

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

Specifies that a horizontally mirrored version of the component must be placed.

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

    # | #
  ### | ###
##### | #####

See also

FlipV

Examples

>>> i3.FlipH(['inst1', 'inst2', 'inst3'])
>>> i3.FlipH('inst1', 'inst2', 'inst3')
>>> i3.FlipH('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-FlipH-1.png