//---------------------------------------------------------------------------
#ifndef finterf3d_1H
#define finterf3d_1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <ComCtrls.hpp>

#define IL_PODZ  70          //dokładność analizy przeslony i ekranu
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:	// IDE-managed Components
    TPaintBox *PaintBox1;
    TPanel *Panel1;
    TLabel *Label2;
    TTrackBar *TrackBar1;
    TGroupBox *GroupBox1;
    TLabel *Label3;
    TEdit *Edit1;
    TLabel *Label4;
    TEdit *Edit2;
    TGroupBox *GroupBox2;
    TLabel *Label6;
    TLabel *Label7;
    TEdit *Edit3;
    TEdit *Edit4;
    TGroupBox *GroupBox3;
    TEdit *Edit5;
    TEdit *Edit6;
    TEdit *Edit7;
    TButton *Button1;
    TButton *Button3;void __fastcall Button1Click(TObject *Sender);
    void __fastcall Button3Click(TObject *Sender);
    void __fastcall PaintBox1Paint(TObject *Sender);
    void __fastcall FormShow(TObject *Sender);
private:	// User declarations
    float P[IL_PODZ][IL_PODZ], E[IL_PODZ][IL_PODZ];  //przysłona i ekran
    double L;               //długość fali światła
    double z_p, z_e;        //pozycja przysł. i ekr. na osi OZ
    double rozm_p, rozm_e;  //rozmiary przysł. i ekr.
    TPunkt obs;             //pozycja obserwatora

    void inicjuj_parametry( void);
    void interferuj( void);
    void pokaz_przyslone( T3d d3);
    void pokaz_ekran( T3d d3);
public:		// User declarations
    __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
