public class Roj.Bod extends Object implements Comparable<Roj.Bod>
Trieda uchovávajúca údaje o jednom bode roja. Kreslenie, aktivitu a potrebné prepočty zabezpečuje programátor pomocou vstavaných metód alebo na základe údajov o bode.
Modifikátor a typ | Atribút a opis |
---|---|
double |
alfa
Uhly pootočenia bodu okolo stredu otáčania.
|
double |
beta
Uhly pootočenia bodu okolo stredu otáčania.
|
TreeMap<Integer,Integer> |
celociselneParametre
Alias pre
celočíselnéParametre . |
TreeMap<Integer,Integer> |
celočíselnéParametre
Mapa umožňujúca spravovanie zákazníckeho zoznamu celočíselných
parametrov bodu.
|
double |
dh
Tento atribút určuje zmenu hrúbky čiary robota vykonanú pred
kreslením spoja smerujúceho do tohto bodu.
|
double |
dho
Tento atribút určuje zmenu hrúbky čiary robota vykonanú pred
kreslením objektu na polohe tohto bodu.
|
double |
dx
Posunutie originálnej súradnice polohy bodu.
|
double |
dy
Posunutie originálnej súradnice polohy bodu.
|
double |
dz
Posunutie originálnej súradnice polohy bodu.
|
double |
faktor
|
Farba |
farba
Tento atribút určuje zmenu farby robota vykonanú pred kreslením
objektu na polohe tohto bodu.
|
Farba |
farbaSpoja
Tento atribút určuje zmenu farby robota vykonanú pred
kreslením spoja smerujúceho do tohto bodu.
|
double |
gama
Uhly pootočenia bodu okolo stredu otáčania.
|
KreslenieTvaru |
kreslenie
Toto kreslenie umožňuje upraviť tvar objektu nakresleného na
súradniciach tohto bodu roja.
|
Object |
objekt
Ľubovoľná inštancia s dodatočnými informáciami súvisiacimi
s týmto bodom.
|
TreeMap<Integer,Double> |
realneParametre
Alias pre
reálneParametre . |
TreeMap<Integer,Double> |
reálneParametre
Mapa umožňujúca spravovanie zákazníckeho zoznamu reálnych
parametrov bodu.
|
double |
rozmer
Parameter rozmeru objektu kresleného na polohe bodu.
|
int |
skupina
Tento atribút umožňuje rozlíšiť body patriace do zákaznícky
definovateľných skupín.
|
double |
smer
Toto je atribút, do ktorého sa priebežne (automaticky) ukladá
posledná orientácia grafického robota počas kreslenia tohto bodu.
|
boolean |
spoj
Tento atribút určuje, či bude medzi polohou predchádzajúceho
a tohto bodu roja kreslená spojovacia čiara.
|
KreslenieTvaru |
svgKreslenie
Toto kreslenie umožňuje definovať komplexnejší spôsob exportu
objektu na súradiciach tohto bodu roja do formátu SVG.
|
Shape |
svgTvar
Tento atribút umožňuje definovať jednoduchý tvar, ktorý
bude exportovaný ako objekt umiestnený na súradniciach tohto
bodu roja do formátu SVG.
|
boolean |
transformuj
|
double |
x0
Originálna súradnica polohy bodu.
|
double |
x1
Prepočítaná (lokálne transformovaná) súradnica polohy bodu.
|
double |
x2
Konečná (globálne transformovaná) súradnica polohy bodu.
|
double |
x3
Atribút cieľovej (zobrazovanej) polohy a veľkosti objektu na
bode.
|
double |
xs
Súradnica stredu otáčania bodu.
|
double |
y0
Originálna súradnica polohy bodu.
|
double |
y1
Prepočítaná (lokálne transformovaná) súradnica polohy bodu.
|
double |
y2
Konečná (globálne transformovaná) súradnica polohy bodu.
|
double |
y3
Atribút cieľovej (zobrazovanej) polohy a veľkosti objektu na
bode.
|
double |
ys
Súradnica stredu otáčania bodu.
|
double |
z0
Originálna súradnica polohy bodu.
|
double |
z1
Prepočítaná (lokálne transformovaná) súradnica polohy bodu.
|
double |
z2
Konečná (globálne transformovaná) súradnica polohy bodu.
|
double |
z3
Atribút cieľovej (zobrazovanej) polohy a veľkosti objektu na
bode.
|
boolean |
zobraz
Tento atribút určuje, či bude objekt na polohe tohto bodu
zobrazený.
|
double |
zs
Súradnica stredu otáčania bodu.
|
Konštruktor a opis |
---|
Bod() |
Modifikátor a typ | Metóda a opis |
---|---|
boolean |
bodV(double súradnicaX,
double súradnicaY)
Zistí, či sa súradnice zadaného bodu nachádzajú v kruhu
s veľkosťou polomeru úmernému vzdialenosti inštancie tohto bodu
od kamery (aktuálnej projekcie) a stredom na aktuálnej pozícii
jeho projekcie.
|
boolean |
bodV(double súradnicaX,
double súradnicaY,
double polomer)
Overí, či sa zadané súradnice nachádzajú v kruhu so zadaným
polomerom a stredom na aktuálnej pozícii projekcie bodu.
|
boolean |
bodV(Poloha objekt)
Funguje rovnako ako metóda
bodV(x, y) , len namiesto súradníc bodu je použitá poloha
zadaného objektu… |
boolean |
bodV(Poloha objekt,
double polomer)
Funguje rovnako ako metóda
bodV(x, y, polomer) , len namiesto súradníc bodu
je použitá poloha zadaného objektu… |
void |
citajZoSuboru(Súbor súbor,
String identifikátor)
Alias pre
čítajZoSúboru . |
int |
compareTo(Roj.Bod iný)
Porovná polohu tohto bodu s polohou zadaného bodu a vráti
hodnotu
0.0 , ak sú vzdialenosti oboch bodov od kamery
zhodné, kladnú hodnotu, ak je vzdialenosť druhého bodu od kamery
väčšia a zápornú hodnotu v opačnom prípade. |
void |
čítajZoSúboru(Súbor súbor,
String identifikátor)
Prečíta údaje o inštancii tohto bodu z konfiguračného súboru
otvoreného na čítanie.
|
double |
dajParameter(int index,
double predvolenáHodnota)
Umožňuje prevziať hodnotu zákaznícky definovaného reálneho
parametra bodu.
|
int |
dajParameter(int index,
int predvolenáHodnota)
Umožňuje prevziať hodnotu zákaznícky definovaného celočíselného
parametra bodu.
|
void |
kresliSpoj()
Táto metóda využije kresliaci robot roja na nakreslenie spoja
(čiary) smerujúceho z aktuálnej polohy robota do tohto bodu.
|
void |
kresliTeleso()
Táto metóda využije kresliaci robot roja na nakreslenie
objektu umiestneného na polohe tohto bodu (ak je viditeľný – pozri
atribút
zobraz ). |
boolean |
mysV()
Alias pre
myšV . |
boolean |
mysV(double polomer)
Alias pre
myšV . |
boolean |
myšV()
Zistí, či sa súradnice myši nachádzajú v kruhu s veľkosťou
polomeru úmernému vzdialenosti inštancie tohto bodu od kamery
(aktuálnej projekcie) a stredom na aktuálnej pozícii jeho
projekcie.
|
boolean |
myšV(double polomer)
Overí, či sa súradnice myši nachádzajú v kruhu so zadaným
polomerom a stredom na aktuálnej pozícii projekcie bodu.
|
void |
nastavParameter(int index,
double hodnota)
Umožňuje nastaviť hodnotu zákaznícky definovaného reálneho
parametra bodu.
|
void |
nastavParameter(int index,
int hodnota)
Umožňuje nastaviť hodnotu zákaznícky definovaného celočíselného
parametra bodu.
|
void |
precitajZoSuboru(Súbor súbor,
String identifikátor)
Alias pre
čítajZoSúboru . |
void |
prečítajZoSúboru(Súbor súbor,
String identifikátor)
Alias pre
čítajZoSúboru . |
void |
spojDoSVG(SVGPodpora svgPodpora)
Táto metóda umožňuje exportovať spoj definovaný k tomuto bodu
do zadanej inštancie SVG podpory.
|
void |
telesoDoSVG(SVGPodpora svgPodpora)
Táto metóda umožňuje exportovať objekt definovaný pre tento
bod do zadanej inštancie SVG podpory.
|
void |
transformuj()
Ak je hodnota atribútu
transformuj rovná
true , tak táto metóda prepočíta (vypočíta nové) hodnoty
transformovaných súradníc x1 , y1
a z1 . |
void |
ulozDoSuboru(Súbor súbor,
String identifikátor)
Alias pre
uložDoSúboru . |
void |
uložDoSúboru(Súbor súbor,
String identifikátor)
Zapíše údaje o inštancii tohto bodu do konfiguračného súboru
otvoreného na zápis.
|
void |
upevni()
Táto metóda fyzicky presunie bod na jeho transformovanú polohu
a zruší transformácie (inak dočasného) posunutia a pootočenia
bodu.
|
public double x0
Originálna súradnica polohy bodu. Atribúty x0
,
y0
a z0
určujú pôvodnú netransformovanú polohu
bodu v priestore.
Upozornenie: Po zmene hodnoty tohto
atribútu je nevyhnutné nastaviť príznak transformuj
na true
.
public double y0
Originálna súradnica polohy bodu. Atribúty x0
,
y0
a z0
určujú pôvodnú netransformovanú polohu
bodu v priestore.
Upozornenie: Po zmene hodnoty tohto
atribútu je nevyhnutné nastaviť príznak transformuj
na true
.
public double z0
Originálna súradnica polohy bodu. Atribúty x0
,
y0
a z0
určujú pôvodnú netransformovanú polohu
bodu v priestore.
Upozornenie: Po zmene hodnoty tohto
atribútu je nevyhnutné nastaviť príznak transformuj
na true
.
public double dx
Posunutie originálnej súradnice polohy bodu. Atribúty
dx
, dy
a dz
určujú voliteľné posunutie
(transfromovanie posunutím) originálnej polohy bodu (pozri
x0
, y0
alebo z0
) v priestore.
Takto sa dá bod ľubovoľne posúvať v priestore bez toho, aby sme
stratili originálne hodnoty súradníc jeho polohy.
Upozornenie: Po zmene hodnoty tohto
atribútu je nevyhnutné nastaviť príznak transformuj
na true
.
public double dy
Posunutie originálnej súradnice polohy bodu. Atribúty
dx
, dy
a dz
určujú voliteľné posunutie
(transfromovanie posunutím) originálnej polohy bodu (pozri
x0
, y0
alebo z0
) v priestore.
Takto sa dá bod ľubovoľne posúvať v priestore bez toho, aby sme
stratili originálne hodnoty súradníc jeho polohy.
Upozornenie: Po zmene hodnoty tohto
atribútu je nevyhnutné nastaviť príznak transformuj
na true
.
public double dz
Posunutie originálnej súradnice polohy bodu. Atribúty
dx
, dy
a dz
určujú voliteľné posunutie
(transfromovanie posunutím) originálnej polohy bodu (pozri
x0
, y0
alebo z0
) v priestore.
Takto sa dá bod ľubovoľne posúvať v priestore bez toho, aby sme
stratili originálne hodnoty súradníc jeho polohy.
Upozornenie: Po zmene hodnoty tohto
atribútu je nevyhnutné nastaviť príznak transformuj
na true
.
public double xs
Súradnica stredu otáčania bodu. Atribúty xs
, ys
,
zs
určujú polohu stredu otáčania bodu v priestore.
(Pozri aj alfa
, beta
alebo
gama
.)
Upozornenie: Po zmene hodnoty tohto
atribútu je nevyhnutné nastaviť príznak transformuj
na true
.
public double ys
Súradnica stredu otáčania bodu. Atribúty xs
, ys
,
zs
určujú polohu stredu otáčania bodu v priestore.
(Pozri aj alfa
, beta
alebo
gama
.)
Upozornenie: Po zmene hodnoty tohto
atribútu je nevyhnutné nastaviť príznak transformuj
na true
.
public double zs
Súradnica stredu otáčania bodu. Atribúty xs
, ys
,
zs
určujú polohu stredu otáčania bodu v priestore.
(Pozri aj alfa
, beta
alebo
gama
.)
Upozornenie: Po zmene hodnoty tohto
atribútu je nevyhnutné nastaviť príznak transformuj
na true
.
public double alfa
Uhly pootočenia bodu okolo stredu otáčania. Atribúty
alfa
, beta
a gama
určujú uhly pootočenia
(transformovania otáčaním) bodu v priestore okolo stredu otáčania
[xs
, ys
, zs
].
Upozornenie: Po zmene hodnoty tohto
atribútu je nevyhnutné nastaviť príznak transformuj
na true
.
Poznámka: Transformácia pootočenia je zložená z troch samostatných transformácií rotácie okolo jednotlivých osí súradnicovej sústavy. Skladanie transformácií nie je komutatívne, takže výsledok rotácie nie je intuitívny a môže sa líšiť od (intuitívne) predpokladaného stavu.
public double beta
Uhly pootočenia bodu okolo stredu otáčania. Atribúty
alfa
, beta
a gama
určujú uhly pootočenia
(transformovania otáčaním) bodu v priestore okolo stredu otáčania
[xs
, ys
, zs
].
Upozornenie: Po zmene hodnoty tohto
atribútu je nevyhnutné nastaviť príznak transformuj
na true
.
Poznámka: Transformácia pootočenia je zložená z troch samostatných transformácií rotácie okolo jednotlivých osí súradnicovej sústavy. Skladanie transformácií nie je komutatívne, takže výsledok rotácie nie je intuitívny a môže sa líšiť od (intuitívne) predpokladaného stavu.
public double gama
Uhly pootočenia bodu okolo stredu otáčania. Atribúty
alfa
, beta
a gama
určujú uhly pootočenia
(transformovania otáčaním) bodu v priestore okolo stredu otáčania
[xs
, ys
, zs
].
Upozornenie: Po zmene hodnoty tohto
atribútu je nevyhnutné nastaviť príznak transformuj
na true
.
Poznámka: Transformácia pootočenia je zložená z troch samostatných transformácií rotácie okolo jednotlivých osí súradnicovej sústavy. Skladanie transformácií nie je komutatívne, takže výsledok rotácie nie je intuitívny a môže sa líšiť od (intuitívne) predpokladaného stavu.
public double rozmer
Parameter rozmeru objektu kresleného na polohe bodu. (Pozri aj
faktor
.)
public boolean transformuj
public double x1
Prepočítaná (lokálne transformovaná) súradnica polohy bodu.
Atribúty x1
, y1
a z1
určujú lokálne
transformovanú polohu bodu v priestore. Sú vypočítané z atribútov
originálnych súradníc bodu [x0
, y0
,
z0
], hodnôt posunutia bodu v priestore
[dx
, dy
, dz
] (transformácia
posunutím) a hodnôt pootočenia bodu v priestore (uhly alfa
, beta
a gama
) okolo stredu
otáčania [xs
, ys
, zs
]
(transformovania otáčaním).
Upozornenie: Z uvedeného vyplýva, že ak
sa hodnota ktoréhokoľvek z vyššie spomenutých atribútov zmení, tak
súradnice x1
, y1
a z1
musia byť opätovne
prepočítané. To znamená, že súčasne so zmenou hociktorého
z atribútov spomenutých v opise vyššie je nevyhnutné nastaviť
príznak transformuj
na true
.
Poznámka: Transformácia pootočenia je zložená z troch samostatných transformácií rotácie okolo jednotlivých osí súradnicovej sústavy. Skladanie transformácií nie je komutatívne, takže výsledok rotácie nie je intuitívny a môže sa líšiť od (intuitívne) predpokladaného stavu.
public double y1
Prepočítaná (lokálne transformovaná) súradnica polohy bodu.
Atribúty x1
, y1
a z1
určujú lokálne
transformovanú polohu bodu v priestore. Sú vypočítané z atribútov
originálnych súradníc bodu [x0
, y0
,
z0
], hodnôt posunutia bodu v priestore
[dx
, dy
, dz
] (transformácia
posunutím) a hodnôt pootočenia bodu v priestore (uhly alfa
, beta
a gama
) okolo stredu
otáčania [xs
, ys
, zs
]
(transformovania otáčaním).
Upozornenie: Z uvedeného vyplýva, že ak
sa hodnota ktoréhokoľvek z vyššie spomenutých atribútov zmení, tak
súradnice x1
, y1
a z1
musia byť opätovne
prepočítané. To znamená, že súčasne so zmenou hociktorého
z atribútov spomenutých v opise vyššie je nevyhnutné nastaviť
príznak transformuj
na true
.
Poznámka: Transformácia pootočenia je zložená z troch samostatných transformácií rotácie okolo jednotlivých osí súradnicovej sústavy. Skladanie transformácií nie je komutatívne, takže výsledok rotácie nie je intuitívny a môže sa líšiť od (intuitívne) predpokladaného stavu.
public double z1
Prepočítaná (lokálne transformovaná) súradnica polohy bodu.
Atribúty x1
, y1
a z1
určujú lokálne
transformovanú polohu bodu v priestore. Sú vypočítané z atribútov
originálnych súradníc bodu [x0
, y0
,
z0
], hodnôt posunutia bodu v priestore
[dx
, dy
, dz
] (transformácia
posunutím) a hodnôt pootočenia bodu v priestore (uhly alfa
, beta
a gama
) okolo stredu
otáčania [xs
, ys
, zs
]
(transformovania otáčaním).
Upozornenie: Z uvedeného vyplýva, že ak
sa hodnota ktoréhokoľvek z vyššie spomenutých atribútov zmení, tak
súradnice x1
, y1
a z1
musia byť opätovne
prepočítané. To znamená, že súčasne so zmenou hociktorého
z atribútov spomenutých v opise vyššie je nevyhnutné nastaviť
príznak transformuj
na true
.
Poznámka: Transformácia pootočenia je zložená z troch samostatných transformácií rotácie okolo jednotlivých osí súradnicovej sústavy. Skladanie transformácií nie je komutatívne, takže výsledok rotácie nie je intuitívny a môže sa líšiť od (intuitívne) predpokladaného stavu.
public boolean zobraz
Tento atribút určuje, či bude objekt na polohe tohto bodu zobrazený. V každom bode roja môže alebo nemusí byť kreslený nejaký objekt – 2D objekt (prípadne určitým vlastným spôsobom generovaný 3D objekt – autor takéhoto kódu by musel doriešiť zistenie orientácie objektu). Tento atribút určuje, či má byť spustené jeho kreslenie.
public Farba farba
Tento atribút určuje zmenu farby robota vykonanú pred kreslením objektu na polohe tohto bodu.
public double dho
Tento atribút určuje zmenu hrúbky čiary robota vykonanú pred kreslením objektu na polohe tohto bodu.
public double x2
public double y2
public double z2
public boolean spoj
Tento atribút určuje, či bude medzi polohou predchádzajúceho a tohto bodu roja kreslená spojovacia čiara. (Pri kreslení roja ako celku je táto hodnota pre prvý bod roja irelevantná.)
farbaSpoja
,
dh
public Farba farbaSpoja
Tento atribút určuje zmenu farby robota vykonanú pred kreslením spoja smerujúceho do tohto bodu. (Pri kreslení roja ako celku je táto hodnota pre prvý bod roja irelevantná.)
public double dh
Tento atribút určuje zmenu hrúbky čiary robota vykonanú pred kreslením spoja smerujúceho do tohto bodu. (Pri kreslení roja ako celku je táto hodnota pre prvý bod roja irelevantná.)
spoj
,
farbaSpoja
public double x3
Atribút cieľovej (zobrazovanej) polohy a veľkosti objektu na
bode. Atribúty x3
a y3
určujú zobrazovanú
(premietanú) polohu objektu (kresleného na polohe tohto bodu) na
plátno sveta. Atribút z3
určuje prepočítaný rozmer objektu.
Hodnoty týchto atribútov sú vypočítané len v prípade, že je faktor
rozmeru a zobrazovanej polohy (atribút faktor
)
kladný. Počítajú sa z hodnôt súradníc konečnej (globálne
transformovanej) polohy bodu [x2
, y2
,
z2
], rozmeru objektu kresleného na bode –
rozmer
, faktora (deliteľa) rozmeru a zobrazovanej
polohy objektu na bode – faktor
a z atribútov
pohľadu na roj.
public double y3
Atribút cieľovej (zobrazovanej) polohy a veľkosti objektu na
bode. Atribúty x3
a y3
určujú zobrazovanú
(premietanú) polohu objektu (kresleného na polohe tohto bodu) na
plátno sveta. Atribút z3
určuje prepočítaný rozmer objektu.
Hodnoty týchto atribútov sú vypočítané len v prípade, že je faktor
rozmeru a zobrazovanej polohy (atribút faktor
)
kladný. Počítajú sa z hodnôt súradníc konečnej (globálne
transformovanej) polohy bodu [x2
, y2
,
z2
], rozmeru objektu kresleného na bode –
rozmer
, faktora (deliteľa) rozmeru a zobrazovanej
polohy objektu na bode – faktor
a z atribútov
pohľadu na roj.
public double z3
Atribút cieľovej (zobrazovanej) polohy a veľkosti objektu na
bode. Atribúty x3
a y3
určujú zobrazovanú
(premietanú) polohu objektu (kresleného na polohe tohto bodu) na
plátno sveta. Atribút z3
určuje prepočítaný rozmer objektu.
Hodnoty týchto atribútov sú vypočítané len v prípade, že je faktor
rozmeru a zobrazovanej polohy (atribút faktor
)
kladný. Počítajú sa z hodnôt súradníc konečnej (globálne
transformovanej) polohy bodu [x2
, y2
,
z2
], rozmeru objektu kresleného na bode –
rozmer
, faktora (deliteľa) rozmeru a zobrazovanej
polohy objektu na bode – faktor
a z atribútov
pohľadu na roj.
public double faktor
Faktor (deliteľ) rozmeru a zobrazovanej polohy objektu na bode,
ktorý je (automaticky) prepočítavaný podľa konečných (globálne
transformovaných) súradníc bodu ([x2
, y2
,
z2
]) a aktuálnej vzdialenosti kamery od roja.
Ak je faktor menší alebo rovný nule, tak je objekt
nepozorovateľný – nachádza sa za pozorovateľom alebo na jeho
úrovni. Ak je faktor kladný, stáva sa deliteľom zobrazovanej
polohy a rozmeru objektu, ktoré sú uložené v atribútoch x3
, y3
a z3
.
public int skupina
Tento atribút umožňuje rozlíšiť body patriace do zákaznícky definovateľných skupín. Atribút je dostupný na voľné použitie. Nemá žiadne vnútorné využitie v rámci tried roja.
public Object objekt
Ľubovoľná inštancia s dodatočnými informáciami súvisiacimi s týmto bodom. Do tohto atribútu sa dá uložiť ľubovoľný zákaznícky objekt, ktorý môže niesť ďalšie informácie súvisiace s týmto bodom.
public final TreeMap<Integer,Integer> celočíselnéParametre
Mapa umožňujúca spravovanie zákazníckeho zoznamu celočíselných parametrov bodu. Význam parametrov určuje programátor podľa svojich potrieb.
public final TreeMap<Integer,Integer> celociselneParametre
Alias pre celočíselnéParametre
.
public final TreeMap<Integer,Double> reálneParametre
Mapa umožňujúca spravovanie zákazníckeho zoznamu reálnych parametrov bodu. Význam parametrov určuje programátor podľa svojich potrieb.
public final TreeMap<Integer,Double> realneParametre
Alias pre reálneParametre
.
public double smer
Toto je atribút, do ktorého sa priebežne (automaticky) ukladá posledná orientácia grafického robota počas kreslenia tohto bodu. Dá sa to využiť na rôzne účely, napríklad nakreslenie šípky ako objektu v tomto bode podľa poslednej orientácie v čase kreslenia spoja, pričom samotný spoj môže byť skrytý.
public KreslenieTvaru kreslenie
Toto kreslenie umožňuje upraviť tvar objektu nakresleného na súradniciach tohto bodu roja.
Poznámka: Vo vlastnom kreslení sa na
prístup k aktuálne kreslenému bodu dá s výhodou využiť atribút
bod
roja.
kresliTeleso()
,
Roj.kresli()
public KreslenieTvaru svgKreslenie
Toto kreslenie umožňuje definovať komplexnejší spôsob exportu
objektu na súradiciach tohto bodu roja do formátu SVG. Toto
kreslenie má prioritu pred atribútom svgTvar
,
ktorý poskytuje veľmi primitívnu možnosť exportu tvarov roja
(resp. priemetov jeho bodov a objektov na nich) do formátu SVG.
Pozor! Aj keď je tu použité rozhranie
KreslenieTvaru
, náplňou jeho činnosti nemá
byť v tomto prípade kreslenie zadaným robotom, ale export tvarov
do inštancie triedy SVGPodpora
(buď do
predvolenej, alebo do inak určenej)
pomocou zadaného robota a s prípadným využitím inštancie
bod
roja.
telesoDoSVG(SVGPodpora)
,
Roj.pridajDoSVG(SVGPodpora)
public Shape svgTvar
Tento atribút umožňuje definovať jednoduchý tvar, ktorý
bude exportovaný ako objekt umiestnený na súradniciach tohto
bodu roja do formátu SVG. Prioritu pred týmto atribútom má
kreslenie, ktoré môže byť uložené v atribúte svgKreslenie
.
public int compareTo(Roj.Bod iný)
Porovná polohu tohto bodu s polohou zadaného bodu a vráti
hodnotu 0.0
, ak sú vzdialenosti oboch bodov od kamery
zhodné, kladnú hodnotu, ak je vzdialenosť druhého bodu od kamery
väčšia a zápornú hodnotu v opačnom prípade.
Poznámka: Rozhranie Comparable
bolo implementované z dôvodu zaručenia správneho poradia kreslenia
bodov roja.
compareTo
v rozhraní Comparable<Roj.Bod>
iný
– bod, s ktorým má byť tento bod porovnanýpublic void transformuj()
Ak je hodnota atribútu transformuj
rovná
true
, tak táto metóda prepočíta (vypočíta nové) hodnoty
transformovaných súradníc x1
, y1
a z1
. Potom automaticky nastaví atribútu transformuj
hodnotu false
.
Poznámka: Transformácia pootočenia je zložená z troch samostatných transformácií rotácie okolo jednotlivých osí súradnicovej sústavy. Skladanie transformácií nie je komutatívne, takže výsledok rotácie nie je intuitívny a môže sa líšiť od (intuitívne) predpokladaného stavu.
public void upevni()
Táto metóda fyzicky presunie bod na jeho transformovanú polohu a zruší transformácie (inak dočasného) posunutia a pootočenia bodu. Inak povedané – lokálne transformované súradnice sa stanú originálnymi súradnicami a všetky relevantné atribúty lokálnych transformácií budú zrušené:
To znamená, že transformované súradnice [x1
,
y1
, z1
] budú skopírované do originálnych
súradníc [x0
, y0
, z0
]
a hodnoty transformácií posunutia (dx
, dy
,
dz
) a pootočenia (uhly alfa
, beta
a gama
) bodu v priestore budú vynulované.
Hodnoty súradníc stredu otáčania [xs
, ys
,
zs
] ponecháva táto metóda v pôvodnom stave. Ak je
príznak transformuj
rovný true
,
tak je pred upevnením automaticky spustená metóda transformuj()
.
public void kresliSpoj()
Táto metóda využije kresliaci robot roja na nakreslenie spoja (čiary) smerujúceho z aktuálnej polohy robota do tohto bodu. (Ak má robot položené pero!) Predpokladá sa, že aktuálna poloha robota je polohou predchádzajúceho bodu roja.
Táto metóda využije atribút farby
spoja, ak je nastavený (to jest, ak nemá hodnotu null
)
a atribút zmeny hrúbky čiary spoja (tiež, ak je
nenulový).
Poznámka: Pred kreslením celého roja sú zálohované dve vlastnosti kresliaceho robota – farba a hrúbka čiary. Ich hodnoty sú však obnovené až po nakreslení všetkých prvkov roja (spojov, telies/objektov) – pozri aj kreslenie telesa.
public void kresliTeleso()
Táto metóda využije kresliaci robot roja na nakreslenie
objektu umiestneného na polohe tohto bodu (ak je viditeľný – pozri
atribút zobraz
). Ak je definované vlastné
kreslenie
, tak je touto metódou využité, inak
je tvarom objektu pečiatka robota (čo môže byť ľubovoľný tvar,
pretože robot môže mať definované vlastné kreslenie). Kreslenie
využije atribút farby bodu (resp. objektu
kresleného na pozícii bodu), ak je nastavený (to jest, ak nemá
hodnotu null
) a atribút zmeny hrúbky
čiary objektu (tiež, ak je nenulový).
Poznámka: Pred kreslením celého roja sú zálohované dve vlastnosti kresliaceho robota – farba a hrúbka čiary. Ich hodnoty sú však obnovené až po nakreslení všetkých prvkov roja (spojov a objektov), čiže ak toto kreslenie objektu/telesa tieto vlastnosti počas kreslenia zmení a neobnoví (čo sa nevzťahuje na vlastnosti vlastnej farby bodu a zmeny hrúbky čiary (kreslenia objektu), ktorých použitie je manažované automaticky – pred a po kreslení objektu bodu), tak sa zmeny prenesú do kreslenia ďalších prvkov roja, čo môže byť nežiaduce, preto odporúčame po skončení kreslenia telea „všetko (to jest nielen hrúbku čiary a farbu) vrátiť do pôvodného stavu.“
Poznámka: Vo vlastnom kreslení sa na
prístup k aktuálne kreslenému bodu dá s výhodou využiť atribút
bod
roja.
public boolean bodV(double súradnicaX, double súradnicaY, double polomer)
Overí, či sa zadané súradnice nachádzajú v kruhu so zadaným polomerom a stredom na aktuálnej pozícii projekcie bodu.
súradnicaX
– x-ová súradnica bodusúradnicaY
– y-ová súradnica bodupolomer
– polomer vyšetrovaného kruhutrue
– áno; false
– niepublic boolean bodV(Poloha objekt, double polomer)
Funguje rovnako ako metóda bodV(x, y, polomer)
, len namiesto súradníc bodu
je použitá poloha zadaného objektu…
objekt
– objekt, ktorého poloha je použitá namiesto
súradníc bodupolomer
– polomer vyšetrovaného kruhutrue
/false
public boolean bodV(double súradnicaX, double súradnicaY)
Zistí, či sa súradnice zadaného bodu nachádzajú v kruhu s veľkosťou polomeru úmernému vzdialenosti inštancie tohto bodu od kamery (aktuálnej projekcie) a stredom na aktuálnej pozícii jeho projekcie.
súradnicaX
– x-ová súradnica bodusúradnicaY
– y-ová súradnica bodutrue
– áno; false
– niepublic boolean bodV(Poloha objekt)
Funguje rovnako ako metóda bodV(x, y)
, len namiesto súradníc bodu je použitá poloha
zadaného objektu…
objekt
– objekt, ktorého poloha je použitá namiesto
súradníc bodutrue
/false
public boolean myšV(double polomer)
Overí, či sa súradnice myši nachádzajú v kruhu so zadaným polomerom a stredom na aktuálnej pozícii projekcie bodu.
polomer
– polomer vyšetrovaného kruhutrue
– áno; false
– niepublic boolean mysV(double polomer)
Alias pre myšV
.
public boolean myšV()
Zistí, či sa súradnice myši nachádzajú v kruhu s veľkosťou polomeru úmernému vzdialenosti inštancie tohto bodu od kamery (aktuálnej projekcie) a stredom na aktuálnej pozícii jeho projekcie.
true
– áno; false
– niepublic boolean mysV()
Alias pre myšV
.
public int dajParameter(int index, int predvolenáHodnota)
Umožňuje prevziať hodnotu zákaznícky definovaného celočíselného
parametra bodu. Metóda používa zoznam celočíselnéParametre
.
index
– index parametrapredvolenáHodnota
– hodnota, ktorá bude vrátená v prípade,
že parameter s určeným indexom nie je definovanýnastavParameter(int, int)
,
dajParameter(int, double)
,
nastavParameter(int, double)
,
celočíselnéParametre
,
reálneParametre
public void nastavParameter(int index, int hodnota)
Umožňuje nastaviť hodnotu zákaznícky definovaného celočíselného
parametra bodu. Metóda používa zoznam celočíselnéParametre
.
index
– index parametrahodnota
– nová hodnota parametradajParameter(int, int)
,
dajParameter(int, double)
,
nastavParameter(int, double)
,
celočíselnéParametre
,
reálneParametre
public double dajParameter(int index, double predvolenáHodnota)
Umožňuje prevziať hodnotu zákaznícky definovaného reálneho
parametra bodu. Metóda používa zoznam reálneParametre
.
index
– index parametrapredvolenáHodnota
– hodnota, ktorá bude vrátená v prípade,
že parameter s určeným indexom nie je definovanýdajParameter(int, int)
,
nastavParameter(int, int)
,
nastavParameter(int, double)
,
celočíselnéParametre
,
reálneParametre
public void nastavParameter(int index, double hodnota)
Umožňuje nastaviť hodnotu zákaznícky definovaného reálneho
parametra bodu. Metóda používa zoznam reálneParametre
.
index
– index parametrahodnota
– nová hodnota parametradajParameter(int, int)
,
nastavParameter(int, int)
,
dajParameter(int, double)
,
celočíselnéParametre
,
reálneParametre
public void spojDoSVG(SVGPodpora svgPodpora)
Táto metóda umožňuje exportovať spoj definovaný k tomuto bodu
do zadanej inštancie SVG podpory. Ide
o metódu, ktorá je v prípade exportu do formátu SVG pomyselným
obrazom metódy kresliSpoj
. Táto metóda je
automaticky volaná metódou roja pridajDoSVG
.
svgPodpora
– inštancia SVG podpory,
do ktorej bude exportovaný tvar Javy
(čiary) reprezentujúci viditeľný spoj medzi prechádzajúcim
a týmto bodom rojaRoj.pridajDoSVG(SVGPodpora)
public void telesoDoSVG(SVGPodpora svgPodpora)
Táto metóda umožňuje exportovať objekt definovaný pre tento
bod do zadanej inštancie SVG podpory.
Ide o metódu, ktorá je v prípade exportu do formátu SVG
pomyselným obrazom metódy kresliTeleso
.
Metóda využíva hodnoty atribútov svgKreslenie
a svgTvar
, ak sú neprázdne.
(Pozri aj ich opisy.) Táto metóda je automaticky volaná metódou
roja pridajDoSVG
.
Poznámka: Pri exporte sa na prístup
k aktuálne exportovanému bodu dá s výhodou využiť atribút
bod
roja.
svgPodpora
– inštancia SVG podpory,
do ktorej budú exportované tvary Javy
reprezentujúce teleso umiestnené v tomto bode rojapublic void čítajZoSúboru(Súbor súbor, String identifikátor) throws IOException
Prečíta údaje o inštancii tohto bodu z konfiguračného súboru
otvoreného na čítanie. Metóda vyžaduje identifikátor menného
priestoru, ktorý bol vyhradený pre tento bod. (Roj priraďuje
automaticky ku každému bodu identifikátor v tvare bod[
«index»]
.)
uložDoSúboru
.)súbor
– inštancia triedy Súbor
otvorená
na čítanieidentifikátor
– vnorený menný priestor, z ktorého budú
prevzaté údaje o bodeIOException
– ak vznikla chyba vo vstupno-výstupnej
operáciipublic void citajZoSuboru(Súbor súbor, String identifikátor) throws IOException
Alias pre čítajZoSúboru
.
IOException
public void prečítajZoSúboru(Súbor súbor, String identifikátor) throws IOException
Alias pre čítajZoSúboru
.
IOException
public void precitajZoSuboru(Súbor súbor, String identifikátor) throws IOException
Alias pre čítajZoSúboru
.
IOException
public void uložDoSúboru(Súbor súbor, String identifikátor) throws IOException
Zapíše údaje o inštancii tohto bodu do konfiguračného súboru
otvoreného na zápis. Metóda vyžaduje identifikátor menného
priestoru, ktorý bude použitý na bezpečné uloženie množiny
údajov o bode. Roj priraďuje automaticky ku každému bodu
identifikátor v tvare bod[
«index»]
. Ak
je namiesto identifikátora zadaná hodnota null
, tak
bude použitý aktuálny menný priestor a ak by to bol hlavný menný
priestor, tak jestvuje vysoké riziko toho, že údaje budú
kolidovať s inými vlastnosťami zapísanými v súbore.
(V skutočnosti by zápis a následné čítanie bez
identifikátora menného podpriestoru fungoval len pre jediný bod
roja, čo nie je príliš užitočné.)
súbor
– inštancia triedy Súbor
otvorená
na zápisidentifikátor
– vnorený menný priestor, do ktorého budú
vložené údaje o bodeIOException
– ak vznikla chyba vo vstupno-výstupnej
operáciipublic void ulozDoSuboru(Súbor súbor, String identifikátor) throws IOException
Alias pre uložDoSúboru
.
IOException