opale.m2d.ker
Class CoordSystem

java.lang.Object
  |
  +--opale.m2d.ker.CoordSystem
Direct Known Subclasses:
LinLinCS

public abstract class CoordSystem
extends java.lang.Object

Classe abstraite qui modélisent un système de coordonnées quelconque. Il faut étendre cette classe en une classe instanciable pour créer un système de coordonnées comme un système de coordonnées cartésien, polaire, Log-Log...

Since:
Opale-2d 0.1
Author:
O.C.

Field Summary
protected  int borderX
           
protected  int borderY
           
protected  int height
           
protected  OIJ oij
           
protected  int width
           
protected  double xmax
           
protected  double xmin
           
protected  double ymax
           
protected  double ymin
           
 
Constructor Summary
CoordSystem()
           
 
Method Summary
abstract  void autoadjust()
          Cette méthode ajuste automatiquement le repère en fonction des dimensions 'ecrans' et des bornes du repère utilisateur.
 int getHeight()
          Renvoie la hauteur de la feuille.
 OIJ getOIJ()
          Renvoie le repère OIJ.
 int getWidth()
          Renvoie la largeur de la feuille.
 int getXinf()
          Renvoie l'abscisse du coin supérieur gauche de la feuille.
 double getXmax()
          renvoie la valeur actuelle de xmax
 double getXmin()
          renvoie la valeur actuelle de xmin
 int getYinf()
          Renvoie l'ordonnée du coin supérieur gauche de la feuille.
 double getYmax()
          renvoie la valeur actuelle de ymax
 double getYmin()
          renvoie la valeur actuelle de ymin
abstract  void normadjust()
          Cette méthode ajuste le repère en fonction des dimensions 'ecrans' et des bornes du repère utilisateur afin de conserver les normes.
abstract  double normSq(double x, double y)
          Renvoie le carrée de la norme du vecteur(x,y) dans le systeme en question.
 int set(double xmin, double xmax, double ymin, double ymax)
          change les bornes d'affichage
 void setOIJ(OIJ oij)
          fixe le repère OIJ
 void setSize(int x, int y, int width, int height)
          fixe les dimensions de la feuille de dessin
 int setXmax(double xmax)
          change xmax
 int setXmin(double xmin)
          change xmin
 int setYmax(double ymax)
          change ymax
 int setYmin(double ymin)
          change ymin
 boolean test(double x, double y)
          teste si un point (x,y) appartient à la zone (xmin,xmax,ymin,ymax)
abstract  int X(double x, double y)
          Cette méthode renvoie l'abscisse réelle dans la feuille à partir des coordonnées au repère utilisateur.
abstract  double xfromXY(int X, int Y)
          Renvoie la première coordonnée utilisateur à partir de l'abscisse réelle
abstract  int Y(double x, double y)
          Cette méthode renvoie l'ordonnée réelle dans la feuille à partir des coordonnées au repère utilisateur.
abstract  double yfromXY(int X, int Y)
          Renvoie la deuxième coordonnée utilisateur à partir de l'abscisse réelle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

xmin

protected double xmin

ymin

protected double ymin

xmax

protected double xmax

ymax

protected double ymax

width

protected int width

height

protected int height

borderX

protected int borderX

borderY

protected int borderY

oij

protected OIJ oij
Constructor Detail

CoordSystem

public CoordSystem()
Method Detail

setOIJ

public void setOIJ(OIJ oij)
fixe le repère OIJ
Parameters:
OIJ, - le repère.

getOIJ

public OIJ getOIJ()
Renvoie le repère OIJ. return OIJ le repère.

autoadjust

public abstract void autoadjust()
Cette méthode ajuste automatiquement le repère en fonction des dimensions 'ecrans' et des bornes du repère utilisateur.

normadjust

public abstract void normadjust()
Cette méthode ajuste le repère en fonction des dimensions 'ecrans' et des bornes du repère utilisateur afin de conserver les normes.

X

public abstract int X(double x,
                      double y)
Cette méthode renvoie l'abscisse réelle dans la feuille à partir des coordonnées au repère utilisateur.
Parameters:
double - x, double y les coordonnées utilsateurs( ATTENTION: pas forcément coordonnées cartsiennes mais dépend de l'implementation du système de coordonnées)
Returns:
int, la coordonnée réelle sur l'ecran

Y

public abstract int Y(double x,
                      double y)
Cette méthode renvoie l'ordonnée réelle dans la feuille à partir des coordonnées au repère utilisateur.
Parameters:
double - x, double y les coordonnées utilsateurs( ATTENTION: pas forcément coordonnées cartsiennes mais dépend de l'implementation du système de coordonnées)
Returns:
int, la coordonnée réelle sur l'ecran

xfromXY

public abstract double xfromXY(int X,
                               int Y)
Renvoie la première coordonnée utilisateur à partir de l'abscisse réelle
Parameters:
int - X, int Y, coordonnées réelles
Returns:
double, première coodrdonnée utilisateur

yfromXY

public abstract double yfromXY(int X,
                               int Y)
Renvoie la deuxième coordonnée utilisateur à partir de l'abscisse réelle
Parameters:
int - X, int Y, coordonnées réelles
Returns:
double, deuxième coodrdonnée utilisateur

normSq

public abstract double normSq(double x,
                              double y)
Renvoie le carrée de la norme du vecteur(x,y) dans le systeme en question.
Parameters:
double - x, double y, les coordonnées du vecteur.
Returns:
double, la norme du vecteur.

setXmin

public final int setXmin(double xmin)
change xmin
Parameters:
double - xmin, la nouvelle valeur
Returns:
0 si tout va bien, -1 sinon

setYmin

public final int setYmin(double ymin)
change ymin
Parameters:
double - ymin, la nouvelle valeur
Returns:
0 si tout va bien, -1 sinon

setXmax

public final int setXmax(double xmax)
change xmax
Parameters:
double - xmax, la nouvelle valeur
Returns:
0 si tout va bien, -1 sinon

setYmax

public final int setYmax(double ymax)
change ymax
Parameters:
double - ymax, la nouvelle valeur
Returns:
0 si tout va bien, -1 sinon

set

public final int set(double xmin,
                     double xmax,
                     double ymin,
                     double ymax)
change les bornes d'affichage
Parameters:
double - xmin, xmax, ymin, ymax les nouvelles bornes
Returns:
0 si tout va bien, -1 sinon
Since:
Opale-2d 0.11

getXmin

public final double getXmin()
renvoie la valeur actuelle de xmin
Returns:
double xmin

getYmin

public final double getYmin()
renvoie la valeur actuelle de ymin
Returns:
double ymin

getXmax

public final double getXmax()
renvoie la valeur actuelle de xmax
Returns:
double xmax

getYmax

public final double getYmax()
renvoie la valeur actuelle de ymax
Returns:
double ymax

setSize

public final void setSize(int x,
                          int y,
                          int width,
                          int height)
fixe les dimensions de la feuille de dessin
Parameters:
int - x, int y, les coordonnées supérieures gauches.
int - width, int height, la largeur et la hauteur.

getWidth

public int getWidth()
Renvoie la largeur de la feuille.
Returns:
int w, la largeur.

getHeight

public int getHeight()
Renvoie la hauteur de la feuille.
Returns:
int h, la hauteur.

getXinf

public int getXinf()
Renvoie l'abscisse du coin supérieur gauche de la feuille.
Returns:
int, l'abscisse.

getYinf

public int getYinf()
Renvoie l'ordonnée du coin supérieur gauche de la feuille.
Returns:
int, l'ordonnée.

test

public boolean test(double x,
                    double y)
teste si un point (x,y) appartient à la zone (xmin,xmax,ymin,ymax)
Parameters:
double - x,y, les coordonnées du point à tester
Returns:
boolean, true si le point appartient, false sinon