Package eu.pedu.lib20s.canvasmanager
Class Triangle
java.lang.Object
eu.pedu.lib20s.geom.ANamed
eu.pedu.lib20s.geom.AMovable
eu.pedu.lib20s.geom.AChangeable
eu.pedu.lib20s.geom.AShape
eu.pedu.lib20s.canvasmanager.Triangle
- All Implemented Interfaces:
ICMPaintable
,ICMShape
,IDirectable
,IFlexible
,IChangeable
,IMovable
,IResizable
,IShape
,IColorable
,ICopyable
public class Triangle extends AShape implements ICMShape, IColorable, IDirectable
Instance třídy
Trojúhelník
představují trojúhelníky
určené pro práci na plátně spravovaném správcem plátna –.
instancí třídy CanvasManager
.
Instance jsou definované svojí pozicí, rozměrem, barvou a směrem.
Pozicí instance se přitom rozumí
pozice levého horního rohu opsaného obdélníku
a rozměrem rozměr tohoto obdélníku.
Směr trojúhelníku je pak definován jako směr,
do nějž je natočen jeho hlavní vrchol.-
Field Summary
Fields Modifier and Type Field Description static NamedColor
DEFAULT_COLOR
The default named color of created instances for the case, when the caller doesn't set any - for triangles it isNamedColor.GREEN
.static Direction8
DEFAULT_DIRECTION
The default direction of created triangle, which means the direction to which the main vertex of the triagle is turned when user doesn't define any preferred direction. -
Constructor Summary
Constructors Constructor Description Triangle()
Vytvoří instanci s implicitním umístěním, rozměry, barvou a natočením.Triangle(int x, int y, int width, int height)
Vytvoří instanci se zadanou pozicí a rozměry a implicitní barvou a směrem natočení.Triangle(int x, int y, int width, int height, Direction8 direction)
Vytvoří instanci se zadanou pozicí, rozměry a směrem natočení a s implicitní barvou.Triangle(int x, int y, int width, int height, NamedColor color)
Vytvoří instanci se zadanou pozicí, rozměry a barvou.Triangle(int x, int y, int width, int height, NamedColor color, Direction8 direction)
Vytvoří instanci se zadanou pozicí, rozměry, barvou, i směrem natočení.Triangle(Area area, NamedColor color, Direction8 direction)
Vytvoří instanci vyplňující zadanou oblast a mající zadanou barvu a směr natočení.Triangle(Position position, Size size, NamedColor color, Direction8 direction)
Vytvoří instanci se zadanou pozicí, rozměry, barvou, i směrem natočení. -
Method Summary
Modifier and Type Method Description Triangle
copy()
Vrátí kopii dané instance, tj. stejně velkou, umístěnou a natočenou instanci stejné barvy.protected java.lang.String
forToString()
Vrací charakteristiky dané instance do jejího podpisu.NamedColor
getColor()
Vrátí aktuální barvu instance.Direction8
getDirection()
Vrátí směr, do nějž je instance otočena.void
paint(Painter painter)
Prostřednictvím dodaného kreslítka vykreslí obraz své instance.void
setColor(NamedColor color)
Nastaví novou barvu instance.void
setDirection(Direction8 direction)
Otočí instanci do zadaného směru.void
setPosition(int x, int y)
Přemístí instanci na zadanou pozici.void
setSize(int width, int height)
Nastaví nové rozměry instance.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface eu.pedu.lib20s.geom.IMovable
getPosition, getX, getY, moveDown, moveRight, setPosition, setX, setY
-
Field Details
-
DEFAULT_COLOR
The default named color of created instances for the case, when the caller doesn't set any - for triangles it isNamedColor.GREEN
. -
DEFAULT_DIRECTION
The default direction of created triangle, which means the direction to which the main vertex of the triagle is turned when user doesn't define any preferred direction.
-
-
Constructor Details
-
Triangle
public Triangle()Vytvoří instanci s implicitním umístěním, rozměry, barvou a natočením. Instance bude umístěna v levém horním rohu plátna a bude mít implicitní barvu, výšku rovnu velikosti a šířku dvojnásobku velikosti pole plátna a bude natočena vrcholem na sever. -
Triangle
public Triangle(int x, int y, int width, int height)Vytvoří instanci se zadanou pozicí a rozměry a implicitní barvou a směrem natočení. Pozice instance je přitom definována jako pozice levého horního rohu opsaného obdélníku, a rozměr instance jako rozměr tohoto obdélníku.- Parameters:
x
- Vodorovná (x-ová) souřadnice instance, x=0 má levý okraj plátna, souřadnice roste dopravay
- Svislá (y-ová) souřadnice instance, y=0 má horní okraj plátna, souřadnice roste dolůwidth
- Šířka vytvářené instance, šířka >= 0height
- Výška vytvářené instance, výška >= 0
-
Triangle
Vytvoří instanci se zadanou pozicí, rozměry a barvou. Směr natočení bude implicitní, tj. na sever. Pozice instance je přitom definována jako pozice levého horního rohu opsaného obdélníku, a rozměr instance jako rozměr tohoto obdélníku. Směr trojúhelníku je definován jako směr, do nějž má být natočen jeho hlavní vrchol.- Parameters:
x
- Vodorovná (x-ová) souřadnice instance, x=0 má levý okraj plátna, souřadnice roste dopravay
- Svislá (y-ová) souřadnice instance, y=0 má horní okraj plátna, souřadnice roste dolůwidth
- Šířka vytvářené instance, šířka >= 0height
- Výška vytvářené instance, výška >= 0color
- Barva vytvářené instance
-
Triangle
Vytvoří instanci se zadanou pozicí, rozměry a směrem natočení a s implicitní barvou. Pozice instance je přitom definována jako pozice levého horního rohu opsaného obdélníku, a rozměr instance jako rozměr tohoto obdélníku. Směr trojúhelníku je definován jako směr, do nějž má být natočen jeho hlavní vrchol.- Parameters:
x
- Vodorovná (x-ová) souřadnice instance, x=0 má levý okraj plátna, souřadnice roste dopravay
- Svislá (y-ová) souřadnice instance, y=0 má horní okraj plátna, souřadnice roste dolůwidth
- Šířka vytvářené instance, šířka >= 0height
- Výška vytvářené instance, výška >= 0direction
- Směr, do nějž má být natočen hlavní vrchol
-
Triangle
Vytvoří instanci se zadanou pozicí, rozměry, barvou, i směrem natočení. Pozice instance je přitom definována jako pozice levého horního rohu opsaného obdélníku, a rozměr instance jako rozměr tohoto obdélníku. Směr trojúhelníku je definován jako směr, do nějž má být natočen jeho hlavní vrchol.- Parameters:
x
- Vodorovná (x-ová) souřadnice instance, x=0 má levý okraj plátna, souřadnice roste dopravay
- Svislá (y-ová) souřadnice instance, y=0 má horní okraj plátna, souřadnice roste dolůwidth
- Šířka vytvářené instance, šířka >= 0height
- Výška vytvářené instance, výška >= 0color
- Barva vytvářené instancedirection
- Směr, do nějž má být natočen hlavní vrchol
-
Triangle
Vytvoří instanci se zadanou pozicí, rozměry, barvou, i směrem natočení. Pozice instance je přitom definována jako pozice levého horního rohu opsaného obdélníku, a rozměr instance jako rozměr tohoto obdélníku. Směr trojúhelníku je definován jako směr, do nějž má být natočen jeho hlavní vrchol.- Parameters:
position
- Pozice vytvářené instancesize
- Rozměr vytvářené instancecolor
- Barva vytvářené instancedirection
- Směr, do nějž má být natočen hlavní vrchol
-
Triangle
Vytvoří instanci vyplňující zadanou oblast a mající zadanou barvu a směr natočení. Směr trojúhelníku je definován jako směr, do nějž má být natočen jeho hlavní vrchol.- Parameters:
area
- Oblast, kterou má vytvářená instance zaujmoutcolor
- Barva vytvářené instancedirection
- Směr, do nějž má být natočen hlavní vrchol
-
-
Method Details
-
getColor
Vrátí aktuální barvu instance.- Specified by:
getColor
in interfaceIColorable
- Returns:
- Instance třídy
NamedColor
definující aktuálně nastavenou barvu
-
setColor
Nastaví novou barvu instance.- Specified by:
setColor
in interfaceIColorable
- Parameters:
color
- Požadovaná nová barva
-
getDirection
Vrátí směr, do nějž je instance otočena. Směr trojúhelníku je definován jako směr, do nějž je natočen jeho hlavní vrchol.- Specified by:
getDirection
in interfaceIDirectable
- Returns:
- Instance třídy
Direction8
definující aktuálně nastavený směr
-
setDirection
Otočí instanci do zadaného směru. Směr trojúhelníku je definován jako směr, do nějž je natočen jeho hlavní vrchol.- Specified by:
setDirection
in interfaceIDirectable
- Parameters:
direction
- Nastavovaný směr
-
setPosition
public void setPosition(int x, int y)Přemístí instanci na zadanou pozici. Pozice instance je přitom definována jako pozice levého horního rohu opsaného obdélníku.- Specified by:
setPosition
in interfaceIMovable
- Overrides:
setPosition
in classAMovable
- Parameters:
x
- Nově nastavovaná vodorovná (x-ová) souřadnice instance, x=0 má levý okraj plátna, souřadnice roste dopravay
- Nově nastavovaná svislá (y-ová) souřadnice instance, y=0 má horní okraj plátna, souřadnice roste dolů
-
setSize
public void setSize(int width, int height)Nastaví nové rozměry instance. Rozměry instance jsou přitom definovány jako rozměry opsaného obdélníku. Nastavované rozměry musí být nezáporné, místo nulového rozměru se nastaví rozměr rovný jedné.- Specified by:
setSize
in interfaceIResizable
- Overrides:
setSize
in classAChangeable
- Parameters:
width
- Nově nastavovaná šířka; šířka >= 0height
- Nově nastavovaná výška; výška >= 0
-
copy
Vrátí kopii dané instance, tj. stejně velkou, umístěnou a natočenou instanci stejné barvy. -
paint
Prostřednictvím dodaného kreslítka vykreslí obraz své instance.- Specified by:
paint
in interfaceICMPaintable
- Parameters:
painter
- Kreslítko schopné kreslit na plátno ovládané správcem
-
forToString
protected java.lang.String forToString()Vrací charakteristiky dané instance do jejího podpisu.- Overrides:
forToString
in classAChangeable
- Returns:
- String s charakteristikami dané instance
-