/**
* La classe CoordonneesHomogenes3D
permet l'instanciation d'objets
* de type coordonnees homogenes en trois dimensions a composantes de type double.
*
* @author Nicolas Janey
* @author nicolas.janey@univ-fcomte.fr
* @version 1.0, 12/11/08
*/
public class CoordonneesHomogenes3D {
/**
* Tableau de stockage des 4 coordonnees x, y, z et t de type double
* d'une CoordonneesHomogenes3D
.
*/
protected double [] c;
/**
* Constructeur pour une CoordonneesHomogenes3D
de valeurs (0.0, 0.0, 0.0, 0.0).
*
*/
public CoordonneesHomogenes3D() {
c = new double[4];
}
/**
* Constructeur pour une CoordonneesHomogenes3D
de valeur (x, y, z, t).
*
* @param x la coordonnee x affectee.
* @param y la coordonnee x affectee.
* @param z la coordonnee x affectee.
* @param t la coordonnee t affectee.
*/
public CoordonneesHomogenes3D(double x,double y,double z,double t) {
c = new double[4];
c[0] = x;
c[1] = y;
c[2] = z;
c[3] = t;
}
/**
* Constructeur pour une CoordonneesHomogenes3D
* copie qu'une autre CoordonneesHomogenes3D
.
*
* @param ch l'objet CoordonneesHomogenes3D
d'initialisation par copie.
*/
public CoordonneesHomogenes3D(CoordonneesHomogenes3D ch) {
c = new double[4];
c[0] = ch.c[0];
c[1] = ch.c[1];
c[2] = ch.c[2];
c[3] = ch.c[3];
}
/**
* Constructeur pour une CoordonneesHomogenes3D
initialisee
* avec les valeurs contenues dans un tableau de double.
*
* @param t le tableau de double.
*/
public CoordonneesHomogenes3D(double [] t) {
c = new double[4];
c[0] = t[0];
c[1] = t[1];
c[2] = t[2];
c[3] = t[3];
}
/**
* Affecte la CoordonneesHomogenes3D
avec une nouvelle coordonnee x.
*
* @param x la nouvelle coordonnee x.
*/
public void setX(double x) {
c[0] = x;
}
/**
* Retourne la coordonnee x de la CoordonneesHomogenes3D
.
*
* @return la coordonnee x.
*/
public double getX() {
return(c[0]);
}
/**
* Affecte la CoordonneesHomogenes3D
avec une nouvelle coordonnee y.
*
* @param y la nouvelle coordonnee y.
*/
public void setY(double y) {
c[1] = y;
}
/**
* Retourne la coordonnee y de la CoordonneesHomogenes3D
.
*
* @return la coordonnee y.
*/
public double getY() {
return(c[1]);
}
/**
* Affecte la CoordonneesHomogenes3D
avec une nouvelle coordonnee z.
*
* @param z la nouvelle coordonnee z.
*/
public void setZ(double z) {
c[2] = z;
}
/**
* Retourne la coordonnee z de la CoordonneesHomogenes3D
.
*
* @return la coordonnee z.
*/
public double getZ() {
return(c[2]);
}
/**
* Affecte la CoordonneesHomogenes3D
avec une nouvelle coordonnee t.
*
* @param t la nouvelle coordonnee t.
*/
public void setT(double t) {
c[3] = t;
}
/**
* Retourne la coordonnee t de la CoordonneesHomogenes3D
.
*
* @return la coordonnee t.
*/
public double getT() {
return(c[3]);
}
/**
* Retourne un tableau de 4 double contenant les coordonnees
* de la CoordonneesHomogenes3D
.
*
* @return le tableau de 4 double contenant les coordonnees.
*/
public double [] getValue() {
double [] nc = new double[4];
nc[0] = c[0];
nc[1] = c[1];
nc[2] = c[2];
nc[3] = c[3];
return(nc);
}
/**
* Retourne une chaine de caracteres de description
* de la CoordonneesHomogenes3D
this.
*
* @return la chaine de caracteres de description.
*/
public String toString() {
String s = "[";
int i;
for ( i = 0 ; i < c.length-1 ; i++ )
s += (c[i]+",");
s += c[i]+"]";
return(s);
}
}