====== ORBIS ====== Orbis je systém pro modelování reálného světa v rámci dané aplikace a manipulací s ním ve smyslu vytváření a rušení objektů, jejich přesouvání a interpretace a to vše s možností ukládání a načítání jeho částí. ===== Stavba světa ORBISu ===== Svět ORBISu je na vrcholu tvořen objektem WORLD, pod kterým se rozvíjí další větve objektového stromu. Jeho stavba připomíná klasické chápání hmoty, skládá se z atomů představovaných elementy a z nich jsou sestaveny molekuly v podobě entit a vše ovládají speciální objekty zvané nástroje. Je to jednoduché, protože v jednoduchosti je krása. Analogie s hmotou ovšem nebrání modelování abstraktnějších systémů, je to prostě jenom příměr. ==== Stavební prvky ==== === Element === **Element** je základním stavebním prvkem světa ORBISu a a z hlediska dědičnosti je i předkem všech tříd objektů zde se vyskytujících. Je dále nedělitelný a v syrovém stavu má jen vlastnost **Name** - jméno. tolik k podobenství s atomem (zapomeňte na nesmysly jako kvantová mechanika a podobně). Celý název třídy objektu je //TElement// a setkáme se s ním třeba v podobě souřadnic (//T2DCoordinate//). === Entita === **Entita** (//TEntity//) je taková molekula a umí se skládat z jiných Elementů nebo Entit. Vlastně je to jednoduchý seznam (kontejner) těchto prvků. Typickým příkladem Entity je sám svět (//TWorld//) a vlastně skoro všechny objekty které najdete v ORBISu jsou potomky Entity, protože použít Element znamená sice ušetření paměťového místa, ale zamezuje nám to model dále dělit směrem dolů. Entita má v základu kromě vlastnosti **Nam**e ještě **Count** - ten udává celkový počet jejích elementů. === Tool === **Tool** neboli nástroj (//TTool//) je specializovaná **Entita** která je umí "něco udělat" s části modelu. Proto je vybaven vstupem (**Input**), výstupem (**Output**) a základní funkcí **DoIt**, neboli proveď, udělej to. Princip je jednoduchý, na vstup vložíme Entitu či Element který chceme zpracovat, pustíme DoIt a na výstupu je výsledek. Složitější nástroje mají samozřejmě další nastavovací parametry ale princip zůstává takhle jednoduchý. Nástroje se dají řetězit do tzv. **Technologií**, které si mezi sebou předávají vstupy a výstupy. Příkladem je **MainTool** (hlavní nástroj) světa, což je vlastně sama funkční část aplikace, pod kterou se skrývají moduly pro editaci, zobrazení a další výkonně funkce a to vše jsou potomci nástrojů. ==== Struktura ==== {{:orbis:orbis_struktura_world.png?200|}}Ukázka světa zobrazená volbou Zobrazení-Struktura světa. \\ World neboli svět má čtyři základní části: * **ObjectClasses** - tedy seznam **tříd objektů**, se kterými se dá v modelu pracovat a které zde můžeme najít, včetně výčtu všech jejich **vlastností** (a jejich typů). * **MainTool**, neboli hlavní nástroj který světem hýbe. * **System register** kde se krývají nastavení nástrojů, definice kurzorů, použitých ikon a jiná systémová kouzla. * **ObjectModel**, tedy vlastní objektový model, kterým je hýbáno a zrcadlí to co se snažíme v ORBISu modelovat. Na obrázku je svět určený pro aplikaci GIS, proto //TWCSWorld// (World Coordinates System World), který má navíc i definovanou barevnou paletu (//TCollorPalette//)