http://www.adaconcept.com/programs/ontozorendszeres_szimulacio/szimulacio-ontozorendszer-elemek-cso.ads
with Szimulacio.Ontozorendszer.Csovezetek_Modell;
package Szimulacio.Ontozorendszer.Elemek.Cso is
package Modell renames Ontozorendszer.Csovezetek_Modell;
-- Altalaban azt ajanljak, hogy a tipusok hierarchiaja kovesse a csomagok hierarchiajat
-- azaz egy tipus leszarmazottja a tipust tartalmazo csomag gyerekcsomagjaban legyen.
-- de ettol neha elterunk...
-- private / atlatszatlan tipusokkal itt nem bonyolitjuk a programot, de mashol mutatunk ra peldat.
type Cso_Tipus is new Frissitheto_Absztrakt_Ontozorendszer_Elem_Tipus with record
Eleje : Modell.Csovezetek_Modell_Elem_Mutato_Tipus;
Vege : Modell.Csovezetek_Modell_Elem_Mutato_Tipus;
end record;
-- overriding
procedure Frissit(Objektum : in out Cso_Tipus);
--
-- T-elem
type Ketagu_Eloszto_Cso_Tipus is new Frissitheto_Absztrakt_Ontozorendszer_Elem_Tipus with record
Eleje : Modell.Csovezetek_Modell_Elem_Mutato_Tipus;
Ag1 : Modell.Csovezetek_Modell_Elem_Mutato_Tipus;
Ag2 : Modell.Csovezetek_Modell_Elem_Mutato_Tipus;
end record;
-- overriding
procedure Frissit(Objektum : in out Ketagu_Eloszto_Cso_Tipus);
--
-- kereszt osszekoto elem
type Haromagu_Eloszto_Cso_Tipus is new Ketagu_Eloszto_Cso_Tipus with record
Ag3 : Modell.Csovezetek_Modell_Elem_Mutato_Tipus;
end record;
-- overriding
procedure Frissit(Objektum : in out Haromagu_Eloszto_Cso_Tipus);
--
-- kereszt osszekoto elem a vizforrashoz (abban az esetben hasznaljuk, ha a vizforras nem a kert szelen van)
type Negyagu_Eloszto_Cso_Tipus is new Haromagu_Eloszto_Cso_Tipus with record
Ag4 : Modell.Csovezetek_Modell_Elem_Mutato_Tipus;
end record;
-- overriding
procedure Frissit(Objektum : in out Negyagu_Eloszto_Cso_Tipus);
end Szimulacio.Ontozorendszer.Elemek.Cso;