Zavedenie vrstiev má za úlohu riadiť viditeľnosť objektov v schémach v
závislosti od veľkosti zoomu schémy. Objekty majú definovanú viditeľnosť vo
vrstvách a vrstvy viditeľnosť od zoomu.
Dátový model grafických objektov, nepodporujúci vrstvy, vyzeral nasledovne:
Objekty sú v ňom vykresľované podľa poradia a podľa svojej viditeľnosti. Vo
viacvrstvovom riešení grafických objektov pribúdajú do definície schém vrstvy.
Dátový model
grafických objektov pre kreslenie schémy vyzerá nasledovne:
Pri kreslení sa vyhodnotí viditeľnosť vrstvy a ak je vrstva viditeľná, nakreslí
sa. Vo vrstve sa kreslia objekty, ktoré sú nakonfigurované ako viditeľné v tejto vrstve.
Vlastnosti tohto riešenia sú viditeľnejšie pri podrobnejšom pohľade na
predchádzajúce obrázky, ktoré ukazovali len princíp novej vlastnosti schém - vrstiev.
Dátový model grafických objektov, ktorý nepodporoval vrstvy vyzeral takto:
Viacvrstvový dátový model grafických objektov pre kreslenie schémy je nasledovný:
Tu vidíme, že objekty pre vrstvy zdieľajú RefId na pripojenie pre zobrazovanie a ovládanie.
Parametre vlastnosti objektu sú rozšírene o viditeľnosť vo vrstve a navyše je možné prispôsobiť ich jednotlivým vrstvám.
Napríklad: Text "Žilina" vo vrstve 1 môže byť nahradený textom "Žilina - počet vlakových súprav 10" vo vrstve 5.
Ďalej môže mať zmenený font, farbu, umiestnenie...
Zobrazovanie v HI
- Pri kreslení schémy sa viditeľnosť vrstvy vyhodnocuje podľa zoomu. Ak je vrstva viditeľná, nakreslí sa. Vo vrstve sa kreslia objekty, ktoré v nej majú
definovanú viditeľnosť vo vrstve. Skript dostáva informáciu o zmene vrstvy prostredníctvom
udalosti OnNewLayer.
- Zoom schémy je robený prostriedkami windows, avšak existujú objekty
nepodliehajúce zoomu. Ich rozmery a umiestnenie nastavuje skript, ktorý je o zmenách veľkosti zoomu informovaný
udalosťou
OnPictZoom.
- Výber zoomu sa snaží zachovať pomer strán 1:1. Pomer v zobrazení je ešte
ovplyvnený rozmerom schémy, t.j. ak táto modifikuje pomer zobrazenia, napr.
natiahnutím iba v jednom smere, tak sa toto zachováva aj v zoome.
- Zmeny vlastností objektov zo skriptu platia iba pre určité vrstvy, pre ktoré sa nastavujú funkciou
%HI_LayersParams (len aktuálnu vrstvu, všetky vrstvy, alebo od - do vrstvy).
- Zobrazenie vrstvy / zoomu môže byť nastavené funkciami zo skriptu:
- Funkcia %HI_GetCurrLayer umožní zistiť, ktorá vrstva je aktuálne zobrazovaná.
Ovládanie grafických objektov schémy zo skriptu
Pri nastavovaní vlastností grafických objektov zo skriptu, pre schémy s vrstvami je možné pomocou
funkcie %HI_LayersParams určiť, pre ktoré vstvy platí nastavovaný parameter.
Nastavenie platí pre aktuálnu vrstvu, ale môže sa nastaviť aj pre všetky alebo
pre vybrané vrstvy (rozsah od - do).
Tvorba vrstvových schém
Vrstvové schémy sú vytvárané v grafickom editore.
- V parametroch grafickej schémy sa zadávajú parametre vrstiev (počet a pomer
zmenšenia (mierky ako pri mapách), rozsah, od ktorého je vrstva viditeľná, napr. 5 znamená pomer kreslenia 1:5).
- Základnú prvú vrstvu tvorí rozlíšenie pre zoom 1:1 - napr. rozlíšenie schémy 8000:6000, v ktorom sa schéma nakreslí.
- V nástrojovom paneli D2000 GrEditor sú k dispozícii ikony pre prácu s vrstvami:
- Nastav aktívnu vrstvu - nastaví pracovnú vrstvu a zoom podľa vrstvy.
- Kresli všetky vrstvy - zobrazí všetky objekty bez ohľadu na pracovnú vrstvu.
- Výber pracovnej vrstvy je možné urobiť počas kreslenia v schéme stlačením CTRL + číslo požadovanej vrstvy.
- V zozname spojení - všetky objekty, je pre vrstvové schémy uvedené, či je objekt zoomovaný (Z) a v ktorých vrstvách je kreslený (1,2,3,...).
- Vrstvy sú zobrazené v paletke pre nastavenie parametrov grafických
objektov.
|
1 |
V titulkovom pruhu je zobrazené číslo aktívnej (pracovnej) vrstvy. |
2 |
Políčka (1..10) určujú, v ktorých vrstvách je objekt
kreslený. Políčka pre vrstvy, ktoré schéma neobsahuje, nie sú prístupné. |
3 |
Kopírovanie parametrov medzi vrstvami. Po kliknutí na tlačidlo "P" sa
zobrazí rozšírenie paletky. |
4 |
Políčka pod písmenom P (parametre vrstiev) slúžia na automatické
aplikovanie zmien parametrov v grafickom objekte aj na predchádzajúce / nasledovné vrstvy. |
5 |
Ikona lupa označuje parameter vyjadrujúci, či je objekt zoomovaný pri zmene
zoomu. Ak nie je, potom nepodlieha zoomu a jeho rozmery a umiestnenie sa nastavujú skriptom, ktorý je o zmenách veľkosti zoomu informovaný
udalosťou OnPictZoom. |
6 |
Pri vrstvách sa zobrazujú informácie, do ktorých vrstiev sa prenáša zmena parametrov. Významy symbolov:
- Modrý kruh - zobrazuje sa pri aktuálnej vrstve. Táto vrstva je pracovná, v nej sa vždy menia parametre objektu.
- Červené šípky – súvisia s bodom 4. Zobrazujú výber pri vrstvách – všetky parametre sa kopírujú z pracovnej vrstvy do vrstiev, pri ktorých sú šípky.
- Ružové šípky - zobrazujú sa, keď nie je nastavenie podľa bodu 4, ale objekt má vnútorný príznak, že má kopírovať zmeny do všetkých vrstiev (napríklad po vytvorení nového objektu).
- Modré šípky - zobrazujú sa, keď nie je nastavenie podľa bodu 4, ale objekt má vnútorný príznak, že má kopírovať iba zmeny v umiestení objektu do všetkých vrstiev.
Do vrstiev sa neprenáša nová pozícia z aktívnej vrstvy, ale veľkosť zmeny, ktorá sa pripočíta k umiestneniu vo vrstve.
- Sivý symbol - sú zobrazené keď, nie je vybratý žiaden objekt.
|
|
Kreslenie v schéme
- Novo vytvorený grafický objekt bude vytvorený vo všetkých vrstvách
a jeho zmeny parametrov platia pre všetky vrstvy, až kým sa nezmení nejaký parameter v inej vrstve. Odvtedy budú jeho parametre menené
v pracovnej vrstve a tiež vo vrstvách označených v políčkach v paletke
Vlastnosti objektu.
- Grafický objekt, vytvorený ako kópia iného grafického objektu pomocou myši alebo kláves, bude mať menené parametre umiestnenia (posun objektu) vo všetkých vrstvách o rovnakú zmenu, až kým sa nezmení nejaký parameter v inej vrstve.
Odvtedy budú jeho parametre umiestnenia menené v pracovnej vrstve a tiež vo vrstvách označených v políčkach v paletke Vlastnosti objektu.
Grafický objekt, vytvorený ako kópia iného grafického objektu cez systémovú schránku pomocou CTRL+C, CTRL+X a CTRL+V, bude umiestnený vo všetkých vrstvách vľavo hore. Pri posune sa pracuje iba s aktuálnou vrstvou.
- Objekt môže mať v každej vrstve vlastné parametre, ktoré sa menia
v paletke Vlastnosti objektu.
- Parametre definované v paletke Pripojenie objektu, sú spoločné pre
všetky vrstvy, t.j. objekty pre vrstvy zdieľajú RefId a pripojenia pre
zobrazovanie a ovládanie.
- Zmena vrstvy ruší vytváranie objektu a vytvára výber, ako pri výbere kliknutím na objekt.
- Ak objekt skupiny nie je viditeľný v niektorej vrstve, je v danej vrstve zo skupiny akoby "odobraný",
t.j. v skupine je stále zaradený, ale nepočíta sa s ním.
Výber objektov
Pre výber objektov v schémach s vrstvami platí nasledovné:
- Každá vrstva má svoj zoznam vybraných objektov, ktorý sa použije pri zmene vrstvy. Ak vrstva, ktorá sa nastavuje, nemá
vybrané objekty, použijú sa objekty z vrstvy, z ktorej sa do nej prepínate.
- Vytvorenie nového objektu kreslením alebo kopírovaním, vykoná výber nového objektu vo všetkých vrstvách.
- Výber objektu(ov) prebieha iba v jednej vrstve (výbery v iných vrstvách nie sú zmenené).
Kopírovanie objektov
- Kopírovanie objektov cez schránku vloží objekty vľavo hore vo viditeľnej oblasti schémy v každej vrstve.
Kopírovanie objektov medzi schémami s rôznym počtom vrstiev
- Pri kopírovaní zo schémy s vrstvami do schémy bez vrstiev nakopírujú objekty z
aktívnej vrstvy (ak je aktívna napr. 3. vrstva, skopírujú sa objekty len z tejto
vrstvy).
- Pri kopírovaní do schém s viac vrstvami ako je schéma, z ktorej sa
kopíruje - zvyšné vrstvy až po max. vrstvu majú nastavené dáta podľa poslednej vrstvy
schémy, z ktorej sa kopíruje.
- Pri kopírovani do schém s menej vrstvami ako je schéma, z ktorej sa
kopíruje - nakopírujú sa iba platné vrstvy, zvyšné vrstvy až po maximálnu možnú vrstvu sa nastavia podľa obsahu poslednej
cieľovej vrstvy.
Kopírovanie parametrov medzi vrstvami schémy
Po stlačení tlačidla "P" sa zobrazí rozšírenie paletky, v ktorom sa nastavuje
kopírovanie parametrov medzi vrstvami.
Políčka 1 - 10 určujú, do ktorých vrstviev sa nakopírujú dáta z aktuálnej vrstvy.
Umiestnenie - kopírujú sa parametre umiestnenia.
Parametre - kopírujú sa všetky parametre okrem umiestnenia.