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()
![]() 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()
![]() prázdna . |
boolean |
prázdna()
Zistí, či je táto oblasť prázdna – t.j. či obopína nejakú plochu.
|
void |
prepusti()
![]() uvoľni . |
void |
prepusti(Robot zamestnanec)
![]() uvoľni . |
void |
pridaj(Shape tvar)
Pridá k oblasti zadaný tvar.
|
void |
prienik(Shape tvar)
Vytvorí prienik oblasti a zadaného tvaru.
|
void |
uvolni()
![]() uvoľni . |
void |
uvoľni()
Automaticky uvoľní robota zamestnaného
za účelom tvorby (prípadne kreslenia) tejto oblasti.
|
void |
uvolni(Robot zamestnanec)
![]() uvoľni . |
void |
uvoľni(Robot zamestnanec)
Uvoľní robota zamestnaného za
účelom tvorenia tejto oblasti.
|
void |
vymaz()
![]() vymaž . |
void |
vymaž()
Kompletne odstráni geometriu oblasti – vyprázdni oblasť.
|
void |
vypln()
![]() 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)
![]() 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)
![]() 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)
![]() 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)
![]() 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)
![]() 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()
![]() zamestnaný . |
boolean |
zamestnaný()
Overí, či je pre túto oblasť zamestnaný ľubovoľný robot.
|
boolean |
zamestnany(Robot zamestnanec)
![]() 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, transform
public 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 false
public boolean prazdna()
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()
uvoľni
.public void prepusti()
uvoľni
.public void uvoľni(Robot zamestnanec)
zamestnanec
– robot, ktorý bol zamestnaný pre túto oblasťpublic boolean zamestnaný()
true
/false
public boolean zamestnany()
zamestnaný
.public boolean zamestnaný(Robot zamestnanec)
zamestnanec
– vyšetrovaný robottrue
/false
public boolean zamestnany(Robot zamestnanec)
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()
vymaž
.public void kresli()
obkresliOblasť
.public void vyplň()
vyplňOblasť
.public void vypln()
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)
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)
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()
myšV
.