public static class GRobot.Spojnica extends Object
Táto trieda slúži na uchovávanie a prístup k vlastnostiam čiarových spojníc, ktoré sú definovateľné medzi robotmi. Na vytváranie (prípane rušenie) spojníc slúžia výhradne metódy z kategórie spojníc grafického robota. Táto trieda poskytuje prístup k hodnotám jestvujúcich nastavení (vrátane poskytovania možnosti ich zmien) a tiež umožňuje nastavovať a čítať doplnkové vlastnosti spojníc, napríklad vysunutie alebo definovanie tvaru značky začiatku a/alebo konca čiary spojnice.
Príklad:
Nasledujúci jednoduchý príklad ukazuje nielen vytvorenie spojníc a konfiguráciu ich vlastností, ale používa zároveň automatickú konfiguráciu sveta a obsluhu udalostí, vďaka ktorej je možné roboty na plátne presúvať myšou.
importknižnica.*;importstaticknižnica.Konštanty.*;publicclassTestovanieSpojníc {publicstaticvoidmain(String[] args) {// Začiatok automatickej konfigurácie:Svet.použiKonfiguráciu("TestovanieSpojníc.cfg");// Definícia kreslenia vlastného tvaru robotov (elipsy s menom// robota v strede):KreslenieTvarutvar = r -> { r.elipsa(2); r.text(r.meno()); };// Definícia kreslenia koncových značiek čiar spojníc:KreslenieTvarušípka = r -> { r.vpravo(30); r.dopredu(10); r.zdvihniPero(); r.vzad(10); r.vľavo(60); r.položPero(); r.dopredu(10); };
// Vytvorenie štyroch inštancií robotov, ktoré budú prepojené// spojnicami (prvý robot je hlavný, takže používame konštruktor,// ktorým zároveň nastavíme veľkosť plátien):GRobotalfa =newGRobot(400,400) {{meno("Alfa");vlastnýTvar(tvar);veľkosť(20);skočNa(-100,100);nekresliTvary(); }};GRobotbeta =newGRobot() {{meno("Beta");vlastnýTvar(tvar);veľkosť(30);skočNa(100,100);nekresliTvary(); }};GRobotgama =newGRobot() {{meno("Gama");vlastnýTvar(tvar);veľkosť(40);skočNa(100, -100);nekresliTvary(); }};GRobotdelta =newGRobot() {{meno("Delta");vlastnýTvar(tvar);veľkosť(30);skočNa(-100, -100);nekresliTvary(); }};// Uloženie inštancií do zoznamu:finalZoznam<GRobot> zoznam =newZoznam<GRobot>( alfa, beta, gama, delta);
// Vytvorenie (definovanie) spojníc a ich vlastností:alfa.spojnica(beta, alfa.elipsa(2), beta.elipsa(2)) .definujZnačkuKonca(šípka) .vysunutie(10); beta.spojnica(alfa, beta.elipsa(2), alfa.elipsa(2)) .definujZnačkuKonca(šípka) .vysunutie(10); alfa.spojnica(gama, alfa.elipsa(2), gama.elipsa(2)) .definujZnačkuZačiatku(šípka) .definujZnačkuKonca(šípka); beta.spojnica(delta, beta.elipsa(2), delta.elipsa(2)) .definujZnačkuZačiatku(šípka) .definujZnačkuKonca(šípka);
// Dokončenie automatickej konfigurácie a obsluha udalostí:for(GRobotr : zoznam) r.registrujVKonfigurácii();newObsluhaUdalostí() {GRobotaktívnyRobot =null;@Overridepublicvoidklik() {ťahanieMyšou(); }@OverridepublicvoidstlačenieTlačidlaMyši() { aktívnyRobot =null;for(GRobotr : zoznam)if(r.myšVElipse(2)) aktívnyRobot = r; }@OverridepublicvoidťahanieMyšou() {if(null!= aktívnyRobot) {if(ÚdajeUdalostí.myš().isShiftDown()) {if(ÚdajeUdalostí.tlačidloMyši(ĽAVÉ)) aktívnyRobot.otočNaMyš(); }else{if(ÚdajeUdalostí.tlačidloMyši(ĽAVÉ)) aktívnyRobot.skočNaMyš(); } } } }; } }
Výsledok:

 
Ukážka
 výsledku príkladu pri jeho prvom spustení.
| Modifikátor a typ | Atribút a opis | 
|---|---|
| TreeMap<String,Object> | parametreParametre rôzneho druhu asociované s touto spojnicou. | 
| Modifikátor a typ | Metóda a opis | 
|---|---|
| Stroke | ciara() Alias pre čiara. | 
| GRobot.Spojnica | ciara(Stroke čiara) Alias pre čiara. | 
| GRobot | ciel() Alias pre cieľ. | 
| GRobot | cieľ()Vráti inštanciu cieľového robota, čiže toho, ku ktorému
 smeruje táto spojnica. | 
| Stroke | čiara()Vráti objekt typu (implementáciu rozhrania)  Strokeurčujúcu viaceré vlastnosti čiary. | 
| GRobot.Spojnica | čiara(Stroke čiara)Umožňuje určiť nový štýl čiary prostredníctvom
 implementácie rozhrania  Stroke. | 
| Shape | dajOrezanieZnackyKonca() Alias pre dajOrezanieZnačkyKonca. | 
| Shape | dajOrezanieZnackyZaciatku() Alias pre dajOrezanieZnačkyZačiatku. | 
| Shape | dajOrezanieZnačkyKonca()Vráti inštanciu tvaru vlastného orezania
 značiek pri konci čiary spojnice alebo  null,
 ak je použité rovnaké orezanie ako pri kreslení samotnej
 spojnice. | 
| Shape | dajOrezanieZnačkyZačiatku()Vráti inštanciu tvaru vlastného orezania
 značiek pri začiatku čiary spojnice alebo  null,
 ak je použité rovnaké orezanie ako pri kreslení samotnej
 spojnice. | 
| KreslenieTvaru | dajZnackuKonca() Alias pre dajZnačkuKonca. | 
| KreslenieTvaru | dajZnackuZaciatku() Alias pre dajZnačkuZačiatku. | 
| KreslenieTvaru | dajZnačkuKonca()Vráti implementované rozhranie kreslenia tvaru koncovej značky čiary spojnice alebo
  null, ak koncová značka nie je definovaná. | 
| KreslenieTvaru | dajZnačkuZačiatku()Vráti implementované rozhranie kreslenia tvaru začiatočnej značky čiary spojnice alebo
  null, ak začiatočná značka nie je definovaná. | 
| GRobot.Spojnica | definujZnackuKonca(KreslenieTvaru kreslenie) Alias pre definujZnačkuKonca. | 
| GRobot.Spojnica | definujZnackuKonca(KreslenieTvaru kreslenie,
                  Shape vlastnéOrezanie) Alias pre definujZnačkuKonca. | 
| GRobot.Spojnica | definujZnackuZaciatku(KreslenieTvaru kreslenie) Alias pre definujZnačkuZačiatku. | 
| GRobot.Spojnica | definujZnackuZaciatku(KreslenieTvaru kreslenie,
                     Shape vlastnéOrezanie) Alias pre definujZnačkuZačiatku. | 
| GRobot.Spojnica | definujZnačkuKonca(KreslenieTvaru kreslenie)Definuje koncovú značku čiary spojnice pomocou
 rozhrania, ktoré v programovacom rámci zároveň slúži na
 definovanie vlastného tvaru robota. | 
| GRobot.Spojnica | definujZnačkuKonca(KreslenieTvaru kreslenie,
                  Shape vlastnéOrezanie)Definuje koncovú značku čiary spojnice pomocou
 rozhrania, ktoré v programovacom rámci zároveň slúži na
 definovanie vlastného tvaru robota a s vlastným spôsobom
 orezania (ktoré sa vzťahuje aj na prípadnú začiatočnú
 značku). | 
| GRobot.Spojnica | definujZnačkuZačiatku(KreslenieTvaru kreslenie)Definuje začiatočnú značku čiary spojnice pomocou
 rozhrania, ktoré v programovacom rámci zároveň slúži na
 definovanie vlastného tvaru robota. | 
| GRobot.Spojnica | definujZnačkuZačiatku(KreslenieTvaru kreslenie,
                     Shape vlastnéOrezanie)Definuje začiatočnú značku čiary spojnice pomocou
 rozhrania, ktoré v programovacom rámci zároveň slúži na
 definovanie vlastného tvaru robota a s vlastným spôsobom
 orezania (ktoré sa vzťahuje aj na prípadnú koncovú značku). | 
| Farba | farba()Vráti aktuálnu farbu začiatku čiary spojnice alebo
 hodnotu  null, ak je farba zdedená od zdrojového
 robota. | 
| GRobot.Spojnica | farba(Color farba)Určuje novú farbu začiatku čiary spojnice. | 
| GRobot.Spojnica | farba(Farebnosť objekt)Určuje novú farbu začiatku čiary spojnice prostredníctvom
 objektu, ktorý implementuje rozhranie  Farebnosť. | 
| Farba | farbaKonca()Vráti farbu ukončenia čiary spojnice (slúžiacej na vytvorenie
 farebného prechodu) alebo hodnotu  null, ak je farba
 určená automaticky. | 
| GRobot.Spojnica | farbaKonca(Color farba)Určuje farbu ukončenia čiary spojnice. | 
| GRobot.Spojnica | farbaKonca(Farebnosť objekt)Určuje farbu ukončenia čiary spojnice prostredníctvom objektu,
 ktorý implementuje rozhranie  Farebnosť. | 
| double | hrubkaCiary() Alias pre hrúbkaČiary. | 
| GRobot.Spojnica | hrubkaCiary(double hrúbkaČiary) Alias pre hrúbkaČiary. | 
| double | hrúbkaČiary()Vráti hrúbku čiary poskytnutú aktuálnym štýlom čiary. | 
| GRobot.Spojnica | hrúbkaČiary(double hrúbkaČiary)Určí novú hrúbku čiary spojnice. | 
| Shape | orezanieKonca()Vráti tvar orezania konca spojnice alebo  null,
 ak orezanie nebolo definované. | 
| GRobot.Spojnica | orezanieKonca(Shape orezanieKonca)Definuje tvar orezania konca spojnice. | 
| Shape | orezanieZaciatku() Alias pre orezanieZačiatku. | 
| GRobot.Spojnica | orezanieZaciatku(Shape orezanieZačiatku) Alias pre orezanieZačiatku. | 
| Shape | orezanieZačiatku()Vráti tvar orezania začiatku spojnice alebo  null,
 ak orezanie nebolo definované. | 
| GRobot.Spojnica | orezanieZačiatku(Shape orezanieZačiatku)Definuje tvar orezania začiatku spojnice. | 
| Object | parameter(String index)Vráti hodnotu parametra asociovanú so zadaným indexom. | 
| void | parameter(String index,
         Object hodnota)Nastaví alebo vymaže hodnotu parametra asociovanú so
 zadaným indexom. | 
| void | skry()Skryje túto spojnicu. | 
| boolean | skryta() Alias pre skrytá. | 
| boolean | skrytá()Zistí, či je spojnica viditeľná alebo skrytá. | 
| Line2D.Double | tvar()Prepočíta a vráti aktuálny tvar úsečky tejto spojnice. | 
| void | ukaz() Alias pre ukáž. | 
| void | ukaz(boolean ukáž) Alias pre ukáž. | 
| void | ukáž()Zobrazí túto spojnicu. | 
| void | ukáž(boolean ukáž)Zobrazí alebo skryje túto spojnicu podľa hodnoty
 parametra  ukáž. | 
| GRobot.Spojnica | upravOrezanieZnackyKonca(Shape vlastnéOrezanie) Alias pre upravOrezanieZnačkyKonca. | 
| GRobot.Spojnica | upravOrezanieZnackyZaciatku(Shape vlastnéOrezanie) Alias pre upravOrezanieZnačkyZačiatku. | 
| GRobot.Spojnica | upravOrezanieZnačkyKonca(Shape vlastnéOrezanie)Umožňuje zmeniť spôsob orezania značiek pri začiatku
 spojnice. | 
| GRobot.Spojnica | upravOrezanieZnačkyZačiatku(Shape vlastnéOrezanie)Umožňuje zmeniť spôsob orezania značiek pri začiatku
 spojnice. | 
| boolean | viditelna() Alias pre viditeľná. | 
| boolean | viditeľná()Zistí, či je spojnica viditeľná alebo skrytá. | 
| GRobot.Spojnica | vysunutie(double vysunutie)Umožňuje určiť vysunutie oboch koncov spojnice od stredov
 prepájaných robotov súčasne. | 
| double | vysunutieKonca()Zistí aktuálne vysunutie konca spojnice od jej stredu. | 
| GRobot.Spojnica | vysunutieKonca(double vysunutie)Umožňuje určiť vysunutie koncového bodu spojnice od jeho
 stredu. | 
| double | vysunutieZaciatku() Alias pre vysunutieZačiatku. | 
| GRobot.Spojnica | vysunutieZaciatku(double vysunutie) Alias pre vysunutieZačiatku. | 
| double | vysunutieZačiatku()Zistí aktuálne vysunutie začiatku spojnice od jej stredu. | 
| GRobot.Spojnica | vysunutieZačiatku(double vysunutie)Umožňuje určiť vysunutie začiatočného bodu spojnice od jeho
 stredu. | 
| GRobot | zdroj()Vráti inštanciu zdrojového robota, čiže toho, od ktorého
 smeruje táto spojnica. | 
| void | zobraz()Zobrazí túto spojnicu. | 
| void | zobraz(boolean zobraz)Zobrazí alebo skryje túto spojnicu podľa hodnoty
 parametra  zobraz. | 
| boolean | zobrazena() Alias pre zobrazená. | 
| boolean | zobrazená()Zistí, či je spojnica viditeľná alebo skrytá. | 
public final TreeMap<String,Object> parametre
Parametre rôzneho druhu asociované s touto spojnicou.
Na mierne zjednodušenie práce s touto mapou boli
 definované dve metódy spojnice: parameter(index) a parameter(index, hodnota).
public Object parameter(String index)
Vráti hodnotu parametra asociovanú so zadaným indexom.
 Ak je hodnota indexu rovná null, tak metóda
 vráti null. Ak parameter nie je definovaný, tak
 metóda tiež vráti null.
Poznámka: Keďže prístup
 k mape parametrov spojnice je
 verejný, programátor môže do nej vkladať ľubovoľné hodnoty
 parametrov, vrátane prázdnych (null). Stavy,
 kedy parameter nejestvuje a kedy je jeho hodnota rovná
 null nie je možné touto metódou rozlíšiť. Na to
 treba použiť metódu parameter.containsKey(index).
index – index asociovaný s hodnotou parametranullpublic void parameter(String index, Object hodnota)
Nastaví alebo vymaže hodnotu parametra asociovanú so
 zadaným indexom. Ak je hodnota indexu rovná null,
 tak metóda nevykoná nič. Ak je hodnota parametra rovná
 null, tak ho metóda zo zoznamu parametrov
 vymaže.
Poznámka: Prístup
 k mape parametrov spojnice je
 verejný. Vďaka tomu môže do nej programátor vkladať
 ľubovoľné hodnoty parametrov, vrátane prázdnych
 (null), avšak potom sa musí riadiť pravidlami
 práce s mapou TreeMap.
index – index asociovaný s hodnotou parametrahodnota – nová hodnota parametra, ak má byť parameter
     nastavený alebo null, ak má byť parameter
     vymazanýpublic KreslenieTvaru dajZnačkuZačiatku()
Vráti implementované rozhranie kreslenia tvaru začiatočnej značky čiary spojnice alebo
 null, ak začiatočná značka nie je definovaná.
null, ak značka nemá byť kreslenápublic KreslenieTvaru dajZnackuZaciatku()
 Alias pre
 Alias pre dajZnačkuZačiatku.
public KreslenieTvaru dajZnačkuKonca()
Vráti implementované rozhranie kreslenia tvaru koncovej značky čiary spojnice alebo
 null, ak koncová značka nie je definovaná.
null, ak značka nemá byť kreslenápublic KreslenieTvaru dajZnackuKonca()
 Alias pre
 Alias pre dajZnačkuKonca.
public GRobot.Spojnica definujZnačkuZačiatku(KreslenieTvaru kreslenie)
Definuje začiatočnú značku čiary spojnice pomocou
 rozhrania, ktoré v programovacom rámci zároveň slúži na
 definovanie vlastného tvaru robota. Hodnota null
 znamená, že značka začiatku spojnice nemá byť kreslená.
Príklad:
// Vytvorenie dvoch robotov:GRobotrobotA =newGRobot();GRobotrobotB =newGRobot();// Definície tvarov (objektov kreslenia tvaru):KreslenieTvarutvarRobotov = r -> r.krúžok();KreslenieTvarutvarŠípky = r -> { r.vpravo(30); r.vpred(r.veľkosť() /2); r.domov(); r.vľavo(30); r.vpred(r.veľkosť() /2); };// Priradenie tvarov robotom:robotA.vlastnýTvar(tvarRobotov); robotB.vlastnýTvar(tvarRobotov);// Úprava veľkostí, polôh a vypnutie kreslenia tvarov robotmi:robotA.veľkosť(40); robotB.veľkosť(60); robotA.skoč(50,80); robotB.skoč(-50, -80); robotA.nekresliTvary(); robotB.nekresliTvary();// Definícia novej spojnice s tvarmi jej orezania a značkami začiatku// a konca. Metódy spojnica, definujZnačkuZačiatku a definujZnačkuKonca// sú zreťazené: Keďže návratovou hodnotou metódy spojnica je objekt// spojnice, dá sa na neho priamo nadviazať volaním metódy// definujZnačuZačiatku a keďže aj jej návratovou hodnotou je ten istý// objekt, dá sa na to opäť nadviazať volaním metódy definujZnačkuKonca.robotA.spojnica(robotB, robotA.krúžok(), robotB.krúžok()) .definujZnačkuZačiatku(tvarŠípky) .definujZnačkuKonca(tvarŠípky);// Toto zreťazenie by sme mohli rozpísať takto:// Spojnica spojnica = robotA.spojnica(robotB,// robotA.krúžok(), robotB.krúžok());// spojnica.definujZnačkuZačiatku(tvarŠípky);// spojnica.definujZnačkuKonca(tvarŠípky);
Výsledok:

 
Výsledné zobrazenie príkladu definície
 vlastných značiek spojnice.
kreslenie – inštancia implementácie vlastného tvaru,
     ktorá zabezpečí nakreslenie začiatočnej značky spojnice
     alebo null ak značka nemá byť kreslenápublic GRobot.Spojnica definujZnackuZaciatku(KreslenieTvaru kreslenie)
 Alias pre
 Alias pre definujZnačkuZačiatku.
public GRobot.Spojnica definujZnačkuKonca(KreslenieTvaru kreslenie)
Definuje koncovú značku čiary spojnice pomocou
 rozhrania, ktoré v programovacom rámci zároveň slúži na
 definovanie vlastného tvaru robota. Hodnota null
 znamená, že značka konca spojnice nemá byť kreslená.
Poznámka: Príklad použitia definície
 koncovej aj začiatočnej značky spojnice je v opise metódy
 definujZnačkuZačiatku.
kreslenie – inštancia implementácie vlastného tvaru,
     ktorá zabezpečí nakreslenie koncovej značky spojnice
     alebo null ak značka nemá byť kreslenápublic GRobot.Spojnica definujZnackuKonca(KreslenieTvaru kreslenie)
 Alias pre
 Alias pre definujZnačkuKonca.
public GRobot.Spojnica definujZnačkuZačiatku(KreslenieTvaru kreslenie, Shape vlastnéOrezanie)
Definuje začiatočnú značku čiary spojnice pomocou
 rozhrania, ktoré v programovacom rámci zároveň slúži na
 definovanie vlastného tvaru robota a s vlastným spôsobom
 orezania (ktoré sa vzťahuje aj na prípadnú koncovú značku).
 Hodnota null parametra kreslenie znamená,
 že značka začiatku spojnice nemá byť kreslená, ale v tom
 prípade stráca hodnota parametra vlastnéOrezanie
 akýkoľvek ďalší zmysel. Inak určuje parameter
 vlastnéOrezanie vlastný tvar orezania kreslenia
 oboch značiek, ktorý má byť odlišný od orezania kreslenia
 čiary samotnej spojnice. Hodnota null parametra
 vlastnéOrezanie hovorí, že pri kreslení značiek
 má byť použité rovnaké orezanie ako pri kreslení čiary
 spojnice.
Podrobnejšie informácie o značkách začiatku a konca
 spojnice sú v opise metódy
 definujZnačkuZačiatku.
Vlastné orezanie je podrobnejšie vysvetlené v opise
 metódy upravOrezanieZnačkyZačiatku
 (resp. upravOrezanieZnačkyKonca).
Poznámka: Príklad použitia
 definície začiatočnej a koncovej značky spojnice je v opise
 metódy definujZnačkuZačiatku a príklad použitia vlastného
 orezania začiatočnej a koncovej značky je v opise metódy
 upravOrezanieZnačkyZačiatku.
Tip: ak chcete druhý parameter využiť na orezanie kreslenia koncovej značky, ale nekresliť žiadnu začiatočnú značku, tak implementujte a použite prázdne rozhranie kreslenia tvaru – to jest také, ktoré jestvuje, ale nič nekreslí.
kreslenie – inštancia implementácie vlastného tvaru,
     ktorá zabezpečí nakreslenie začiatočnej značky spojnice
     alebo null ak značka nemá byť kreslená –
     v takom prípade stráca hodnota ďalšieho parametra významvlastnéOrezanie – dovoľuje definovať vlastné orezanie
     kreslenia značiek; ak je null, tak je použité
     orezanie, ktoré bolo definované na kreslenie samotnej
     čiary spojnicepublic GRobot.Spojnica definujZnackuZaciatku(KreslenieTvaru kreslenie, Shape vlastnéOrezanie)
 Alias pre
 Alias pre definujZnačkuZačiatku.
public GRobot.Spojnica definujZnačkuKonca(KreslenieTvaru kreslenie, Shape vlastnéOrezanie)
Definuje koncovú značku čiary spojnice pomocou
 rozhrania, ktoré v programovacom rámci zároveň slúži na
 definovanie vlastného tvaru robota a s vlastným spôsobom
 orezania (ktoré sa vzťahuje aj na prípadnú začiatočnú
 značku). Hodnota null znamená, že značka konca
 spojnice nemá byť kreslená, ale v tom prípade stráca hodnota
 parametra vlastnéOrezanie akýkoľvek ďalší zmysel.
 Inak určuje parameter vlastnéOrezanie vlastný tvar
 orezania kreslenia oboch značiek, ktorý má byť odlišný od
 orezania kreslenia čiary samotnej spojnice. Hodnota
 null parametra vlastnéOrezanie hovorí,
 že pri kreslení značiek má byť použité rovnaké orezanie ako
 pri kreslení čiary spojnice.
Podrobnejšie informácie o značkách konca aj začiatku
 spojnice sú v opise metódy
 definujZnačkuZačiatku.
Vlastné orezanie je podrobnejšie vysvetlené v opise
 metódy upravOrezanieZnačkyKonca
 (resp. upravOrezanieZnačkyZačiatku).
Poznámka: Príklad použitia
 definície koncovej aj začiatočnej značky spojnice je v opise
 metódy definujZnačkuZačiatku a príklad použitia vlastného
 orezania koncovej aj začiatočnej značky je v opise metódy
 upravOrezanieZnačkyZačiatku.
Tip: ak chcete druhý parameter využiť na orezanie kreslenia začiatočnej značky, ale nekresliť žiadnu koncovú značku, tak implementujte a použite prázdne rozhranie kreslenia tvaru – to jest také, ktoré jestvuje, ale nič nekreslí.
kreslenie – inštancia implementácie vlastného tvaru,
     ktorá zabezpečí nakreslenie koncovej značky spojnice
     alebo null ak značka nemá byť kreslená –
     v takom prípade stráca hodnota ďalšieho parametra významvlastnéOrezanie – dovoľuje definovať vlastné orezanie
     kreslenia značiek; ak je null, tak je použité
     orezanie, ktoré bolo definované na kreslenie samotnej
     čiary spojnicepublic GRobot.Spojnica definujZnackuKonca(KreslenieTvaru kreslenie, Shape vlastnéOrezanie)
 Alias pre
 Alias pre definujZnačkuKonca.
public Shape dajOrezanieZnačkyZačiatku()
Vráti inštanciu tvaru vlastného orezania
 značiek pri začiatku čiary spojnice alebo null,
 ak je použité rovnaké orezanie ako pri kreslení samotnej
 spojnice.
null, ak má byť
     použité rovnaké orezanie ako pri kreslení samotnej
     spojnicepublic Shape dajOrezanieZnackyZaciatku()
 Alias pre
 Alias pre dajOrezanieZnačkyZačiatku.
public Shape dajOrezanieZnačkyKonca()
Vráti inštanciu tvaru vlastného orezania
 značiek pri konci čiary spojnice alebo null,
 ak je použité rovnaké orezanie ako pri kreslení samotnej
 spojnice.
null, ak má byť
     použité rovnaké orezanie ako pri kreslení samotnej
     spojnicepublic Shape dajOrezanieZnackyKonca()
 Alias pre
 Alias pre dajOrezanieZnačkyKonca.
public GRobot.Spojnica upravOrezanieZnačkyZačiatku(Shape vlastnéOrezanie)
Umožňuje zmeniť spôsob orezania značiek pri začiatku spojnice.
Pozor! Volanie tejto metódy nemá
 význam ak nie je definované kreslenie značky
 začiatku! Hodnota null znamená, že má byť
 použité rovnaké orezanie ako pri kreslení samotnej čiary
 spojnice.
Tip: Ak chcete použiť vlastné orezanie kreslenia značiek pri začiatku spojnice, a pritom nekresliť žiadnu začiatočnú značku, tak implementujte a použite prázdne rozhranie kreslenia tvaru – to jest také, ktoré jestvuje, ale nič nekreslí.

 
Ukážka využitia vlastného
 orezania
(podrobnejšie vysvetlenie je
 nižšie).
Obrázok vyššie ukazuje dve situácie používajúce vlastné orezanie značiek začiatku a konca. Obrázok poskytuje pohľad na detail časti scény, ktorej úplná zmenšená verzia je vložená do rámčeka v pravej hornej časti obrázka. Obrázok je výsledkom riešenia zadania, ktoré určovalo, že elipsa A má mať značku spojnice (v tvare krúžka) kreslenú z vonkajšej strany a elipsa B naopak z vnútornej strany svojho tvaru.
Elipsa A musí mať nastavené väčšie rozmery orezania než
 sú jej vlastné rozmery, aby bola čiara spojnice kreslená
 ďalej od okraja elipsy. Rozmer orezania spojnice pri tejto
 elipse naznačuje oranžová čiara nakreslená v detailnom
 pohľade. Ak by nejestvovala možnosť nastavenia vlastného
 orezania značky, tak by značku nebolo vidno, lebo všetko za
 hranicou oranžovej čiary by bolo orezané (vrátane značky).
 Značka musí mať nastavené vlastné orezanie totožné
 s rozmermi elipsy (prípadne prázdne orezanie –
 prázdnu oblasť orezania, avšak pozor, to neznamená
 hodnotu null; hodnota null by opäť
 znamenala orezanie totožné s hlavným orezaním, čiže na
 úrovni oranžovej čiary; prázdnu oblasť vytvoríte
 napríklad príkazom new Oblasť() alebo spustením
 metódy vymaž pre jestvujúcu
 oblasť).
Elipsa B musí mať nastavené rovnaké rozmery orezania
 ako sú jej vlastné rozmery, aby sa čiara spojnice končila
 presne na jej hraniciach. Ak by nejestvovala možnosť
 nastavenia vlastného orezania značky, tak by značku takmer
 nebolo vidno, lebo by bola z väčšej časti „ponorená“
 vo vnútri oblasti, ktorá je orezaná. Aby bola celá značka
 viditeľná, musí mať nastavené menšie rozmery orezania,
 napríklad také, ktoré sú na obrázku naznačené žltou
 čiarou (prípadne sa dá použiť prázdna oblasť
 orezania tak ako pri elipse A, pričom to opäť
 neznamená vloženie hodnoty null namiesto
 oblasti vlastného orezania, ale jestvujúcej oblasti
 bez geometrie).
Príklad:
Nasledujúci úryvok kódu ukazuje jednoduchý spôsob riešenia rovnakej úlohy akú znázorňuje obrázok a opisuje text vyššie (tesne nad týmto príkladom).
// Definovanie konštánt – veľkosť robotov, veľkosti značiek a pomer// medzi šírkou a výškou elipsy, ktorá bude tvarom robotov:finaldoubleveľkosťRobota =50.0;finaldoubleveľkosťZnačky =12.5;finaldoublepomer =2.5;
// Definícia tvaru robotov:KreslenieTvarutvar = r -> { r.elipsa(pomer); r.text(r.meno()); };// Definícia tvaru značiek:KreslenieTvaruznačka = r -> { r.zdvihniPero(); r.vzad(veľkosťZnačky); r.kružnica(veľkosťZnačky); };
// Definícia prvého robota (A):GRobotA =newGRobot() {{meno("A");veľkosť(veľkosťRobota);vlastnýTvar(tvar);nekresliTvary();skoč(-180,150); }};// Definícia druhého robota (B):GRobotB =newGRobot() {{meno("B");veľkosť(veľkosťRobota);vlastnýTvar(tvar);nekresliTvary();skoč(180, -150); }};
// Definícia spojnice so začiatkom v robote (elipse) A a koncom// v robote (elipse) B:A.spojnica(B,// Orezanie začiatku spojnice – elipsa, ktorá je väčšia oproti// kreslenému tvaru:A.elipsa(pomer * A.veľkosť() + veľkosťZnačky *2.0, A.veľkosť() + veľkosťZnačky *2.0),// Orezanie konca spojnice – elipsa, ktorá je totožná s kresleným// tvarom:B.elipsa(pomer))// Definícia značky na začiatku spojnice s vlastným tvarom// orezania (elipsou totožnou s kresleným tvarom):.definujZnačkuZačiatku(značka, A.elipsa(pomer))// Definícia značky na konci spojnice s vlastným tvarom// orezania (elipsou menšou oproti kreslenému tvaru):.definujZnačkuKonca(značka, B.elipsa(pomer * B.veľkosť() - veľkosťZnačky *2.0, B.veľkosť() - veľkosťZnačky *2.0));
vlastnéOrezanie – vlastné orezanie kreslenia značiek
     pri začiatku spojnice alebo null, ak má
     byť použité rovnaké orezanie, aké je definované pre
     kreslenie samotnej čiary spojnicepublic GRobot.Spojnica upravOrezanieZnackyZaciatku(Shape vlastnéOrezanie)
 Alias pre
 Alias pre upravOrezanieZnačkyZačiatku.
public GRobot.Spojnica upravOrezanieZnačkyKonca(Shape vlastnéOrezanie)
Umožňuje zmeniť spôsob orezania značiek pri začiatku spojnice.
Pozor! Volanie tejto metódy nemá
 význam ak nie je definované kreslenie značky
 konca! Hodnota null znamená, že má byť použité
 rovnaké orezanie ako pri kreslení samotnej čiary spojnice.
Tip: Ak chcete použiť vlastné orezanie kreslenia značiek pri konci spojnice, a pritom nekresliť žiadnu koncovú značku, tak implementujte a použite prázdne rozhranie kreslenia tvaru – to jest také, ktoré jestvuje, ale nič nekreslí.

 
Ukážka využitia vlastného
 orezania
(podrobnejšie vysvetlenie je
 v opise metódy upravOrezanieZnačkyZačiatku pod identickým
 obrázkom.).
Obrázok vyššie ukazuje dve situácie používajúce vlastné
 orezanie značiek začiatku a konca. Obrázok poskytuje pohľad
 na detail časti scény, ktorej úplná zmenšená verzia je
 vložená do rámčeka v pravej hornej časti obrázka. Obrázok
 je výsledkom riešenia zadania, ktoré určovalo, že elipsa
 A má mať značku spojnice (v tvare krúžka) kreslenú
 z vonkajšej strany a elipsa B naopak z vnútornej strany
 svojho tvaru. Podrobnejšie vysvetlenie je v opise metódy
 upravOrezanieZnačkyZačiatku (pod identickým
 obrázkom).
Poznámka: Príklad použitia vlastného
 orezania koncovej aj začiatočnej značky je v opise metódy
 upravOrezanieZnačkyZačiatku.
vlastnéOrezanie – vlastné orezanie kreslenia značiek
     pri konci spojnice alebo null, ak má byť
     použité rovnaké orezanie, aké je definované pre
     kreslenie samotnej čiary spojnicepublic GRobot.Spojnica upravOrezanieZnackyKonca(Shape vlastnéOrezanie)
 Alias pre
 Alias pre upravOrezanieZnačkyKonca.
public Line2D.Double tvar()
Prepočíta a vráti aktuálny tvar úsečky tejto spojnice. Metóda je použiteľná napríklad pri exporte spojníc do formátu SVG.
public GRobot zdroj()
Vráti inštanciu zdrojového robota, čiže toho, od ktorého smeruje táto spojnica.
public GRobot cieľ()
Vráti inštanciu cieľového robota, čiže toho, ku ktorému smeruje táto spojnica.
public Stroke čiara()
Vráti objekt typu (implementáciu rozhrania) Stroke určujúcu viaceré vlastnosti čiary. Je vysoká
 pravdepodobnosť, že vrátená implementácia je typu
 BasicStroke, ktorá umožňuje zistiť
 hrúbku čiary,
 štýl ukončenia
 čiary, štýl
 spojov lomených čiar,
 pole hodnôt
 určujúcich čiarkovanú čiaru a podobne.
Stroke
     určujúca viaceré vlastnosti čiaryčiara(Stroke), 
hrúbkaČiary(), 
hrúbkaČiary(double)public GRobot.Spojnica čiara(Stroke čiara)
Umožňuje určiť nový štýl čiary prostredníctvom
 implementácie rozhrania Stroke. Základnou
 implementáciou je trieda BasicStroke,
 ktorá umožňuje definovať značné množstvo vlastností čiary.
 (Najzložitejší konštruktor uvedenej triedy prijíma
 hrúbku čiary, štýl ukončenia čiary, štýl
 spojov lomených čiar, limit dĺžky špičiek ostrých hrán,
 pole hodnôt určujúcich čiarkovanú čiaru a fázu čiarkovanej
 čiary.)
čiara – štýl čiary určenej implementáciou rozhrania
     Stroke, napríklad BasicStrokečiara(), 
hrúbkaČiary(), 
hrúbkaČiary(double)public GRobot.Spojnica ciara(Stroke čiara)
 Alias pre
 Alias pre čiara.
public double hrúbkaČiary()
Vráti hrúbku čiary poskytnutú aktuálnym štýlom čiary. Ak
 hrúbka nie je zistiteľná, tak metóda vráti hodnotu
 -1.
-1hrúbkaČiary(double), 
čiara(), 
čiara(Stroke)public double hrubkaCiary()
 Alias pre
 Alias pre hrúbkaČiary.
public GRobot.Spojnica hrúbkaČiary(double hrúbkaČiary)
Určí novú hrúbku čiary spojnice. Ak je zadaná záporná hodnota, tak spojnica počas kreslenia prevezme hrúbku (resp. aj štýl) čiary zdrojového robota spojnice.
hrúbkaČiary – nová hrúbka čiary, prípadne záporná
     hodnota, ak má byť štýl čiary zdedený od hlavného robotahrúbkaČiary(), 
čiara(), 
čiara(Stroke)public GRobot.Spojnica hrubkaCiary(double hrúbkaČiary)
 Alias pre
 Alias pre hrúbkaČiary.
public Farba farba()
Vráti aktuálnu farbu začiatku čiary spojnice alebo
 hodnotu null, ak je farba zdedená od zdrojového
 robota.
nullpublic GRobot.Spojnica farba(Color farba)
Určuje novú farbu začiatku čiary spojnice. Metóda
 prijíma aj hodnotu null. V takom prípade bude
 farba spojnice počas kreslenia prevzatá od zdrojového
 robota.
farba – nová farba začiatku spojnice alebo nullpublic GRobot.Spojnica farba(Farebnosť objekt)
Určuje novú farbu začiatku čiary spojnice prostredníctvom
 objektu, ktorý implementuje rozhranie Farebnosť.
 Metóda prijíma aj hodnotu null. V takom prípade
 bude farba spojnice počas kreslenia prevzatá od zdrojového
 robota.
objekt – objekt určujúci novú farbu začiatku spojnice
     alebo nullpublic Farba farbaKonca()
Vráti farbu ukončenia čiary spojnice (slúžiacej na vytvorenie
 farebného prechodu) alebo hodnotu null, ak je farba
 určená automaticky.
nullpublic GRobot.Spojnica farbaKonca(Color farba)
Určuje farbu ukončenia čiary spojnice. Táto farba bude v prípade
 nezhody so začiatočnou farbou použitá na vytvorenie farebného
 prechodu pri kreslení spojnice. Metóda prijíma aj hodnotu
 null. V takom prípade bude farba ukončenia
 spojnice prevzatá od cieľového robota.
farba – farba ukončenia spojnice alebo nullpublic GRobot.Spojnica farbaKonca(Farebnosť objekt)
Určuje farbu ukončenia čiary spojnice prostredníctvom objektu,
 ktorý implementuje rozhranie Farebnosť.
 Táto farba bude v prípade nezhody so začiatočnou farbou použitá
 na vytvorenie farebného prechodu pri kreslení spojnice. Metóda
 prijíma aj hodnotu null. V takom prípade bude farba
 ukončenia spojnice prevzatá od cieľového robota.
Príklad:
super(350,250);skry();// Definovanie konštánt – veľkosť robotov, veľkosti značiek a pomer// medzi šírkou a výškou elipsy, ktorá bude tvarom robotov:finaldoubleveľkosťRobota =25.0;finaldoubleveľkosťZnačky =6.0;finaldoublepomer =2.5;
// Definícia tvaru robotov:KreslenieTvarutvar = r -> { r.elipsa(pomer); r.text(r.meno()); };// Definícia prvého robota:GRobotštart =newGRobot() {{meno("Štart");veľkosť(veľkosťRobota);vlastnýTvar(tvar);nekresliTvary();farba(modrá);hrúbkaČiary(3);písmo("Arial",28);skoč(-90,75); }};// Definícia druhého robota:GRobotkoniec =newGRobot() {{meno("Koniec");veľkosť(veľkosťRobota);vlastnýTvar(tvar);nekresliTvary();farba(purpurová);hrúbkaČiary(3);písmo("Arial",28);skoč(90, -75); }};
// Definícia spojnice:Spojnicaspojnica = štart.spojnica(koniec,// Orezanie spojnice:štart.elipsa(pomer), koniec.elipsa(pomer)// Zrušenie predvolených farieb, aby sa// zhodovali s farbami prepájaných robotov:).farba((Farba)null).farbaKonca((Farba)null);
// Počiatočné čakanie tri sekundy:Svet.čakaj(3.0);// Zmena farieb a orientácie prvého robota:štart.farba(zelená);Svet.čakaj(1.5); štart.cieľováFarba(žltá);Svet.čakaj(1.5); štart.vpravo(30);Svet.čakaj(1.5);// Zmena farieb a orientácie druhého robota:koniec.farba(červená);Svet.čakaj(1.5); koniec.cieľováFarba(oranžová);Svet.čakaj(1.5); koniec.vľavo(30);Svet.čakaj(1.5);// Nastavenie vlastných farieb spojnice:spojnica.farba(svetlomodrá.bledšia()).farbaKonca(tyrkysová);
Výsledok:
|  |  |  | 
|  |  |  | 
|  |  | 
Jednotlivé fázy vykonania programu – zmeny farebnosti v scéne so spojnicou postupujú od úplne automatického určenia farebnosti oboch koncov spojnice, cez farebné prispôsobenie robotov až po individuálne zafarbenie koncov samotnej spojnice.
objekt – objekt určujúci farbu ukončenia spojnice alebo
     nullpublic Shape orezanieZačiatku()
Vráti tvar orezania začiatku spojnice alebo null,
 ak orezanie nebolo definované. Orezanie začiatku (i konca)
 čiary spojnice má význam vo viacerých prípadoch –
 podrobnosti sú v opise metódy orezanieZačiatku(orezanieZačiatku).
nullpublic Shape orezanieZaciatku()
 Alias pre
 Alias pre orezanieZačiatku.
public Shape orezanieKonca()
Vráti tvar orezania konca spojnice alebo null,
 ak orezanie nebolo definované. Orezanie konca (i začiatku)
 čiary spojnice má význam vo viacerých prípadoch –
 podrobnosti sú v opise metódy orezanieKonca(orezanieKonca.
nullpublic GRobot.Spojnica orezanieZačiatku(Shape orezanieZačiatku)
Definuje tvar orezania začiatku spojnice. Ak je zadaná
 hodnota null, tak bude orezanie zrušené.
 Orezanie začiatku (i konca) čiary spojnice má význam vo
 viacerých prípadoch. Napríklad, ak chceme kresliť
 priehľadný tvar robota a zároveň chceme, aby sa čiara
 spojnice začínala na jeho hraniciach alebo potrebujeme
 kresliť
 značku začiatku čiary spojnice presne na hraniciach
 tvaru robota. Tvar orezania by sme v týchto prípadoch
 volili tak, aby vymedzoval hranice objektu, ktorý robot
 reprezentuje svojím tvarom.
Pri definovaní orezania je dôležité vedieť niekoľko informácií, aby nevznikali chybné orezania alebo chybné umiestňovanie značiek spojníc. V tomto odseku sú vysvetľované príčiny a technické detaily (ak ich nepotrebujete alebo nechcete vedieť, môžete tento odsek preskočiť) a v nasledujúcich odsekoch sú opísané dôsledky a vyslovené odporúčania. Orezanie sa deje pomocou tvarov Javy, ktoré sa skladajú z menších častí (čiara, krivka, posunutie…) a sú za normálnych okolností „nepohyblivé.“ Na to, aby bolo orezanie použiteľné, je nevyhnutné tvary „rozhýbať.“ To sa deje pomocou geometrických transformácií. Každý tvar orezania je pri použití transformovaný podľa aktuálneho smeru a polohy robota umiestneného na prislúchajúcom zakončení spojnice. Do tohto procesu vstupuje ešte jeden fakt. Každý tvar vygenerovaný robotom je ešte pri jeho generovaní umiestnený a pootočený podľa aktuálnej polohy a smeru robota, ktorý ho vygeneroval. Preto, aby orezanie mohlo správne fungovať, musí byť každý tvar pri definovaní nového alebo aktualizovaní jestvujúceho orezania spojnice transformovaný do neutrálnej polohy a smeru. Objekt tvaru neobsahuje informáciu o tom, ktorý robot ho vygeneroval, ani o tom, akú polohu a orientáciu vtedy ten robot mal. Preto sú tvary transformované podľa toho robota, ktorý prislúcha súvisiacemu zakončeniu spojnice – začiatočné orezanie podľa začiatočného robota spojnice a koncové podľa koncového. Orezania by tiež mali pokrývať celú plochu tvaru robotov, inak sa môžu pri výslednom zobrazení spojnice kresliť nežiadúce úseky spojnice a tiež môže nastať chybné umiestnenie značiek spojnice. (Podrobnosti sú nižšie.)
Na základe informácií z predchádzajúceho odseku je
 dôležité, aby tvar orezania začiatku spojnice bol
 vygenerovaný začiatočným robotom (to jest robotom, z ktorého
 spojnica vychádza) a tvar orezania konca koncovým robotom
 (to jest tým, v ktorom spojnica končí). Na nasledujúcich
 dvoch animovaných obrázkoch je znázornená spojnica, ktorá
 nie je orezaná (vľavo) a spojnica, ktorá bola správne
 orezaná (vpravo) – tvar orezania začiatku (A) bol
 vygenerovaný začiatočným robotom ("A") a tvar
 orezania konca (B) bol vygenerovaný koncovým (cieľovým)
 robotom ("B").
|  |  | 
| Spojnica bez orezania. | Správne orezaná spojnica. | 
Nasledujúce dva animované obrázky ukazujú dve rôzne situácie nesprávneho orezania.
Na obrázku vľavo sú použité tri rozmery orezania, ktoré nie je zhodné s tvarom robota (neprekrýva sa s ním). V prvých dvoch prípadoch nezasahuje orezanie stred tvaru prislúchajúceho robota, čo je príčinou toho, že sa v určitých fázach animácie spojnica rozdelí na dve časti a to zároveň spôsobuje chybné zobrazenie značky spojnice (šípky). Orezanie je totiž zároveň používané pri zisťovaní umiestnenia krajných značiek spojnice. Používa sa pri tom operácia prieniku tvaru orezania s čiarou spojnice. Ak je prienik zložitý, tak nemôže byť správne určené umiestnenie značky spojnice.
Na obrázku vpravo bol na definovanie začiatočného orezania použitý koncový robot a naopak. Tvar orezania je za normálnych okolností neviditeľný. Aby bolo jasné, čo sa deje, sú tvary orezania na tomto obrázku zobrazené tenkými elipsami. Orezanie spojnice je správne v jednom jedinom okamihu animácie a to presne v tom, v ktorom bolo definované. Ak sa jeden z robotov pohne, orezanie prestane správne fungovať.
|  |  | 
| Nesprávne orezaná spojnica | Nesprávne orezaná spojnica | 
Príklad:
Tento príklad ukazuje spôsob definovania dvoch robotov
 v tvare hviezdy prepojených správne orezanou spojnicou,
 ktorej jeden koniec má definovanú značku v tvare šípky.
 Oba roboty je možné presúvať a otáčať pomocou myši.
 Na otáčanie robota je potrebné držať stlačený kláves
 Shift.
// Konštanta veľkostí robotov:finaldoubleveľkosťRobota =66.0;
// Kreslenie tvaru šípky, ktorá bude tvoriť značku spojnice:finalKreslenieTvarušípka = r -> { r.vpravo(20); r.vpred(12);Polohap = r.poloha(); r.zdvihniPero(); r.vzad(12); r.vľavo(40); r.položPero(); r.vpred(12); r.choďNa(p); };// Definícia tvaru robotov:finalKreslenieTvarutvar = r -> { r.hviezda(); r.text(r.meno()); };
// Definícia robota s menom αlpha:finalGRobotα =newGRobot(); α.meno("αlpha"); α.hrúbkaČiary(1.5); α.veľkosť(veľkosťRobota); α.vlastnýTvar(tvar); α.nekresliTvary(); α.zdvihniPero();// Definícia robota s menom βeta:finalGRobotβ =newGRobot(); β.meno("βeta"); β.hrúbkaČiary(1.5); β.veľkosť(veľkosťRobota); β.vlastnýTvar(tvar); β.nekresliTvary(); β.zdvihniPero();// Nastavenie počiatočných polôh robotov:α.skoč(110, -55); β.skoč(-110,55);
// Definícia spojnice a jej orezania:Spojnicaspojnica = α.spojnica(β); spojnica.orezanieZačiatku(α.hviezda()); spojnica.orezanieKonca(β.hviezda());
// Nastavenie kreslenia značky začiatku:spojnica.definujZnačkuZačiatku(šípka);
// Definícia takej obsluhy udalostí, ktorá umožnení presúvanie robotov:newObsluhaUdalostí() {// Inštancia robota, na ktorú bolo kliknuté:GRobotr =null;@Overridepublicvoidklik() {// Klik urobí to isté ako ťahanie myšou:ťahanieMyšou(); }@OverridepublicvoidstlačenieTlačidlaMyši() {// Zistenie, na ktorý robot bolo kliknuté a jeho aktivácia:r =null;if(α.myšVHviezde()) r = α;elseif(β.myšVHviezde()) r = β; }@OverridepublicvoidťahanieMyšou() {if(null!= r &&ÚdajeUdalostí.tlačidloMyši(ĽAVÉ)) {// Ak je aktívny jeden z robotov, tak ťahanie ľavého// tlačidla myši so súčasným držaním klávesu Shift ho// otočí na súradnice myši, v opačnom prípade je robot// na súradnice myši presunutý:if(ÚdajeUdalostí.myš().isShiftDown()) r.otočNaMyš();elser.skočNaMyš(); } } };
Výsledok:

 
Jednoduché
 presunutie jedného a potom druhého robota
(plátno je orezané a automatický návrat do
 východiskovej polohy bol doprogramovaný,
aby
 animácia plynule nadväzovala pri jej opakovaní).
orezanieZačiatku – nový tvar orezania začiatku
     spojnice alebo nullpublic GRobot.Spojnica orezanieZaciatku(Shape orezanieZačiatku)
 Alias pre
 Alias pre orezanieZačiatku.
public GRobot.Spojnica orezanieKonca(Shape orezanieKonca)
Definuje tvar orezania konca spojnice. Ak je zadaná
 hodnota null, tak bude orezanie zrušené.
 Orezanie konca (i začiatku) čiary spojnice má význam vo
 viacerých prípadoch. Napríklad, ak chceme kresliť
 priehľadný tvar cieľového robota a zároveň chceme, aby sa
 čiara spojnice končila na jeho hraniciach alebo potrebujeme
 kresliť
 značku konca čiary spojnice presne na hraniciach tvaru
 cieľového robota. Tvar orezania by sme v týchto prípadoch
 volili tak, aby vymedzoval hranice objektu, ktorý svojím
 tvarom reprezentuje cieľový robot.
Podrobnejšie informácie o orezaní konca aj začiatku
 spojnice a príklad ich použitia sú v opise metódy
 orezanieZačiatku.
orezanieKonca – nový tvar orezania konca
     spojnice alebo nullpublic double vysunutieZačiatku()
Zistí aktuálne vysunutie začiatku spojnice od jej stredu.
 Hodnota 0 znamená, že spojnica smeruje zo stredu
 zdrojového robota (to jest zo súradníc jeho aktuálnej
 polohy). Iná hodnota znamená vysunutie začiatku spojnice
 v kladnom alebo zápornom smere, ktorý je súhlasný s kladným
 alebo záporným smerom osi x, ak os y smeruje do koncového
 bodu spojnice. Napríklad hodnota 10 znamená, že
 začiatok spojnice je vysunutý od aktuálnych súradníc
 zdroja o desať bodov smerom „doprava“ (ak považujeme smer
 „dopredu“ za súhlasný so smerom do cieľa).

 
Znázornenie
 kladného vysunutia začiatku spojnice – zelená čiara je
 spojnica,
ktorá nie je vysunutá a červená znázorňuje
 vysunutú spojnicu.
public double vysunutieZaciatku()
 Alias pre
 Alias pre vysunutieZačiatku.
public double vysunutieKonca()
Zistí aktuálne vysunutie konca spojnice od jej stredu.
 Hodnota 0 znamená, že spojnica smeruje do stredu
 cieľového robota (to jesto na súradnice jeho aktuálnej
 polohy). Iná hodnota znamená vysunutie konca spojnice
 v kladnom alebo zápornom smere, ktorý je súhlasný s kladným
 alebo záporným smerom začiatočného vysunutia spojnice.
 Napríklad hodnota 10 znamená, že koniec spojnice
 je vysunutý o desať bodov smerom „doprava,“ ak považujeme
 smer „dopredu“ za súhlasný so smerom od zdroja do cieľa.

 
Znázornenie
 kladného vysunutia konca spojnice – zelená čiara je
 spojnica,
ktorá nie je vysunutá a červená znázorňuje
 vysunutú spojnicu.
public GRobot.Spojnica vysunutieZačiatku(double vysunutie)
Umožňuje určiť vysunutie začiatočného bodu spojnice od jeho
 stredu. Hodnota 0 znamená, že spojnica smeruje
 presne zo stredu zdrojového robota (to jest zo súradníc
 jeho aktuálnej polohy). Iná hodnota vysunie začiatok
 spojnice v kladnom alebo zápornom smere, ktorý je súhlasný
 s kladným alebo záporným smerom osi x, ak os y smeruje do
 koncového bodu spojnice. Napríklad hodnota 10
 znamená, že začiatok spojnice bude vysunutý od aktuálnych
 súradníc zdroja o desať bodov smerom „doprava“ (ak
 považujeme smer „dopredu“ za súhlasný so smerom od zdroja
 do cieľa).

 
Znázornenie
 kladného vysunutia začiatku spojnice – zelená čiara je
 spojnica,
ktorá nie je vysunutá a červená znázorňuje
 vysunutú spojnicu.
vysunutie – nové vysunutie začiatku spojnice od
     aktuálnej polohy začiatkočného robota; (kladné hodnoty
     znamenajú vysunutie smerom „doprava“ vzhľadom na
     orientáciu od zdroja do cieľa, záporné zase „doľava“)public GRobot.Spojnica vysunutieZaciatku(double vysunutie)
 Alias pre
 Alias pre vysunutieZačiatku.
public GRobot.Spojnica vysunutieKonca(double vysunutie)
Umožňuje určiť vysunutie koncového bodu spojnice od jeho
 stredu. Hodnota 0 znamená, že spojnica smeruje
 presne do stredu cieľového robota (to jest na súradnice
 jeho aktuálnej polohy). Iná hodnota vysunie koniec spojnice
 v kladnom alebo zápornom smere, ktorý je súhlasný s kladným
 alebo záporným smerom začiatočného vysunutia spojnice.
 Napríklad hodnota 10 znamená, že koniec spojnice
 bude vysunutý od aktuálnych súradníc cieľa o desať bodov
 smerom „doprava,“ ak považujeme smer „dopredu“ za súhlasný
 so smerom od zdroja do cieľa.

 
Znázornenie
 kladného vysunutia konca spojnice – zelená čiara je
 spojnica,
ktorá nie je vysunutá a červená znázorňuje
 vysunutú spojnicu.
vysunutie – nové vysunutie konca spojnice od
     aktuálnej polohy koncového robota; kladné hodnoty
     znamenajú vysunutie smerom „doprava“ vzhľadom na
     orientáciu od zdroja do cieľa, záporné zase „doľava“public GRobot.Spojnica vysunutie(double vysunutie)
Umožňuje určiť vysunutie oboch koncov spojnice od stredov
 prepájaných robotov súčasne. Hodnota 0 znamená,
 že spojnica smeruje presne zo „stredu“ (z aktuálnej polohy)
 zdrojového robota presne do „stredu“ (na súradnice
 aktuálnej polohy) cieľového robota. Iná hodnota vysunie
 začiatok spojnice v kladnom alebo zápornom smere, napríklad
 hodnota 10 znamená, že spojnica bude vysunutá od
 aktuálnych súradníc zdroja a cieľa o desať bodov smerom
 „doprava,“ ak považujeme smer „dopredu“ za súhlasný so
 smerom od zdroja do cieľa.
|  |  | 
| Znázornenie kladného
 vysunutia začiatku (vľavo) a konca (vpravo) spojnice – zelená
 čiara je spojnica, | |
vysunutie – nové vysunutie spojnice od aktuálnych polôh
     prepájaných robotov; kladné hodnoty znamenajú vysunutie
     smerom „doprava“ vzhľadom na orientáciu od zdroja do
     cieľa, záporné zase „doľava“public boolean viditeľná()
Zistí, či je spojnica viditeľná alebo skrytá.
Poznámka: Táto metóda nezistí, či
 je spojnica reálne vidno na plátne, iba vráti stav zobrazenia
 určený metódami zobraz a/alebo
 skry.
 
(Tým chce byť vysvetlené,
 že ak je napríklad spojnica skrytá za nejakým objektom, tak
 táto metóda to nezistí.)
true ak je spojnica zobrazená, false v opačnom prípadezobrazená(), 
skrytá(), 
ukáž(), 
zobraz(), 
skry(), 
ukáž(boolean), 
zobraz(boolean)public boolean viditelna()
 Alias pre
 Alias pre viditeľná.
public boolean zobrazená()
Zistí, či je spojnica viditeľná alebo skrytá.
Poznámka: Táto metóda nezistí, či
 je spojnica reálne vidno na plátne, iba vráti stav zobrazenia
 určený metódami zobraz a/alebo
 skry.
 
(Tým chce byť vysvetlené,
 že ak je napríklad spojnica skrytá za nejakým objektom, tak
 táto metóda to nezistí.)
true ak je spojnica zobrazená, false v opačnom prípadeviditeľná(), 
skrytá(), 
ukáž(), 
zobraz(), 
skry(), 
ukáž(boolean), 
zobraz(boolean)public boolean zobrazena()
 Alias pre
 Alias pre zobrazená.
public boolean skrytá()
Zistí, či je spojnica viditeľná alebo skrytá.
Poznámka: Táto metóda nezistí, či
 je spojnica reálne vidno na plátne, iba vráti stav zobrazenia
 určený metódami zobraz a/alebo
 skry.
 
(Tým chce byť vysvetlené,
 že ak je napríklad spojnica skrytá za nejakým objektom, tak
 táto metóda to nezistí.)
true ak je spojnica skrytá, false v opačnom prípadeviditeľná(), 
zobrazená(), 
ukáž(), 
zobraz(), 
skry(), 
ukáž(boolean), 
zobraz(boolean)public boolean skryta()
 Alias pre
 Alias pre skrytá.
public void ukáž()
Zobrazí túto spojnicu. Alternatívou tejto metódy je
 metóda zobraz. Opačný efekt má metóda
 skry.
Poznámka: Táto metóda spúšťa automatické prekreslenie sveta, ale len v prípade, že sa stav viditeľnosti spojnice zmení.
viditeľná(), 
zobrazená(), 
skrytá(), 
zobraz(), 
skry(), 
ukáž(boolean), 
zobraz(boolean)public void ukaz()
 Alias pre
 Alias pre ukáž.
public void zobraz()
Zobrazí túto spojnicu. Alternatívou tejto metódy je
 metóda ukáž. Opačný efekt má metóda
 skry.
Poznámka: Táto metóda spúšťa automatické prekreslenie sveta, ale len v prípade, že sa stav viditeľnosti spojnice zmení.
viditeľná(), 
zobrazená(), 
skrytá(), 
ukáž(), 
skry(), 
ukáž(boolean), 
zobraz(boolean)public void skry()
Skryje túto spojnicu. Opačný efekt majú metódy
 ukáž a zobraz (ktoré
 fungujú identicky – jedna je alternatívou druhej). Uvedené
 metódy majú definované aj verzie s parametrom, ktorého
 hodnota určuje, či má byť spojnica zobrazená alebo
 skrytá.
Poznámka: Táto metóda spúšťa automatické prekreslenie sveta, ale len v prípade, že sa stav viditeľnosti spojnice zmení.
viditeľná(), 
zobrazená(), 
skrytá(), 
ukáž(), 
zobraz(), 
ukáž(boolean), 
zobraz(boolean)public void ukáž(boolean ukáž)
Zobrazí alebo skryje túto spojnicu podľa hodnoty
 parametra ukáž. Alternatívou tejto metódy je
 metóda zobraz. Okrem tejto
 dvojice metód je definovaná trojica bezparametrických
 metód: ukáž, zobraz
 a skry.
Poznámka: Táto metóda spúšťa automatické prekreslenie sveta, ale len v prípade, že sa stav viditeľnosti spojnice zmení.
zobraz – ak je hodnota tohto parametera rovná
     true a spojnica nie je viditeľná, tak bude
     zobrazená;
     ak je hodnota tohto parametera rovná false
     a spojnica je viditeľná, tak bude skrytáviditeľná(), 
zobrazená(), 
skrytá(), 
ukáž(), 
zobraz(), 
skry(), 
zobraz(boolean)public void ukaz(boolean ukáž)
 Alias pre
 Alias pre ukáž.
public void zobraz(boolean zobraz)
Zobrazí alebo skryje túto spojnicu podľa hodnoty
 parametra zobraz. Alternatívou tejto metódy je
 metóda ukáž. Okrem tejto
 dvojice metód je definovaná trojica bezparametrických
 metód: ukáž, zobraz
 a skry.
Poznámka: Táto metóda spúšťa automatické prekreslenie sveta, ale len v prípade, že sa stav viditeľnosti spojnice zmení.
zobraz – ak je hodnota tohto parametera rovná
     true a spojnica nie je viditeľná, tak bude
     zobrazená;
     ak je hodnota tohto parametera rovná false
     a spojnica je viditeľná, tak bude skrytáviditeľná(), 
zobrazená(), 
skrytá(), 
ukáž(), 
zobraz(), 
skry(), 
ukáž(boolean)