= #SchneckeStereoTwo.jxn ... owner = @java.awt.Frame( "Stereoscopy" ) ? statement: overwrites KmgInterpreterApplet[panel0,0,0,0x0,invalid,layout=java.awt.FlowLayout] (KmgInterpreterApplet), old value in $$ = java.awt.Frame[frame0,0,0,0x0,invalid,hidden,layout=java.awt.BorderLayout,title=Stereoscopy,resizable,normal] (java.awt.Frame) two = true = true (boolean) #SchneckeStereo.jxn : ! : one = false : = false (boolean) : #JXN:include/SliderInclude.jxn : slider = @JxnSliderPanel( this, true ) : = ... (JxnSliderPanel) : owner.setFont( @java.awt.Font( "Dialog", 0, 20 ) ) : = null : owner.setLayout( @java.awt.BorderLayout() ) : = null : ! owner.setBackground( @java.awt.Color( 204, 204, 204 ) ) : owner.add( @java.awt.Label( "" ), java.awt.BorderLayout.WEST ) : = null : owner.add( @java.awt.Label( "" ), java.awt.BorderLayout.EAST ) : = null : owner.add( slider, java.awt.BorderLayout.SOUTH ) : = null : owner.add( slider.getItemPanel(), java.awt.BorderLayout.NORTH ) : = null : d = slider.add( "d", 0.5, 0., 5. ) : = 0.5 (JxnItemPanel) : ! d = eye distance : p3d_dz = slider.add( "dz", 100., 0.1, 10000. ) : = 100.0 (JxnItemPanel) : p3d_alpha = slider.add( "alpha", 19.4712, -90., 90. ) : = 19.4712 (JxnItemPanel) : p3d_phi = slider.add( "phi", -20.7048, -180., 180. ) : = -20.7048 (JxnItemPanel) : p3dLeft = @KmgPerspectiveProjection( p3d_phi, p3d_alpha, p3d_dz, -d ) : = KmgPerspectiveProjection@4b61fc (KmgPerspectiveProjection) : p3dRght = @KmgPerspectiveProjection( p3d_phi, p3d_alpha, p3d_dz, +d ) : = KmgPerspectiveProjection@1fe3ee3 (KmgPerspectiveProjection) : ! : tt = slider.add( "tt", 1.5, 0., 3. ) : = 1.5 (JxnItemPanel) : uv = @JxnUVGrid( 0, 360, 30., 0, 720, 15., 2 ) : = JxnUVGrid@1f2d08e (JxnUVGrid) : R = 3 ? statement: overwrites java.awt.Color[r=255,g=0,b=0] (java.awt.Color), old value in $$ : = 3 (int) : phi = uv.u() : = {0.0, 15.0, ... 0.0}[2545] (JxnRealArrayAlgebra) : r = tt uv.v() / 720 : = {0.0, 0.0, ... 0.0}[2545] (JxnRealArrayAlgebra) : theta = tt uv.v() / 2 : = {0.0, 0.0, ... 0.0}[2545] (JxnRealArrayAlgebra) : x = ( R + r cosD phi ) cosD theta : = {3.0, 3.0, ... 3.0}[2545] (JxnRealArrayAlgebra) : y = ( R + r cosD phi ) sinD theta : = {0.0, 0.0, ... 0.0}[2545] (JxnRealArrayAlgebra) : z = r sinD phi : = {0.0, 0.0, ... 0.0}[2545] (JxnRealArrayAlgebra) : ! : pf1 = plot( p3dLeft, 0. ).add( x-d, y, z ).setPlotFrameTitle( "side-by-side stereoscopy: left eye" ) : = {1} (JxnPerspectivePlotFrame) : !.setAuto( false, true ) : pf2 = plot( p3dRght, 0. ).add( x+d, y, z ).setPlotFrameTitle( "side-by-side stereoscopy: right eye" ) : = {2} (JxnPerspectivePlotFrame) : !.setAuto( false, true ) : #JXN:include/Grid2Include.jxn : ! pf1.getXYCanvas().setBackground( java.awt.Color.white ) : ! pf2.getXYCanvas().setBackground( java.awt.Color.white ) : pf1.setCursorTextEnabled false : = {1} (JxnPerspectivePlotFrame) : pf2.setCursorTextEnabled false : = {2} (JxnPerspectivePlotFrame) : pc = @java.awt.Panel( @java.awt.GridLayout(1,2,5,5) ) : = java.awt.Panel[panel1,0,0,0x0,invalid,layout=java.awt.GridLayout] (java.awt.Panel) : pf1.moveCanvasTo( pc ) : = null : pf2.moveCanvasTo( pc ) : = null : owner.add( pc, java.awt.BorderLayout.CENTER ) : = null : slider.getSliderFrame().hide() : = null #JXN:include/FrameInclude.jxn : $owner = owner : = java.awt.Frame[frame0,0,0,0x0,invalid,hidden,layout=java.awt.BorderLayout,title=Stereoscopy,resizable,normal] (java.awt.Frame) : ! #if Frame.class.isInstance $owner ! also works, but bad online performance : $owner.setIconImages KmgFormelInterpreter.getIconImageList() : = null : $owner.pack() : = null : KmgFormelPlotFrame.repaintAll() : = null : $owner.setVisible true : = null : $owner.addWindowListener @KmgWindowAdapter true : = null : ! KmgFormelPlotFrame.repaintAll()