class Slang::Caixa

Esta classe serve para representar caixas no ecrã.

Public Methods

[more]bool vazia() const
Devolve true se a caixa estiver vazia, ou seja, se tiver dimensão nula.

Public

[more] Construtores

[more]explicit Caixa(Coordenada const& origem = Coordenada(), Dimensao const& dimensao = Dimensao())
Construtor da classe.
[more]explicit Caixa(Coordenada const& a, Coordenada const& b)
Construtor da classe.
[more]explicit Caixa(std::istream& entrada)
Assume-se que o canal está ligado a um ficheiro cujo conteúdo foi criado usando o método guarda().

[more] Inspectores

[more]Coordenada origem() const
Devolve a coordenada da célula no canto superior esquerdo da caixa.
[more]Coordenada destino() const
Devolve a coordenada da célula no canto inferior direito da caixa.
[more]Dimensao dimensao() const
Devolve a dimensão da caixa.

[more] Relações geométricas

[more]bool sobre(Coordenada const& c) const
Devolve true se a coordenada c estiver sobre a caixa (na borda
[more]bool sobreABorda(Coordenada const& c) const
Devolve true se a coordenada c estiver sobre a borda da caixa.

[more] Modificadores

[more]void origem(Coordenada const& origem)
Modifica a coordenada do canto superior esquerdo da caixa (mas a sua dimensão mantém-se!).
[more]void destino(Coordenada const& destino)
Modifica a coordenada do canto inferior direito da caixa (não modifica a coordenada do canto superior esquerdo, pelo que a sua dimensão altera-se!).
[more]void dimensao(Dimensao const& dimensao)
Modifica a dimensão da caixa.

[more] Operadores

[more]Caixa& operator += (Coordenada const& c)
Desloca a caixa de c, que é interpretado como um vector.
[more]Caixa& operator += (Caixa const& c)
"Soma" com uma caixa (resulta a caixa envolvente da união).
[more]Caixa& operator *= (Caixa const& c)
"Multiplica" por uma caixa (resulta a caixa de intersecção).

[more] Serializadores

[more]void carrega(std::istream& entrada)
Carrega a caixa a partir de um canal.
[more]void guarda(std::ostream& saida) const
Guarda a caixa escrevendo num canal.


Documentation

Esta classe serve para representar caixas no ecrã. Uma caixa é um conjunto de células formando um rectângulo de lados não oblíquos. Definida no módulo ecra (ficheiro de interface Slang/ecra.H).
o Construtores

oexplicit Caixa(Coordenada const& origem = Coordenada(), Dimensao const& dimensao = Dimensao())
Construtor da classe. Por omissão a caixa está vazia.
Parameters:
origem - Coordenada da célula no canto superior esquerdo da caixa.
dimensao - Dimensão da caixa.

oexplicit Caixa(Coordenada const& a, Coordenada const& b)
Construtor da classe.
Parameters:
origem - Coordenada da célula no canto superior esquerdo da caixa.
destino - Coordenada da célula no canto inferior direito da caixa.

oexplicit Caixa(std::istream& entrada)
Construtor da classe por carregamento a partir de um canal.
Throws:
ErroAoCarregar é lançada se o carregamento falhar.
Parameters:
entrada - O canal de onde se carrega a caixa.

o Inspectores

oCoordenada origem() const
Devolve a coordenada da célula no canto superior esquerdo da caixa.

oCoordenada destino() const
Devolve a coordenada da célula no canto inferior direito da caixa.

oDimensao dimensao() const
Devolve a dimensão da caixa.

obool vazia() const
Devolve true se a caixa estiver vazia, ou seja, se tiver dimensão nula.

o Relações geométricas

obool sobre(Coordenada const& c) const
Devolve true se a coordenada c estiver sobre a caixa (na borda

obool sobreABorda(Coordenada const& c) const
Devolve true se a coordenada c estiver sobre a borda da caixa.

o Modificadores

ovoid origem(Coordenada const& origem)
Modifica a coordenada do canto superior esquerdo da caixa (mas a sua dimensão mantém-se!).

ovoid destino(Coordenada const& destino)
Modifica a coordenada do canto inferior direito da caixa (não modifica a coordenada do canto superior esquerdo, pelo que a sua dimensão altera-se!).

ovoid dimensao(Dimensao const& dimensao)
Modifica a dimensão da caixa.

o Operadores

oCaixa& operator += (Coordenada const& c)
Desloca a caixa de c, que é interpretado como um vector.

oCaixa& operator += (Caixa const& c)
"Soma" com uma caixa (resulta a caixa envolvente da união).

oCaixa& operator *= (Caixa const& c)
"Multiplica" por uma caixa (resulta a caixa de intersecção).

o Serializadores

ovoid carrega(std::istream& entrada)
Carrega a caixa a partir de um canal. Assume-se que o canal está ligado a um ficheiro cujo conteúdo foi criado usando o método guarda().
Throws:
ErroAoCarregar é lançada se o carregamento falhar. Nesse caso a caixa fica num estado inválido.
Parameters:
entrada - O canal de onde se carrega a caixa.

ovoid guarda(std::ostream& saida) const
Guarda a caixa escrevendo num canal. O formato produzido é compatível com o que o método carrega() espera.
Throws:
ErroAoGuardar é lançada se a operação falhar.
Parameters:
saida - O canal de onde se guarda a caixa.


This class has no child classes.