br.uerj.petrinetanalyzer.gui.objects
Class ArcGraph

java.lang.Object
  extended by br.uerj.petrinetanalyzer.common.ArcBase
      extended by br.uerj.petrinetanalyzer.gui.objects.ArcGraph

public class ArcGraph
extends ArcBase

Esta classe é a classe para definição de Arcos (Arcs) em Redes de Petri. Com os atributos necessários para o desenho da parte gráfica.

Version:
1.0
Author:
Felipe Lino
Data: 08/01/2007
Atualização: 03/03/2007

Field Summary
static int DiSTANCIA_MAX
           
private  int extreme
           
private static int EXTREMO_LESTE
           
private static int EXTREMO_NORTE
           
private static int EXTREMO_OESTE
           
private static int EXTREMO_SUL
           
private  java.util.ArrayList listPoint
           
private  java.awt.Point selectedPoint
           
 
Constructor Summary
ArcGraph()
          Construtor default
 
Method Summary
 void addPoint(int x, int y)
          Adiciona um ponto ao arco.
 void cycleExtremePoint()
          Rotaciona o Ponto Extremo ao redor do círculo que representa o Lugar.
static java.awt.Point getAuxPoint(java.awt.Point start, java.awt.Point end, int delta)
          Retorna um Ponto a uma distância Delta do último ponto do segmento de reta fornecido.
static java.awt.Point getAuxPoint(java.awt.Point start, java.awt.Point end, int delta, int razao)
          Retorna um Ponto a uma distância Delta do último ponto do segmento de reta fornecido.
 java.awt.Point getEndPoint()
          Retorna o ponto do objeto final do arco.
 java.util.ArrayList getListPoint()
          Retorna a Lista de Pontos.
 int getNumPoints()
          Retorna o número de pontos do arco.
 java.lang.Object getObjectEnd()
          Retorna Objeto destino do arco.
 java.lang.Object getObjectStart()
          Retorna o Objeto que é origem do arco.
 java.awt.Point getPoint(int posicao)
          Retorna o Ponto na posição especificada na Lista de Pontos.
 java.awt.Point getStartPoint()
          Retorna o ponto do objeto inicial do arco.
 java.lang.String getStrExtreme()
          Retorna String informando qual o valor do Extremo.
 boolean inArc(int x, int y)
          Verifica seu o Ponto está em no arco
private  boolean inRect(java.awt.Point start, java.awt.Point end, java.awt.Point test)
          Verifica se o Ponto dado está no segmento de reta, que compõe o arco.
 void moveSelectedPoint(int x, int y)
          Move o ponto Selecionado para a posição X Y recebida como parâmetro.
 void refreshEndPoints()
          Atualiza os pontos iniciais e finais após mover um objeto.
 boolean setEndObject(java.lang.Object obj)
          Define qual o objeto é o destino do arco.
 void setStartEndObjects(java.lang.Object start, java.lang.Object end)
          Define quais os objetos são origem e destino do arco.
 boolean setStartObject(java.lang.Object obj)
          Define qual objeto é o de origem do arco.
 
Methods inherited from class br.uerj.petrinetanalyzer.common.ArcBase
getLugar, getPeso, getPosicao, getTransicao, setEntrada, setLugar, setPeso, setPosicao, setSaida, setTransicao, toString, verifyEntrada, verifySaida
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

listPoint

private java.util.ArrayList listPoint

selectedPoint

private java.awt.Point selectedPoint

DiSTANCIA_MAX

public static final int DiSTANCIA_MAX
See Also:
Constant Field Values

EXTREMO_NORTE

private static final int EXTREMO_NORTE
See Also:
Constant Field Values

EXTREMO_SUL

private static final int EXTREMO_SUL
See Also:
Constant Field Values

EXTREMO_LESTE

private static final int EXTREMO_LESTE
See Also:
Constant Field Values

EXTREMO_OESTE

private static final int EXTREMO_OESTE
See Also:
Constant Field Values

extreme

private int extreme
Constructor Detail

ArcGraph

public ArcGraph()
Construtor default

Since:
1.0
Method Detail

setStartEndObjects

public void setStartEndObjects(java.lang.Object start,
                               java.lang.Object end)
Define quais os objetos são origem e destino do arco.

Parameters:
start - Pode ser Lugar ou Transição de início
end - Pode ser Lugar ou Transição de fim
Since:
1.0

setStartObject

public boolean setStartObject(java.lang.Object obj)
Define qual objeto é o de origem do arco.

Parameters:
obj - Objeto de origem pode ser Lugar ou Transição
Since:
1.0

setEndObject

public boolean setEndObject(java.lang.Object obj)
Define qual o objeto é o destino do arco.

Parameters:
obj - Pode ser Lugar ou Transição
Returns:
Retorna true se for possível definir o objeto destino do arco.
Since:
1.0

addPoint

public void addPoint(int x,
                     int y)
Adiciona um ponto ao arco.

Parameters:
x - Coordenada X
y - Coordenada Y
Since:
1.0

getObjectStart

public java.lang.Object getObjectStart()
Retorna o Objeto que é origem do arco.

Returns:
objeto origem do arco
Since:
1.0

getObjectEnd

public java.lang.Object getObjectEnd()
Retorna Objeto destino do arco.

Returns:
objeto destino do arco
Since:
1.0

getPoint

public java.awt.Point getPoint(int posicao)
Retorna o Ponto na posição especificada na Lista de Pontos.

Parameters:
posicao -
Returns:
Ponto na posição especificada na Lista de Pontos.
Since:
1.0

getNumPoints

public int getNumPoints()
Retorna o número de pontos do arco.

Returns:
Quantidade de pontos que formam o arco.
Since:
1.0

getListPoint

public java.util.ArrayList getListPoint()
Retorna a Lista de Pontos.

Returns:
Lista de Pontos que forma o arco
Since:
1.0

inArc

public boolean inArc(int x,
                     int y)
Verifica seu o Ponto está em no arco

Parameters:
x - Coordenada X
y - Coordenada Y
Returns:
True caso o ponto dado, esteja em algum dos segmentos que formam o arco, retorna false caso contrário.
Since:
1.0

inRect

private boolean inRect(java.awt.Point start,
                       java.awt.Point end,
                       java.awt.Point test)
Verifica se o Ponto dado está no segmento de reta, que compõe o arco.

Parameters:
start - Inicio do segmento
end - Fim do segmento
test - Ponto a ser testado
Returns:
Retorna true caso o ponto dado esteja no segmento de reta.
Since:
1.0

getStartPoint

public java.awt.Point getStartPoint()
Retorna o ponto do objeto inicial do arco.

Returns:
Ponto do objeto inicial do arco.
Since:
1.0

getEndPoint

public java.awt.Point getEndPoint()
Retorna o ponto do objeto final do arco.

Returns:
Ponto do objeto final do arco.
Since:
1.0

cycleExtremePoint

public void cycleExtremePoint()
Rotaciona o Ponto Extremo ao redor do círculo que representa o Lugar.

Since:
1.0

refreshEndPoints

public void refreshEndPoints()
Atualiza os pontos iniciais e finais após mover um objeto.

Since:
1.0

moveSelectedPoint

public void moveSelectedPoint(int x,
                              int y)
Move o ponto Selecionado para a posição X Y recebida como parâmetro.

Parameters:
x - Coordenada X
y - Coordenada Y
Since:
1.0

getAuxPoint

public static java.awt.Point getAuxPoint(java.awt.Point start,
                                         java.awt.Point end,
                                         int delta)
Retorna um Ponto a uma distância Delta do último ponto do segmento de reta fornecido.

Parameters:
start - Ponto inicial do segmento de reta
end - Ponto final do segmento de reta
delta - Distância desejada
Returns:
Ponto auxiliar.
Since:
1.0

getAuxPoint

public static java.awt.Point getAuxPoint(java.awt.Point start,
                                         java.awt.Point end,
                                         int delta,
                                         int razao)
Retorna um Ponto a uma distância Delta do último ponto do segmento de reta fornecido. Usando um divisor especificado para achar o delta adequado.

Parameters:
start - Ponto inicial do segmento de reta
end - Ponto final do segmento de reta
delta - Distância desejada
Returns:
Ponto auxiliar
Since:
1.0

getStrExtreme

public java.lang.String getStrExtreme()
Retorna String informando qual o valor do Extremo. Usado para debug.

Returns:
String informando qual o valor do Extremo.
Since:
1.0