public static class GRobot.Oblasť extends Area implements Poloha
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, vytvoríme
prienik alebo alternatívu 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 dotý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)
,
štvorec(polomer)
,
vyplňŠtvorec(polomer)
,
obdĺžnik(a, b)
,
vyplňObdĺžnik(a, b)
,
hviezda(polomer)
,
vyplňHviezdu(polomer)
,
cesta()
,
text(text)
a text(text, spôsobKreslenia)
.
Každá z nich môže byť argumentom metód pridaj
,
odober
, prienik
a alternatíva
.
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í.
Area
Konštruktor a opis |
---|
Oblasť()
Predvolený konštruktor.
|
Oblasť(GRobot zamestnanec)
Vytvorí prázdnu oblasť so zadaným zamestnancom.
|
Oblasť(Shape tvar)
Vytvorí oblasť z určeného tvaru.
|
Oblasť(Shape tvar,
GRobot zamestnanec)
Vytvorí oblasť z určeného tvaru a so zadaným zamestnancom.
|
Modifikátor a typ | Metóda a opis |
---|---|
void |
alternativa(Shape tvar)
Alias pre
alternatíva . |
void |
alternatíva(Shape tvar)
Vytvorí z oblasti a zadaného tvaru alternatívu – XOR (vylučujúce
alebo, buď/alebo).
|
boolean |
bodV(double súradnicaBoduX,
double súradnicaBoduY)
Zistí, či sa súradnice zadaného bodu nachádzajú v tejto oblasti.
|
boolean |
bodV(Poloha 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(GRobot 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.
|
GRobot.Bod |
poloha()
Vypočíta a vráti polohu stredu oblasti.
|
double |
polohaX()
Vypočíta a vráti x-ovú súradnicu polohy stredu oblasti.
|
double |
polohaY()
Vypočíta a vráti y-ovú súradnicu polohy stredu oblasti.
|
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(GRobot 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.
|
double |
sirka()
Alias pre
šírka . |
double |
suradnicaX()
Alias pre
súradnicaX() . |
double |
súradnicaX()
Vypočíta a vráti x-ovú súradnicu polohy stredu oblasti.
|
double |
suradnicaY()
Alias pre
súradnicaY() . |
double |
súradnicaY()
Vypočíta a vráti y-ovú súradnicu polohy stredu oblasti.
|
double |
šírka()
Vráti šírku oblasti.
|
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(GRobot zamestnanec)
Alias pre
uvoľni . |
void |
uvoľni(GRobot 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(GRobot r)
Alias pre
vyplň . |
void |
vyplň(GRobot r)
Vyplní plochu tejto oblasti na aktívne plátno aktuálnou farbou
zadaného robota.
|
void |
vypln(GRobot r,
BufferedImage obrázok)
Alias pre
vyplň . |
void |
vyplň(GRobot r,
BufferedImage obrázok)
Vyplní plochu tejto oblasti na aktívne plátno zadaného robota
zadanou textúrou.
|
void |
vypln(GRobot r,
String súbor)
Alias pre
vyplň . |
void |
vyplň(GRobot 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).
|
double |
vyska()
Alias pre
výška . |
double |
výška()
Vráti výšku oblasti.
|
void |
zamestnaj(GRobot 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(GRobot zamestnanec)
Alias pre
zamestnaný . |
boolean |
zamestnaný(GRobot zamestnanec)
Overí, či je pre túto oblasť zamestnaný určený 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 Oblasť()
public 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 Oblasť(GRobot zamestnanec)
zamestnaj
.zamestnanec
– robot, ktorý má byť použitý na účely tvorby
tejto oblasti (prípadne na jej nakreslenie)RuntimeException
– ak je stanovený robot zamestnaný pre inú
oblasťpublic Oblasť(Shape tvar, GRobot 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 stanovený 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(GRobot 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)
,
štvorec(polomer)
,
vyplňŠtvorec(polomer)
,
obdĺžnik(a, b)
,
vyplňObdĺžnik(a, b)
,
hviezda(polomer)
,
vyplňHviezdu(polomer)
,
cesta()
,
text(text)
a text(text, spôsobKreslenia)
.
Každá z nich môže byť argumentom metód pridaj
, odober
, prienik
a alternatíva
.
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()
(Poznámka: Názov uvoľni
má
v skupine tried grafického robota sedem rôznych metód:
GRobot
.
uvoľni
()
,
GRobot
.
uvoľni
(
Oblasť
)
,
Oblasť
.
uvoľni
()
,
Oblasť
.
uvoľni
(
GRobot
)
– slúžia na uvoľnenie robota zo zamestnania pre stanovenú oblasť (čo
je geometrická trieda),
Svet
.
uvoľni
()
– slúži na uvoľnenie hlavného okna sveta, t. j. umožnenie
zmeny veľkosti okna používateľovi (ide o opak metódy Svet.upevni
) a nakoniec
Svet
.
uvoľni
(
GRobot
)
,
Svet
.
uvoľni
(
Class
)
– slúžia na uvoľňovanie nepotrebných robotov z vnútorného
zoznamu robotov, čo je nevyhnutnou podmienkou ich úspešného
vymazania z pamäte.)
uvoľni(GRobot)
,
GRobot.uvoľni()
public void uvolni()
uvoľni
.public void prepusti()
uvoľni
.public void uvoľni(GRobot zamestnanec)
(Poznámka: Názov uvoľni
má
v skupine tried grafického robota sedem rôznych metód:
GRobot
.
uvoľni
()
,
GRobot
.
uvoľni
(
Oblasť
)
,
Oblasť
.
uvoľni
()
,
Oblasť
.
uvoľni
(
GRobot
)
– slúžia na uvoľnenie robota zo zamestnania pre stanovenú oblasť (čo
je geometrická trieda),
Svet
.
uvoľni
()
– slúži na uvoľnenie hlavného okna sveta, t. j. umožnenie
zmeny veľkosti okna používateľovi (ide o opak metódy Svet.upevni
) a nakoniec
Svet
.
uvoľni
(
GRobot
)
,
Svet
.
uvoľni
(
Class
)
– slúžia na uvoľňovanie nepotrebných robotov z vnútorného
zoznamu robotov, čo je nevyhnutnou podmienkou ich úspešného
vymazania z pamäte.)
zamestnanec
– robot, ktorý bol zamestnaný pre túto oblasťuvoľni()
,
GRobot.uvoľni(Oblasť)
public boolean zamestnaný()
true
/false
public boolean zamestnany()
zamestnaný
.public boolean zamestnaný(GRobot zamestnanec)
zamestnanec
– vyšetrovaný robottrue
/false
public boolean zamestnany(GRobot 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(GRobot)
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(GRobot)
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(GRobot)
public void alternatíva(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(GRobot)
public void alternativa(Shape tvar)
alternatíva
.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úryGRobot.Svet.priečinokObrázkov(String)
public 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(GRobot 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ň(GRobot r)
vyplňOblasť
.r
– robot, ktorý bude použitý na vyplnenie tejto oblasti (iba
farba a aktívne plánto)public void vyplň(GRobot 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úryGRobot.Svet.priečinokObrázkov(String)
public void vyplň(GRobot 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(GRobot 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(Poloha 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
.public double polohaX()
public double polohaY()
public double súradnicaX()
súradnicaX
v rozhraní Poloha
public double suradnicaX()
súradnicaX()
.suradnicaX
v rozhraní Poloha
public double súradnicaY()
súradnicaY
v rozhraní Poloha
public double suradnicaY()
súradnicaY()
.suradnicaY
v rozhraní Poloha
public GRobot.Bod poloha()
public double šírka()
public double sirka()
šírka
.public double výška()
public double vyska()
výška
.