/** * 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); } }