예제 #1
0
    def __init__(self, aoi, *args, **kwargs):
        inputNodes = [
            # input node azimuth defined WRT input light direction
            nodes.InputNode(name="fr",
                            component=self,
                            position=optivis.geometry.Coordinates(0.5, 0),
                            aoiMultiplier=-1,
                            aoiOffset=180),
            nodes.InputNode(name="bk",
                            component=self,
                            position=optivis.geometry.Coordinates(-0.5, 0),
                            aoiMultiplier=-1)
        ]

        outputNodes = [
            # output node azimuth defined WRT output light direction
            nodes.OutputNode(name="fr",
                             component=self,
                             position=optivis.geometry.Coordinates(0.5, 0)),
            nodes.OutputNode(name="bk",
                             component=self,
                             position=optivis.geometry.Coordinates(-0.5, 0),
                             aoiOffset=180)
        ]

        super(Modulator, self).__init__(inputNodes=inputNodes,
                                        outputNodes=outputNodes,
                                        aoi=aoi,
                                        *args,
                                        **kwargs)
예제 #2
0
    def __init__(self, *args, **kwargs):
        filename = "b-cav-mir.svg"
        size = optivis.geometry.Coordinates(11, 29)

        inputNodes = [
            # input node azimuth defined WRT input light direction
            nodes.InputNode(name="fr",
                            component=self,
                            position=optivis.geometry.Coordinates(0.5, 0),
                            aoiMultiplier=-1,
                            aoiOffset=180),
            nodes.InputNode(name="bk",
                            component=self,
                            position=optivis.geometry.Coordinates(-0.5, 0),
                            aoiMultiplier=-1)
        ]

        outputNodes = [
            # output node azimuth defined WRT output light direction
            nodes.OutputNode(name="fr",
                             component=self,
                             position=optivis.geometry.Coordinates(0.5, 0)),
            nodes.OutputNode(name="bk",
                             component=self,
                             position=optivis.geometry.Coordinates(-0.5, 0),
                             aoiOffset=180)
        ]

        super(CavityMirror, self).__init__(filename=filename,
                                           size=size,
                                           inputNodes=inputNodes,
                                           outputNodes=outputNodes,
                                           *args,
                                           **kwargs)
예제 #3
0
    def __init__(self, aoi=0, *args, **kwargs):
        filename = "b-bspcube.svg"
        size = optivis.geometry.Coordinates(23, 23)

        inputNodes = [
            nodes.InputNode(name="frA",
                            component=self,
                            position=optivis.geometry.Coordinates(0, -0.5),
                            aoiOffset=90),
            nodes.InputNode(name="frB",
                            component=self,
                            position=optivis.geometry.Coordinates(0.5, 0),
                            aoiOffset=180),
            nodes.InputNode(name="bkA",
                            component=self,
                            position=optivis.geometry.Coordinates(-0.5, 0)),
            nodes.InputNode(name="bkB",
                            component=self,
                            position=optivis.geometry.Coordinates(0, 0.5),
                            aoiOffset=270)
        ]

        outputNodes = [
            nodes.OutputNode(name="frA",
                             component=self,
                             position=optivis.geometry.Coordinates(0.5, 0),
                             aoiMultiplier=-1),
            nodes.OutputNode(name="frB",
                             component=self,
                             position=optivis.geometry.Coordinates(0, -0.5),
                             aoiMultiplier=-1,
                             aoiOffset=270),
            nodes.OutputNode(name="bkA",
                             component=self,
                             position=optivis.geometry.Coordinates(0, 0.5),
                             aoiMultiplier=-1,
                             aoiOffset=90),
            nodes.OutputNode(name="bkB",
                             component=self,
                             position=optivis.geometry.Coordinates(-0.5, 0),
                             aoiMultiplier=-1,
                             aoiOffset=180)
        ]

        super(BeamSplitterCube, self).__init__(filename=filename,
                                               size=size,
                                               inputNodes=inputNodes,
                                               outputNodes=outputNodes,
                                               aoi=aoi,
                                               *args,
                                               **kwargs)
예제 #4
0
    def __init__(self, *args, **kwargs):
        filename = "c-laser1.svg"
        size = optivis.geometry.Coordinates(62, 46)

        outputNode = nodes.OutputNode(name="out",
                                      component=self,
                                      position=optivis.geometry.Coordinates(
                                          0.5, 0))

        super(Laser, self).__init__(filename=filename,
                                    size=size,
                                    outputNode=outputNode,
                                    *args,
                                    **kwargs)
예제 #5
0
    def __init__(self, aoi=0, *args, **kwargs):
        filename = "c-isolator.svg"
        size = optivis.geometry.Coordinates(52, 23)

        inputNodes = [
            # input node azimuth defined WRT input light direction
            nodes.InputNode(name="fr",
                            component=self,
                            position=optivis.geometry.Coordinates(-0.5, 0)),
            nodes.InputNode(name="bk",
                            component=self,
                            position=optivis.geometry.Coordinates(0.5, 0),
                            aoiOffset=180),
            nodes.InputNode(name="frPoA",
                            component=self,
                            position=optivis.geometry.Coordinates(-0.35, -0.1),
                            aoiOffset=90),
            nodes.InputNode(name="frPoB",
                            component=self,
                            position=optivis.geometry.Coordinates(-0.35, 0.1),
                            aoiMultiplier=-1,
                            aoiOffset=90),
            nodes.InputNode(name="bkPoA",
                            component=self,
                            position=optivis.geometry.Coordinates(0.35, -0.1),
                            aoiMultiplier=-1,
                            aoiOffset=-90),
            nodes.InputNode(name="bkPoB",
                            component=self,
                            position=optivis.geometry.Coordinates(0.35, 0.1),
                            aoiOffset=-90)
        ]

        outputNodes = [
            # output node azimuth defined WRT output light direction
            nodes.OutputNode(name="fr",
                             component=self,
                             position=optivis.geometry.Coordinates(-0.5, 0),
                             aoiMultiplier=-1,
                             aoiOffset=180),
            nodes.OutputNode(name="bk",
                             component=self,
                             position=optivis.geometry.Coordinates(0.5, 0),
                             aoiMultiplier=-1),
            nodes.OutputNode(name="frPoA",
                             component=self,
                             position=optivis.geometry.Coordinates(
                                 -0.35, -0.1),
                             aoiMultiplier=-1,
                             aoiOffset=90),
            nodes.OutputNode(name="frPoB",
                             component=self,
                             position=optivis.geometry.Coordinates(-0.35, 0.1),
                             aoiOffset=270),
            nodes.OutputNode(name="bkPoA",
                             component=self,
                             position=optivis.geometry.Coordinates(0.35, -0.1),
                             aoiOffset=270),
            nodes.OutputNode(name="bkPoB",
                             component=self,
                             position=optivis.geometry.Coordinates(0.35, 0.1),
                             aoiMultiplier=-1,
                             aoiOffset=90)
        ]

        super(FaradayIsolator, self).__init__(filename=filename,
                                              size=size,
                                              inputNodes=inputNodes,
                                              outputNodes=outputNodes,
                                              aoi=aoi,
                                              *args,
                                              **kwargs)