예제 #1
0
    def apply_local_refraction(self, beam):
        surface_shape = self.get_optical_element().get_surface_shape()

        ccc = S4Conic.initialize_from_coefficients(
            surface_shape.get_conic_coefficients())

        oe = self.get_optical_element()
        refraction_index_object, refraction_index_image = oe.get_refraction_indices(
        )

        beam_mirr, normal = ccc.apply_refraction_on_beam(
            beam, refraction_index_object, refraction_index_image)

        return beam_mirr, normal
예제 #2
0
    def testsInitializers(self):
        #
        # initializers
        #
        a = S4Conic()
        print(a.info())

        a = S4Conic.initialize_from_coefficients([1.0,1,1,1,1,1,1,1,1,1])
        assert_equal(a.get_coefficients(),numpy.array([1.0,1,1,1,1,1,1,1,1,1]))
        print(a.info())

        a = S4Conic.initialize_as_plane()
        assert_equal(a.get_coefficients(),numpy.array([0,0,0,0,0,0,0,0,-1.,0]))
        print(a.info())
예제 #3
0
 def get_optical_surface_instance(self):
     surface_shape = self.get_surface_shape()
     print(">>>>> Conic optical element")
     return S4Conic.initialize_from_coefficients(surface_shape.get_conic_coefficients())