Upozornenie
Toto je pôvodné prvé vydanie dokumentácie pre verziu knižnice grafického robota 1.0 beta. V súčasnosti už nie je aktuálne.
Novšie vydanie dokumentácie pre verziu 1.50 je publikované na nasledujúcej adrese:
http://cec.truni.sk/horvath/GRobot/
public static class Robot.Oblasť extends Area
Area.
Oblasť je ľubovoľná plocha, ktorá môže byť napríklad obkreslená čiarou,
vyplnená farbou, použitá na obmedzenie kreslenia, prípadne na
ďalšie účely. Na tvorbe oblasti sa môže podieľať zvolený robot
alebo ju môžeme vytvoriť pomocou útvarov (Shape) Javy.
Každý robot je schopný produkovať útvary, ktoré môžu
byť využité na vytvorenie oblasti. Filozofia je taká, že zavoláme metódu
robota na nakreslenie útvaru alebo výpis textu (ktoré zároveň
produkujú útvary) a vyprodukovaný útvar (s jeho veľkosťou a orientáciou)
pridáme či odoberieme od tvorenej oblasti alebo vytvoríme prienik s vytváranou oblasťou. Počas procesu tvorby
oblasti by však bolo nežiaduce (prípadne nemožné[1]), aby
robot súčasne produkované útvary kreslil[2]. Preto je
dobré ho zamestnať na účely
tvorby oblasti. Zamestnaný robot nekreslí útvary ani nepíše texty do
doby, kedy je zo služby uvoľnený
(prepustený).
[1] – to sa týka útvarov vytvorených z textu
[2] – nemali by sme možnosť zabrániť nakresleniu
produkovaného útvaru – zdvihnutie pera by nepomohlo, pretože jeho poloha
nemá na kreslenie útvarov vplyv
Na tvorbu oblasti je možné použiť tieto metódy robota:
kružnica(polomer),
kruh(polomer),
elipsa(a, b),
vyplňElipsu(a, b),
obdĺžnik(a, b),
vyplňObdĺžnik(a, b),
štvorec(polomer),
vyplňŠtvorec(polomer),
cesta(),
text(text)
a text(text, spôsobKreslenia).
Každá z nich môže byť argumentom metód pridaj,
odober a prienik.
Na záver niekoľko faktov o oblastiach a o ich vnútornej stavbe.
Informácie vyplývajú aj z originálnej dokumentácie triedy Area (pozri odkaz nižšie). Oblasť tvorí vždy uzavretý útvar (obopína
vždy nejakú plochu po celom jej obvode). Aj keď bola vytvorená z tvaru,
ktorý pôvodne nebol je uzavretý (napríklad neuzavretá cesta). Ak sa pokúsime vytvoriť oblasť z útvaru, ktorý
„nemá“ (neobopína) žiadnu plochu (napríklad úsečka), získame prázdnu oblasť. Aj keď útvary, z ktorých oblasť tvoríme, sú
jednoduché, výsledná oblasť nikdy nie je v skutočnosti taká jednoduchá.
Napríklad kružnica alebo elipsa sú na pohľad jednoduché, ale z nich
vytvorená oblasť bude vždy tvorená viacerými segmentami (v tomto prípade
krivkami). Zložitosť oblasti má dopad na rýchlosť spracovania pri jej
použití v programe, najmä na detekciu kolízií.
| Konštruktor a opis | 
|---|
| Robot.Oblasť()Predvolený konštruktor. | 
| Robot.Oblasť(Robot zamestnanec)Vytvorí prázdnu oblasť so zadaným zamestnancom. | 
| Robot.Oblasť(Shape tvar)Vytvorí oblasť z určeného tvaru. | 
| Robot.Oblasť(Shape tvar,
			Robot zamestnanec)Vytvorí oblasť z určeného tvaru a so zadaným zamestnancom. | 
| Modifikátor a typ | Metóda a opis | 
|---|---|
| boolean | bodV(double súradnicaBoduX,
	double súradnicaBoduY)Zistí, či sa súradnice zadaného bodu nachádzajú v tejto oblasti. | 
| boolean | bodV(Point2D bod)Zistí, či sa súradnice zadaného bodu nachádzajú v tejto oblasti. | 
| boolean | bodV(Robot r)Zistí, či sa bod polohy robota nachádza v tejto oblasti. | 
| void | kresli()Nakreslí túto oblasť s využitím zamestnaného robota (použije jeho farbu, hrúbku pera a aktívne
plátno). | 
| void | kresli(Robot r)Nakreslí túto oblasť na aktívne plátno aktuálnou farbou a hrúbkou
pera zadaného robota. | 
| boolean | mysV() Alias pre myšV. | 
| boolean | myšV()Zistí, či sa aktuálne súradnice myši nachádzajú v tejto oblasti. | 
| void | odober(Shape tvar)Odoberie z oblasti zadaný tvar. | 
| boolean | prazdna() Alias pre prázdna. | 
| boolean | prázdna()Zistí, či je táto oblasť prázdna – t.j. či obopína nejakú plochu. | 
| void | prepusti() Alias pre uvoľni. | 
| void | prepusti(Robot zamestnanec) Alias pre uvoľni. | 
| void | pridaj(Shape tvar)Pridá k oblasti zadaný tvar. | 
| void | prienik(Shape tvar)Vytvorí prienik oblasti a zadaného tvaru. | 
| void | uvolni() Alias pre uvoľni. | 
| void | uvoľni()Automaticky uvoľní robota zamestnaného
za účelom tvorby (prípadne kreslenia) tejto oblasti. | 
| void | uvolni(Robot zamestnanec) Alias pre uvoľni. | 
| void | uvoľni(Robot zamestnanec)Uvoľní robota zamestnaného za
účelom tvorenia tejto oblasti. | 
| void | vymaz() Alias pre vymaž. | 
| void | vymaž()Kompletne odstráni geometriu oblasti – vyprázdni oblasť. | 
| void | vypln() Alias pre vyplň. | 
| void | vyplň()Vyplní plochu tejto oblasti s využitím zamestnaného robota (použije jeho farbu
a aktívne plátno). | 
| void | vypln(BufferedImage obrázok) Alias pre vyplň. | 
| void | vyplň(BufferedImage obrázok)Vyplní plochu tejto oblasti textúrou s využitím zamestnaného robota (použije jeho aktívne
plátno). | 
| void | vypln(Robot r) Alias pre vyplň. | 
| void | vyplň(Robot r)Vyplní plochu tejto oblasti na aktívne plátno aktuálnou farbou
zadaného robota. | 
| void | vypln(Robot r,
	BufferedImage obrázok) Alias pre vyplň. | 
| void | vyplň(Robot r,
	BufferedImage obrázok)Vyplní plochu tejto oblasti na aktívne plátno zadaného robota
zadanou textúrou. | 
| void | vypln(Robot r,
	String súbor) Alias pre vyplň. | 
| void | vyplň(Robot r,
	String súbor)Vyplní plochu tejto oblasti na aktívne plátno zadaného robota
zadanou textúrou. | 
| void | vypln(String súbor) Alias pre vyplň. | 
| void | vyplň(String súbor)Vyplní plochu tejto oblasti textúrou s využitím zamestnaného robota (použije jeho aktívne
plátno). | 
| void | zamestnaj(Robot zamestnanec)Zamestná zadaného robota za účelom tvorby tejto oblasti. | 
| boolean | zamestnany() Alias pre zamestnaný. | 
| boolean | zamestnaný()Overí, či je pre túto oblasť zamestnaný ľubovoľný robot. | 
| boolean | zamestnany(Robot zamestnanec) Alias pre zamestnaný. | 
| boolean | zamestnaný(Robot zamestnanec)Overí, či je pre túto oblasť zamestnaný daný robot. | 
add, clone, contains, contains, contains, contains, createTransformedArea, equals, exclusiveOr, getBounds, getBounds2D, getPathIterator, getPathIterator, intersect, intersects, intersects, isEmpty, isPolygonal, isRectangular, isSingular, reset, subtract, transformpublic Robot.Oblasť()
public Robot.Oblasť(Shape tvar)
tvar – ľubovoľný tvar Javy; ak sa chcete vyhnúť ťažkostiam
	s úpravou súradnicového priestoru, odporúčame na generovanie
	tvarov používať metódy robota (pozri úvod),
	najlepšie toho, ktorý bol na účely tvorby tejto oblasti
	zamestnanýpublic Robot.Oblasť(Robot zamestnanec)
zamestnaj.zamestnanec – robot, ktorý má byť použitý na účely tvorby
	tejto oblasti (prípadne na jej nakreslenie)RuntimeException – ak je daný robot zamestnaný pre inú oblasťpublic Robot.Oblasť(Shape tvar, Robot zamestnanec)
zamestnaj.tvar – ľubovoľný tvar Javy; ak sa chcete vyhnúť ťažkostiam
	s úpravou súradnicového priestoru, odporúčame na generovanie
	tvarov používať metódy robota (pozri úvod),
	najlepšie toho, ktorý bol na účely tvorby tejto oblasti
	zamestnanýzamestnanec – robot, ktorý má byť použitý na účely tvorby
	tejto oblasti (prípadne na jej nakreslenie)RuntimeException – ak je daný robot zamestnaný pre inú oblasťpublic boolean prázdna()
true ak je táto oblasť prázdna
	(netvorí/neobsahuje žiadny útvar); inak falsepublic boolean prazdna()
 Alias pre
 Alias pre prázdna.public void zamestnaj(Robot zamestnanec)
Robot nesmie byť zamestnaný pre inú oblasť, lebo vznikne výnimka.
Na tvorbu oblasti je možné použiť tieto metódy robota:
kružnica(polomer),
kruh(polomer),
elipsa(a, b),
vyplňElipsu(a, b),
obdĺžnik(a, b),
vyplňObdĺžnik(a, b),
štvorec(polomer),
vyplňŠtvorec(polomer),
cesta(),
text(text)
a text(text, spôsobKreslenia).
Každá z nich môže byť argumentom metód pridaj,
odober a prienik.
zamestnanec – robot, ktorý má byť použitý na účely tvorby
	tejto oblasti (prípadne na jej nakreslenie)RuntimeException – ak je robot zamestnaný pre inú oblasťpublic void uvoľni()
public void uvolni()
 Alias pre
 Alias pre uvoľni.public void prepusti()
 Alias pre
 Alias pre uvoľni.public void uvoľni(Robot zamestnanec)
zamestnanec – robot, ktorý bol zamestnaný pre túto oblasťpublic boolean zamestnaný()
true/falsepublic boolean zamestnany()
 Alias pre
 Alias pre zamestnaný.public boolean zamestnaný(Robot zamestnanec)
zamestnanec – vyšetrovaný robottrue/falsepublic boolean zamestnany(Robot zamestnanec)
 Alias pre
 Alias pre zamestnaný.public void pridaj(Shape tvar)
tvar – ľubovoľný tvar Javy; ak sa chcete vyhnúť ťažkostiam
	s úpravou súradnicového priestoru, odporúčame na generovanie
	tvarov používať metódy robota (pozri úvod),
	najlepšie toho, ktorý bol na účely tvorby tejto oblasti
	zamestnanýzamestnaj(Robot)public void odober(Shape tvar)
tvar – ľubovoľný tvar Javy; ak sa chcete vyhnúť ťažkostiam
	s úpravou súradnicového priestoru, odporúčame na generovanie
	tvarov používať metódy robota (pozri úvod),
	najlepšie toho, ktorý bol na účely tvorby tejto oblasti
	zamestnanýzamestnaj(Robot)public void prienik(Shape tvar)
tvar – ľubovoľný tvar Javy; ak sa chcete vyhnúť ťažkostiam
	s úpravou súradnicového priestoru, odporúčame na generovanie
	tvarov používať metódy robota (pozri úvod),
	najlepšie toho, ktorý bol na účely tvorby tejto oblasti
	zamestnanýzamestnaj(Robot)public void vymaž()
public void vymaz()
 Alias pre
 Alias pre vymaž.public void kresli()
obkresliOblasť.public void vyplň()
vyplňOblasť.public void vypln()
 Alias pre
 Alias pre vyplň.public void vyplň(String súbor)
vyplňOblasť. Textúra je súbor s obrázkom, ktorý bude použitý na
dlaždicové vyplnenie oblasti.súbor – názov súboru s obrázkom textúrypublic void vyplň(BufferedImage obrázok)
vyplňOblasť. Textúra je obrázok (objekt typu
BufferedImage alebo odvodený), ktorý bude
použitý na dlaždicové vyplnenie oblasti.obrázok – obrázok s textúroupublic void vypln(BufferedImage obrázok)
 Alias pre
 Alias pre vyplň.public void kresli(Robot r)
obkresliOblasť.r – robot, ktorý bude použitý na nakreslenie tejto oblasti
	(iba farba, hrúbka pera a aktívne plánto)public void vyplň(Robot r)
vyplňOblasť.r – robot, ktorý bude použitý na vyplnenie tejto oblasti (iba
	farba a aktívne plánto)public void vyplň(Robot r, String súbor)
vyplňOblasť. Textúra je súbor
s obrázkom, ktorý bude použitý na dlaždicové vyplnenie oblasti.r – robot, ktorý bude použitý na vyplnenie tejto oblasti
	(iba aktívne plánto)súbor – názov súboru s obrázkom textúrypublic void vyplň(Robot r, BufferedImage obrázok)
vyplňOblasť. Textúra je
obrázok (objekt typu BufferedImage alebo odvodený), ktorý bude použitý na dlaždicové
vyplnenie oblasti.r – robot, ktorý bude použitý na vyplnenie tejto oblasti
	(iba aktívne plánto)obrázok – obrázok s textúroupublic void vypln(Robot r, BufferedImage obrázok)
 Alias pre
 Alias pre vyplň.public boolean bodV(double súradnicaBoduX, double súradnicaBoduY)
bodVOblasti.súradnicaBoduX – x-ová súradnica bodusúradnicaBoduY – y-ová súradnica bodutrue – áno; false – niepublic boolean bodV(Point2D bod)
bodVOblasti.bod – súradnice vyšetrovaného bodutrue – áno; false – niepublic boolean bodV(Robot r)
bodVOblasti.r – robot, ktorého poloha je vyšetrovanátrue – áno; false – niepublic boolean myšV()
myšVOblasti.true – áno; false – niepublic boolean mysV()
 Alias pre
 Alias pre myšV.