| |
Jadro je základným stavebným kameňom platformy. Poskytuje potrebnú funkcionalitu
pre celú aplikáciu. Programovacím jazykom platformy je C++ a používa knižnicu MFC.
Nasleduje zoznam menších celkov obsiahnutých v jadre :
- 'main frame' aplikácie - tento okrem iného pozostáva
z častí potrebných pre vytvorenie základného okna aplikácie. Toto okno obsahuje MDI
správcu, konfigurovateľné menu, toolbary a property dialog.
- správa projektov a pozícií - zabezpečuje
funkcionalitu pre vytváranie, editovanie, premenovávanie a mazanie projektov a
pozícií. Užívateľ pracuje s projektom, ktorý obsahuje viacero tzv. pozícií.
Pozícia je samostatná časť projektu (napr. dosková konštrukcia ...), tvoriaca celok
najmä po stránke statickej. V jednom projekte môže byť viacero pozícií rovnakého
alebo rôzneho typu, ktoré medzi sebou komunikujú a vymieňajú si dáta. Tak je možné
ako vstupy pre rámové konštrukcie zobrať už vytvorený prierez a zároveň výsledné
reakcie zobrať ako vstupy pre výpočet základov.
- správa okien - zabezpečuje uchovávanie pracovnej
plochy pre jednotlivé projekty a pozície. Uživateľ si pre jednotlivé projekty a
pozície môže vytvoriť vlastné nastavenie, ktoré bude pri štarte aplikácie,
otvorení projektu alebo pozície uplatnené.
- property dialog - je modelles dialog minimálnych
potrebných rozmerov, meniaci svoj obsah podľa aktuálnej akcie zadávania. Obsahuje
nutné a opcionálne informácie pre práve vykonávané zadávanie, najmä pri grafickom
zadávaní myšou.
- správa katalógov - pre objekty s viacnásobným
použitím si uživateľ môže vytvárať tzv. katalógy. Tieto obsahujú po uživateľom
definovaných skupinách zoradené elementy (materiál, prierezy ...), ktoré sú
centrálne spravované a môže ich neskôr použiť ľubovolný užívateľ v
jednotlivých pozíciách.
- generovanie výstupného dokumentu - pre výstupy
platforma obsahuje jednoduchy generátor. V ňom si uživateľ definuje vzhľad
výstupného dokumentu. Vkladá doň jednotlivé zobrazenia pozície (grafické alebo
textové), pre ktoré volí zodpovedajúce nastavenia charakteristík (mierka, faktory pre
zobrazenie výsledkov ...). Pracuje priamo na výslednom vzhľade (vidí rozdelenie
stránok, umiestnenie jednotlivých časti na stránkach a pod.), ktorý dostane po
vytlačení. Do výsledného dokumentu si môže dopĺňať vlastné grafické entity a
nastavenia zapísať pre neskoršie použitie.
- view pre zobrazovanie - všetky moduly používajú pre
zobrazovanie tento view. Obsahuje funkcionalitu pre zobrazovanie, tranformácie a vstupy
od uživateľa. Pre zobrazovanie obsahuje triedu (štandartne vykreslovanie cez WIN API -
Device Context) zabezpečujúcu kreslenie základných grafických entít (čiara,
kružnica ...). Túto triedu možno počas behu aplikácie nahradiť inou, vytvorenou pre
druhý druh zobrazovania - napr. pri rendering-u prejsť na triedu pre zobrazovanie
pomocou Open GL alebo DirectX. Taktiež všetky zmeny súradníc sú nasmerované cez
vymeniteľnú triedu 2D transformácií. Táto trieda je pri iniciovaní modulu Draw3D automaticky vymenená za triedu pre
trojrozmerné transformácie. Táto zmena dovoluje bez prekladu akejkoľvek časti
aplikácie nielen kreslenie 3D entít, ale aj zobrazovanie 2D entít v priestore
(nachádzajú sa v jednej rovine).
- jednotlivé príkazy (commands) - sú vytvárané
jednotlivými modulmi a spravované centrálne managerom commandov. Toto riešenie
umožnuje konfigurovateľnosť menu a toolbarov uživateľom podľa jeho požiadaviek a
zvyklostí.
- správca atribútov - atribútom je
charakteristická vlastnosť objektu (farba, typ pera, font, ...). Pre držanie týchto
vlastnosti (vzľadom na ich opakované a viacnásobné použitie) obsahuje platforma
správcu, t.j. funkcionalitu pre ich vytváranie, editovanie, mazanie a zápis.
- databázový stroj (engine) - tento stroj zabezpečuje
všetky manipulácie s databázovým súborom pre zápis projektov a pozícií.
- collections - obsahujú zoznamy a polia pre rôzne typy
- základné UI triedy - obsahujú základné triedy pre
uživateľské rozhranie. Definované sú štandardné objekty pre zadávanie pre systémy
Windows 95/NT.
- matematická a geometrická funkcionalita - táto
časť obsahuje matematické definície základných grafických prvkov (bod, vektor,
matica ...) a ich operácie, tranformácie a geometrické operácie s jednoduchými
grafickými entitami (prienikové body dvoch úsečiek, polygónov ...). Súčasťou sú
tiež booleans operácie s uzavretými krivkami.
- grid - je tabuľka pre zadávanie a zobrazovanie
viacnásobných informácií. Pre zadávanie je k dispozícií samostatný control,
pracujúci v dialogoch a viewoch pre aplikáciu založenú na knižnici MFC. Jednotlivé
položky môžu byť rôzneho typu - edit, edit pre číselné hodnoty, combobox,
checkbox, list, atď. Do triedy možno pridávať uživateľom definované nové typy.
Jednotlivé label (položky vertikálnej a horizontálnej hlavičky) a položky tabuľky
môžu prechádzať cez viacero polí, definovaných pri vytváraní tabuľky. Definovaná
tabuľka sa zobrazuje tiež vo výstupnom dokumente (po transformácií na grafický
objekt), kde tiež obsahuje editovaciu funkcionalitu.
- interactory - v spolupráci s commandami pre zadávanie
existujú tzv. interactory. Sú to objekty, preberajúce v prípade voľby danej akcie
všetky vstupy (najmä myši), komunikujúce s property dialogom.
- link na vzdialené objekty - pre možnosť vzájomnej
komunikácie medzi pozíciami a pozíciami a externými dátami (katalógy, iné projekty
...) platforma obsahuje tzv. linky. Tieto objekty, bez pričinenia užívateľa,
udržiavajú vzťahy na vzdialené objekty. Táto funkcionalita umožnuje prepojenie
jednotlivých pozícií medzi sebou s využívaním dát, prepojenie na katalógy a
zároveň aktualizuje zmeny vo všetkých napojeniach, t.j. v prípade zmeny napr.
materiálu, prepočítania pozície a pod., budú tieto zmeny okamžite vykonané i v
pozíciách používajúcich tieto dáta.
|