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.

okno vrstvy01

Dátový model grafických objektov, nepodporujúci vrstvy, vyzeral nasledovne:

okno vrstvy02

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:

okno vrstvy03

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:

okno vrstvy04

Viacvrstvový dátový model grafických objektov pre kreslenie schémy je nasledovný:

okno vrstvy05

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

  1. 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.
  2. 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.
  3. 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.
  4. 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).
  5. Zobrazenie vrstvy / zoomu môže byť nastavené funkciami zo skriptu:
  6. 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.

Zobrazenie vrstiev v paletke

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:
  1. Modrý kruh - zobrazuje sa pri aktuálnej vrstve. Táto vrstva je pracovná, v nej sa vždy menia parametre objektu.
  2. Č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.
  3. 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).
  4. 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.
  5. Sivý symbol - sú zobrazené keď, nie je vybratý žiaden objekt.


Kreslenie v schéme


Výber objektov

Pre výber objektov v schémach s vrstvami platí nasledovné:

  1. 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.
  2. Vytvorenie nového objektu kreslením alebo kopírovaním, vykoná výber nového objektu vo všetkých vrstvách.
  3. 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 medzi schémami s rôznym počtom vrstiev


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.

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.

Prednastavené (default) parametre grafickej schémy
Výber podkladovej bitovej mapy
Klávesové skratky v GrEditore